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    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);
Beispiel #3
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 #4
0
		public static extern int DMOEnum(
			[In] ref Guid guidCategory,
			DmoEnumFlags flags,
			int inTypes,
			[In] DmoPartialMediaType[] inTypesArray,
			int outTypes,
			[In] DmoPartialMediaType[] outTypesArray,
			out IEnumDmo enumDmo);
Beispiel #5
0
 public static extern int DMOEnum(
         ref Guid guidCategory,
         DmoEnumFlags flags,
         int numberOfInputTypes,
         [In] DmoPartialMediaType[] inputTypes,
         int numberOfOutputTypes,
         [In] DmoPartialMediaType[] outputTypes,
         out IntPtr dmoEnum
     );
Beispiel #6
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 #7
0
 internal static extern int DMOEnum
 (
     ref Guid guidCategory,
     DmoEnumFlags flags,
     int numberOfInputTypes,
     [In] DmoPartialMediaType[] inputTypes,
     int numberOfOutputTypes,
     [In] DmoPartialMediaType[] outputTypes,
     out IntPtr dmoEnum
 );
Beispiel #8
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];
         }
     }
 }
Beispiel #9
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]);
         }
     }
 }
Beispiel #10
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);
        }