public static extern HResult MFTEnumEx( [In] Guid MFTransformCategory, MFT_EnumFlag Flags, [In, MarshalAs(UnmanagedType.LPStruct)] MFTRegisterTypeInfo pInputType, [In, MarshalAs(UnmanagedType.LPStruct)] MFTRegisterTypeInfo pOutputType, [Out, MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.IUnknown, SizeParamIndex = 5)] out IMFActivate[] pppMFTActivate, out int pnumMFTActivate );
public static extern void MFTEnum( [In, MarshalAs(UnmanagedType.Struct)] Guid guidCategory, [In] int Flags, // Must be zero [In, MarshalAs(UnmanagedType.LPStruct)] MFTRegisterTypeInfo pInputType, [In, MarshalAs(UnmanagedType.LPStruct)] MFTRegisterTypeInfo pOutputType, [In] IMFAttributes pAttributes, [In, Out, MarshalAs(UnmanagedType.CustomMarshaler, MarshalCookie = "0", MarshalTypeRef = typeof(GAMarshaler))] ArrayList ppclsidMFT, [In, Out, MarshalAs(UnmanagedType.CustomMarshaler, MarshalCookie = "0", MarshalTypeRef = typeof(GAMarshaler))] MFInt pcMFTs );