/// <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); }
/// <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); }