/// <summary> /// Enumerates DMOs listed in the registry. The caller can search by category, media type, or both. /// </summary> /// <param name="category"> /// GUID that specifies which category of DMO to search. Use Guid.Empty to search every category. /// See <see cref="DmoEnumeratorCategories" /> for a list of category guids. /// </param> /// <param name="flags">Flags that specify search criteria.</param> /// <param name="inputTypes">Array of input-Mediatypes.</param> /// <param name="outputTypes">Array of output-Mediatypes.</param> /// <returns>EnumDMO</returns> public static EnumDmo EnumerateDMOs(Guid category, DmoEnumFlags flags, DmoPartialMediaType[] inputTypes, DmoPartialMediaType[] outputTypes) { IntPtr ptr; int numberOfInputTypes = 0; int numberOfOutputTypes = 0; if (inputTypes != null) { numberOfInputTypes = inputTypes.Length; } if (outputTypes != null) { numberOfOutputTypes = outputTypes.Length; } int result = NativeMethods.DMOEnum( ref category, flags, numberOfInputTypes, inputTypes, numberOfOutputTypes, outputTypes, out ptr); DmoException.Try(result, "Interops", "DMOEnum"); return(new EnumDmo(ptr)); }
public static extern int DMOEnum( [In] ref Guid guidCategory, DmoEnumFlags flags, int inTypes, [In] DmoPartialMediaType[] inTypesArray, int outTypes, [In] DmoPartialMediaType[] outTypesArray, out IEnumDmo enumDmo);
/// <summary> /// Enumerates DMOs listed in the registry. The caller can search by category, media type, or both. /// </summary> /// <param name="category">GUID that specifies which category of DMO to search. Use Guid.Empty to search every category. See <see cref="DmoEnumeratorCategories"/> for a list of category guids.</param> /// <param name="flags">Flags that specify search criteria.</param> /// <param name="inputTypes">Array of input-Mediatypes.</param> /// <param name="outputTypes">Array of output-Mediatypes.</param> /// <returns>EnumDMO</returns> public static EnumDMO EnumerateDMOs(Guid category, DmoEnumFlags flags, DmoPartialMediaType[] inputTypes, DmoPartialMediaType[] outputTypes) { IntPtr ptr; int result = DmoInterop.DMOEnum(ref category, flags, inputTypes != null ? inputTypes.Length : 0, inputTypes, outputTypes != null ? inputTypes.Length : 0, outputTypes, out ptr); DmoException.Try(result, "Interops", "DMOEnum"); return new EnumDMO(ptr); }
public static extern int DMOEnum( [In] ref Guid guidCategory, DmoEnumFlags flags, int inTypes, [In] DmoPartialMediaType[] inTypesArray, int outTypes, [In] DmoPartialMediaType[] outTypesArray, out IEnumDmo enumDmo);
public static extern int DMOEnum( ref Guid guidCategory, DmoEnumFlags flags, int numberOfInputTypes, [In] DmoPartialMediaType[] inputTypes, int numberOfOutputTypes, [In] DmoPartialMediaType[] outputTypes, out IntPtr dmoEnum );
/// <summary> /// Enumerates DMOs listed in the registry. The caller can search by category, media type, or both. /// </summary> /// <param name="category">GUID that specifies which category of DMO to search. Use Guid.Empty to search every category. See <see cref="DmoEnumeratorCategories"/> for a list of category guids.</param> /// <param name="flags">Flags that specify search criteria.</param> /// <param name="inputTypes">Array of input-Mediatypes.</param> /// <param name="outputTypes">Array of output-Mediatypes.</param> /// <returns>EnumDMO</returns> public static EnumDMO EnumerateDMOs(Guid category, DmoEnumFlags flags, DmoPartialMediaType[] inputTypes, DmoPartialMediaType[] outputTypes) { IntPtr ptr; int result = DmoInterop.DMOEnum(ref category, flags, inputTypes != null ? inputTypes.Length : 0, inputTypes, outputTypes != null ? inputTypes.Length : 0, outputTypes, out ptr); DmoException.Try(result, "Interops", "DMOEnum"); return(new EnumDMO(ptr)); }
internal static extern int DMOEnum ( ref Guid guidCategory, DmoEnumFlags flags, int numberOfInputTypes, [In] DmoPartialMediaType[] inputTypes, int numberOfOutputTypes, [In] DmoPartialMediaType[] outputTypes, out IntPtr dmoEnum );
/// <summary> /// Enumerates DMOs listed in the registry. /// </summary> /// <param name="category"> /// GUID that specifies which category of DMO to search. Use Guid.Empty to search every category. /// See <see cref="DmoEnumeratorCategories" /> for a list of category guids. /// </param> /// <param name="flags">Flags that specify search criteria.</param> /// <returns>An <see cref="IEnumerable{T}"/> that can be used to iterate through the enumerated DMOs.</returns> public static IEnumerable<DmoEnumItem> EnumerateDMOs(Guid category, DmoEnumFlags flags) { using (EnumDmo enumerator = EnumerateDMOs(category, flags, null, null)) { DmoEnumItem[] item; while ((item = enumerator.Next(1)).Length > 0) { yield return item[0]; } } }
/// <summary> /// Enumerates DMOs listed in the registry. /// </summary> /// <param name="category"> /// GUID that specifies which category of DMO to search. Use Guid.Empty to search every category. /// See <see cref="DmoEnumeratorCategories" /> for a list of category guids. /// </param> /// <param name="flags">Flags that specify search criteria.</param> /// <returns>An <see cref="IEnumerable{T}"/> that can be used to iterate through the enumerated DMOs.</returns> public static IEnumerable <DmoEnumItem> EnumerateDMOs(Guid category, DmoEnumFlags flags) { using (EnumDmo enumerator = EnumerateDMOs(category, flags, null, null)) { DmoEnumItem[] item; while ((item = enumerator.Next(1)).Length > 0) { yield return(item[0]); } } }
/// <summary> /// Enumerates DMOs listed in the registry. The caller can search by category, media type, or both. /// </summary> /// <param name="category"> /// GUID that specifies which category of DMO to search. Use Guid.Empty to search every category. /// See <see cref="DmoEnumeratorCategories" /> for a list of category guids. /// </param> /// <param name="flags">Flags that specify search criteria.</param> /// <param name="inputTypes">Array of input-Mediatypes.</param> /// <param name="outputTypes">Array of output-Mediatypes.</param> /// <returns>EnumDMO</returns> public static EnumDmo EnumerateDMOs(Guid category, DmoEnumFlags flags, DmoPartialMediaType[] inputTypes, DmoPartialMediaType[] outputTypes) { IntPtr ptr; int numberOfInputTypes = 0; int numberOfOutputTypes = 0; if (inputTypes != null) numberOfInputTypes = inputTypes.Length; if (outputTypes != null) numberOfOutputTypes = outputTypes.Length; int result = NativeMethods.DMOEnum( ref category, flags, numberOfInputTypes, inputTypes, numberOfOutputTypes, outputTypes, out ptr); DmoException.Try(result, "Interops", "DMOEnum"); return new EnumDmo(ptr); }