Beispiel #1
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 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);
        }
Beispiel #2
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);
        }