1 /*** Autogenerated by WIDL 1.6 from include/wmcontainer.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __wmcontainer_h__ 16 #define __wmcontainer_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IMFASFContentInfo_FWD_DEFINED__ 21 #define __IMFASFContentInfo_FWD_DEFINED__ 22 typedef interface IMFASFContentInfo IMFASFContentInfo; 23 #endif 24 25 #ifndef __IMFASFMutualExclusion_FWD_DEFINED__ 26 #define __IMFASFMutualExclusion_FWD_DEFINED__ 27 typedef interface IMFASFMutualExclusion IMFASFMutualExclusion; 28 #endif 29 30 #ifndef __IMFASFStreamPrioritization_FWD_DEFINED__ 31 #define __IMFASFStreamPrioritization_FWD_DEFINED__ 32 typedef interface IMFASFStreamPrioritization IMFASFStreamPrioritization; 33 #endif 34 35 #ifndef __IMFASFSplitter_FWD_DEFINED__ 36 #define __IMFASFSplitter_FWD_DEFINED__ 37 typedef interface IMFASFSplitter IMFASFSplitter; 38 #endif 39 40 #ifndef __IMFASFMultiplexer_FWD_DEFINED__ 41 #define __IMFASFMultiplexer_FWD_DEFINED__ 42 typedef interface IMFASFMultiplexer IMFASFMultiplexer; 43 #endif 44 45 #ifndef __IMFASFIndexer_FWD_DEFINED__ 46 #define __IMFASFIndexer_FWD_DEFINED__ 47 typedef interface IMFASFIndexer IMFASFIndexer; 48 #endif 49 50 #ifndef __IMFASFStreamSelector_FWD_DEFINED__ 51 #define __IMFASFStreamSelector_FWD_DEFINED__ 52 typedef interface IMFASFStreamSelector IMFASFStreamSelector; 53 #endif 54 55 #ifndef __IMFDRMNetHelper_FWD_DEFINED__ 56 #define __IMFDRMNetHelper_FWD_DEFINED__ 57 typedef interface IMFDRMNetHelper IMFDRMNetHelper; 58 #endif 59 60 #ifndef __IMFASFProfile_FWD_DEFINED__ 61 #define __IMFASFProfile_FWD_DEFINED__ 62 typedef interface IMFASFProfile IMFASFProfile; 63 #endif 64 65 #ifndef __IMFASFStreamConfig_FWD_DEFINED__ 66 #define __IMFASFStreamConfig_FWD_DEFINED__ 67 typedef interface IMFASFStreamConfig IMFASFStreamConfig; 68 #endif 69 70 /* Headers for imported files */ 71 72 #include <mfidl.h> 73 74 #ifdef __cplusplus 75 extern "C" { 76 #endif 77 78 #include <winapifamily.h> 79 80 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 81 82 EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_FILE_ID, 0x3de649b4, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); 83 EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_CREATION_TIME, 0x3de649b6, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); 84 EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_FLAGS, 0x3de649bb, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); 85 EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_MAX_PACKET_SIZE, 0x3de649bd, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); 86 EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_MAX_BITRATE, 0x3de649be, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); 87 EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_MIN_PACKET_SIZE, 0x3de649bc, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); 88 EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_PACKETS, 0x3de649b7, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); 89 EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_PLAY_DURATION, 0x3de649b8, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); 90 EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_PREROLL, 0x3de649ba, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); 91 EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_SEND_DURATION, 0x3de649b9, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); 92 EXTERN_GUID(CLSID_WMDRMSystemID, 0x8948BB22, 0x11BD, 0x4796, 0x93, 0xE3, 0x97, 0x4D, 0x1B, 0x57, 0x56, 0x78); 93 EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_KEYID, 0x8520fe3e, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe); 94 EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL, 0x8520fe40, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe); 95 EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_SECRET_DATA, 0x8520fe3f, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe); 96 EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_TYPE, 0x8520fe3d, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe); 97 EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTIONEX_ENCRYPTION_DATA, 0x62508be5, 0xecdf, 0x4924, 0xa3, 0x59, 0x72, 0xba, 0xb3, 0x39, 0x7b, 0x9d); 98 EXTERN_GUID(MF_PD_ASF_LANGLIST, 0xf23de43c, 0x9977, 0x460d, 0xa6, 0xec, 0x32, 0x93, 0x7f, 0x16, 0xf, 0x7d); 99 EXTERN_GUID(MF_PD_ASF_MARKER, 0x5134330e, 0x83a6, 0x475e, 0xa9, 0xd5, 0x4f, 0xb8, 0x75, 0xfb, 0x2e, 0x31); 100 EXTERN_GUID(MF_PD_ASF_SCRIPT, 0xe29cd0d7, 0xd602, 0x4923, 0xa7, 0xfe, 0x73, 0xfd, 0x97, 0xec, 0xc6, 0x50); 101 EXTERN_GUID(MF_PD_ASF_CODECLIST, 0xe4bb3509, 0xc18d, 0x4df1, 0xbb, 0x99, 0x7a, 0x36, 0xb3, 0xcc, 0x41, 0x19); 102 EXTERN_GUID(MF_PD_ASF_METADATA_IS_VBR, 0x5fc6947a, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1); 103 EXTERN_GUID(MF_PD_ASF_METADATA_V8_VBRPEAK, 0x5fc6947b, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1); 104 EXTERN_GUID(MF_PD_ASF_METADATA_V8_BUFFERAVERAGE, 0x5fc6947c, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1); 105 EXTERN_GUID(MF_PD_ASF_METADATA_LEAKY_BUCKET_PAIRS, 0x5fc6947d, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1); 106 EXTERN_GUID(MF_PD_ASF_DATA_START_OFFSET, 0xe7d5b3e7, 0x1f29, 0x45d3, 0x88, 0x22, 0x3e, 0x78, 0xfa, 0xe2, 0x72, 0xed); 107 EXTERN_GUID(MF_PD_ASF_DATA_LENGTH, 0xe7d5b3e8, 0x1f29, 0x45d3, 0x88, 0x22, 0x3e, 0x78, 0xfa, 0xe2, 0x72, 0xed); 108 EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_LANGUAGE_ID_INDEX, 0x48f8a522, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80); 109 EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_AVG_DATA_BITRATE, 0x48f8a523, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80); 110 EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_AVG_BUFFERSIZE, 0x48f8a524, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80); 111 EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_MAX_DATA_BITRATE, 0x48f8a525, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80); 112 EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_MAX_BUFFERSIZE, 0x48f8a526, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80); 113 EXTERN_GUID(MF_SD_ASF_STREAMBITRATES_BITRATE, 0xa8e182ed, 0xafc8, 0x43d0, 0xb0, 0xd1, 0xf6, 0x5b, 0xad, 0x9d, 0xa5, 0x58); 114 EXTERN_GUID(MF_SD_ASF_METADATA_DEVICE_CONFORMANCE_TEMPLATE, 0x245e929d, 0xc44e, 0x4f7e, 0xbb, 0x3c, 0x77, 0xd4, 0xdf, 0xd2, 0x7f, 0x8a); 115 EXTERN_GUID(MF_PD_ASF_INFO_HAS_AUDIO, 0x80e62295, 0x2296, 0x4a44, 0xb3, 0x1c, 0xd1, 0x3, 0xc6, 0xfe, 0xd2, 0x3c); 116 EXTERN_GUID(MF_PD_ASF_INFO_HAS_VIDEO, 0x80e62296, 0x2296, 0x4a44, 0xb3, 0x1c, 0xd1, 0x3, 0xc6, 0xfe, 0xd2, 0x3c); 117 EXTERN_GUID(MF_PD_ASF_INFO_HAS_NON_AUDIO_VIDEO, 0x80e62297, 0x2296, 0x4a44, 0xb3, 0x1c, 0xd1, 0x3, 0xc6, 0xfe, 0xd2, 0x3c); 118 #if WINVER >= 0x0601 119 EXTERN_GUID(MFASFINDEXER_TYPE_TIMECODE, 0x49815231, 0x6bad, 0x44fd, 0x81, 0xa, 0x3f, 0x60, 0x98, 0x4e, 0xc7, 0xfd); 120 EXTERN_GUID(MF_PD_ASF_LANGLIST_LEGACYORDER, 0xf23de43d, 0x9977, 0x460d, 0xa6, 0xec, 0x32, 0x93, 0x7f, 0x16, 0xf, 0x7d); 121 #endif 122 123 EXTERN_GUID(MFASFMutexType_Bitrate, 0x72178C2C, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); 124 EXTERN_GUID(MFASFMutexType_Language, 0x72178C2B, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); 125 EXTERN_GUID(MFASFMutexType_Presentation, 0x72178C2D, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); 126 EXTERN_GUID(MFASFMutexType_Unknown, 0x72178C2E, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); 127 EXTERN_GUID(MFASFSampleExtension_ContentType, 0xd590dc20, 0x07bc, 0x436c, 0x9c, 0xf7, 0xf3, 0xbb, 0xfb, 0xf1, 0xa4, 0xdc); 128 EXTERN_GUID(MFASFSampleExtension_Encryption_SampleID, 0x6698B84E, 0x0AFA, 0x4330, 0xAE, 0xB2, 0x1C, 0x0A, 0x98, 0xD7, 0xA4, 0x4D); 129 EXTERN_GUID(MFASFSampleExtension_Encryption_KeyID, 0x76376591, 0x795f, 0x4da1, 0x86, 0xed, 0x9d, 0x46, 0xec, 0xa1, 0x09, 0xa9); 130 EXTERN_GUID(MFASFSampleExtension_FileName, 0xe165ec0e, 0x19ed, 0x45d7, 0xb4, 0xa7, 0x25, 0xcb, 0xd1, 0xe2, 0x8e, 0x9b); 131 EXTERN_GUID(MFASFSampleExtension_OutputCleanPoint, 0xf72a3c6f, 0x6eb4, 0x4ebc, 0xb1, 0x92, 0x9, 0xad, 0x97, 0x59, 0xe8, 0x28); 132 EXTERN_GUID(MFASFSampleExtension_PixelAspectRatio, 0x1b1ee554, 0xf9ea, 0x4bc8, 0x82, 0x1a, 0x37, 0x6b, 0x74, 0xe4, 0xc4, 0xb8); 133 EXTERN_GUID(MFASFSampleExtension_SampleDuration, 0xc6bd9450, 0x867f, 0x4907, 0x83, 0xa3, 0xc7, 0x79, 0x21, 0xb7, 0x33, 0xad); 134 EXTERN_GUID(MFASFSampleExtension_SMPTE, 0x399595ec, 0x8667, 0x4e2d, 0x8f, 0xdb, 0x98, 0x81, 0x4c, 0xe7, 0x6c, 0x1e); 135 EXTERN_GUID(MFASFSPLITTER_PACKET_BOUNDARY, 0xfe584a05, 0xe8d6, 0x42e3, 0xb1, 0x76, 0xf1, 0x21, 0x17, 0x5, 0xfb, 0x6f); 136 EXTERN_GUID(MF_ASFPROFILE_MINPACKETSIZE, 0x22587626, 0x47de, 0x4168, 0x87, 0xf5, 0xb5, 0xaa, 0x9b, 0x12, 0xa8, 0xf0); 137 EXTERN_GUID(MF_ASFPROFILE_MAXPACKETSIZE, 0x22587627, 0x47de, 0x4168, 0x87, 0xf5, 0xb5, 0xaa, 0x9b, 0x12, 0xa8, 0xf0); 138 EXTERN_GUID(MF_ASFSTREAMCONFIG_LEAKYBUCKET1, 0xc69b5901, 0xea1a, 0x4c9b, 0xb6, 0x92, 0xe2, 0xa0, 0xd2, 0x9a, 0x8a, 0xdd); 139 EXTERN_GUID(MF_ASFSTREAMCONFIG_LEAKYBUCKET2, 0xc69b5902, 0xea1a, 0x4c9b, 0xb6, 0x92, 0xe2, 0xa0, 0xd2, 0x9a, 0x8a, 0xdd); 140 #ifndef __IMFASFProfile_FWD_DEFINED__ 141 #define __IMFASFProfile_FWD_DEFINED__ 142 typedef interface IMFASFProfile IMFASFProfile; 143 #endif 144 145 #ifndef __IMFASFStreamConfig_FWD_DEFINED__ 146 #define __IMFASFStreamConfig_FWD_DEFINED__ 147 typedef interface IMFASFStreamConfig IMFASFStreamConfig; 148 #endif 149 150 #ifndef __IMFASFMutualExclusion_FWD_DEFINED__ 151 #define __IMFASFMutualExclusion_FWD_DEFINED__ 152 typedef interface IMFASFMutualExclusion IMFASFMutualExclusion; 153 #endif 154 155 #ifndef __IMFASFStreamPrioritization_FWD_DEFINED__ 156 #define __IMFASFStreamPrioritization_FWD_DEFINED__ 157 typedef interface IMFASFStreamPrioritization IMFASFStreamPrioritization; 158 #endif 159 160 #define MFASFINDEXER_PER_ENTRY_BYTES_DYNAMIC 0xffff 161 #define MFASFINDEXER_NO_FIXED_INTERVAL 0xffffffff 162 #define MFASFINDEXER_READ_FOR_REVERSEPLAYBACK_OUTOFDATASEGMENT 0xffffffffffffffffll 163 #define MFASFINDEXER_APPROX_SEEK_TIME_UNKNOWN 0xffffffffffffffffll 164 165 #define MFASF_MIN_HEADER_BYTES (sizeof (GUID) + sizeof (QWORD)) 166 167 #define MFASF_MAX_STREAM_NUMBER 127 168 #define MFASF_INVALID_STREAM_NUMBER (MFASF_MAX_STREAM_NUMBER + 1) 169 #define MFASF_PAYLOADEXTENSION_MAX_SIZE 0xff 170 #define MFASF_PAYLOADEXTENSION_VARIABLE_SIZE 0xffff 171 #define MFASF_DEFAULT_BUFFER_WINDOW_MS 3000 172 173 typedef enum MFASF_SPLITTERFLAGS { 174 MFASF_SPLITTER_REVERSE = 0x1, 175 MFASF_SPLITTER_WMDRM = 0x2 176 } MFASF_SPLITTERFLAGS; 177 typedef enum ASF_STATUSFLAGS { 178 ASF_STATUSFLAGS_INCOMPLETE = 0x1 179 } ASF_STATUSFLAGS; 180 typedef enum MFASF_MULTIPLEXERFLAGS { 181 MFASF_MULTIPLEXER_AUTOADJUST_BITRATE = 0x1 182 } MFASF_MULTIPLEXERFLAGS; 183 typedef enum MFASF_INDEXERFLAGS { 184 MFASF_INDEXER_WRITE_NEW_INDEX = 0x1, 185 MFASF_INDEXER_READ_FOR_REVERSEPLAYBACK = 0x2, 186 MFASF_INDEXER_WRITE_FOR_LIVEREAD = 0x4 187 } MFASF_INDEXER_FLAGS; 188 typedef enum MFASF_STREAMSELECTORFLAGS { 189 MFASF_STREAMSELECTOR_DISABLE_THINNING = 0x1, 190 MFASF_STREAMSELECTOR_USE_AVERAGE_BITRATE = 0x2 191 } MFASF_STREAMSELECTOR_FLAGS; 192 typedef enum ASF_SELECTION_STATUS { 193 ASF_STATUS_NOTSELECTED = 0, 194 ASF_STATUS_CLEANPOINTSONLY = 1, 195 ASF_STATUS_ALLDATAUNITS = 2 196 } ASF_SELECTION_STATUS; 197 typedef enum _MFSINK_WMDRMACTION { 198 MFSINK_WMDRMACTION_UNDEFINED = 0, 199 MFSINK_WMDRMACTION_ENCODE = 1, 200 MFSINK_WMDRMACTION_TRANSCODE = 2, 201 MFSINK_WMDRMACTION_TRANSCRYPT = 3, 202 MFSINK_WMDRMACTION_LAST = 3 203 } MFSINK_WMDRMACTION; 204 205 typedef struct ASF_MUX_STATISTICS { 206 DWORD cFramesWritten; 207 DWORD cFramesDropped; 208 } ASF_MUX_STATISTICS; 209 typedef struct _ASF_INDEX_IDENTIFIER { 210 GUID guidIndexType; 211 WORD wStreamNumber; 212 } ASF_INDEX_IDENTIFIER; 213 typedef struct _ASF_INDEX_DESCRIPTOR { 214 ASF_INDEX_IDENTIFIER Identifier; 215 WORD cPerEntryBytes; 216 WCHAR szDescription[32]; 217 DWORD dwInterval; 218 } ASF_INDEX_DESCRIPTOR; 219 220 /***************************************************************************** 221 * IMFASFContentInfo interface 222 */ 223 #ifndef __IMFASFContentInfo_INTERFACE_DEFINED__ 224 #define __IMFASFContentInfo_INTERFACE_DEFINED__ 225 226 DEFINE_GUID(IID_IMFASFContentInfo, 0xb1dca5cd, 0xd5da, 0x4451, 0x8e,0x9e, 0xdb,0x5c,0x59,0x91,0x4e,0xad); 227 #if defined(__cplusplus) && !defined(CINTERFACE) 228 MIDL_INTERFACE("b1dca5cd-d5da-4451-8e9e-db5c59914ead") 229 IMFASFContentInfo : public IUnknown 230 { 231 virtual HRESULT STDMETHODCALLTYPE GetHeaderSize( 232 IMFMediaBuffer *pIStartOfContent, 233 QWORD *cbHeaderSize) = 0; 234 235 virtual HRESULT STDMETHODCALLTYPE ParseHeader( 236 IMFMediaBuffer *pIHeaderBuffer, 237 QWORD cbOffsetWithinHeader) = 0; 238 239 virtual HRESULT STDMETHODCALLTYPE GenerateHeader( 240 IMFMediaBuffer *pIHeader, 241 DWORD *pcbHeader) = 0; 242 243 virtual HRESULT STDMETHODCALLTYPE GetProfile( 244 IMFASFProfile **ppIProfile) = 0; 245 246 virtual HRESULT STDMETHODCALLTYPE SetProfile( 247 IMFASFProfile *pIProfile) = 0; 248 249 virtual HRESULT STDMETHODCALLTYPE GeneratePresentationDescriptor( 250 IMFPresentationDescriptor **ppIPresentationDescriptor) = 0; 251 252 virtual HRESULT STDMETHODCALLTYPE GetEncodingConfigurationPropertyStore( 253 WORD wStreamNumber, 254 IPropertyStore **ppIStore) = 0; 255 256 }; 257 #ifdef __CRT_UUID_DECL 258 __CRT_UUID_DECL(IMFASFContentInfo, 0xb1dca5cd, 0xd5da, 0x4451, 0x8e,0x9e, 0xdb,0x5c,0x59,0x91,0x4e,0xad) 259 #endif 260 #else 261 typedef struct IMFASFContentInfoVtbl { 262 BEGIN_INTERFACE 263 264 /*** IUnknown methods ***/ 265 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 266 IMFASFContentInfo* This, 267 REFIID riid, 268 void **ppvObject); 269 270 ULONG (STDMETHODCALLTYPE *AddRef)( 271 IMFASFContentInfo* This); 272 273 ULONG (STDMETHODCALLTYPE *Release)( 274 IMFASFContentInfo* This); 275 276 /*** IMFASFContentInfo methods ***/ 277 HRESULT (STDMETHODCALLTYPE *GetHeaderSize)( 278 IMFASFContentInfo* This, 279 IMFMediaBuffer *pIStartOfContent, 280 QWORD *cbHeaderSize); 281 282 HRESULT (STDMETHODCALLTYPE *ParseHeader)( 283 IMFASFContentInfo* This, 284 IMFMediaBuffer *pIHeaderBuffer, 285 QWORD cbOffsetWithinHeader); 286 287 HRESULT (STDMETHODCALLTYPE *GenerateHeader)( 288 IMFASFContentInfo* This, 289 IMFMediaBuffer *pIHeader, 290 DWORD *pcbHeader); 291 292 HRESULT (STDMETHODCALLTYPE *GetProfile)( 293 IMFASFContentInfo* This, 294 IMFASFProfile **ppIProfile); 295 296 HRESULT (STDMETHODCALLTYPE *SetProfile)( 297 IMFASFContentInfo* This, 298 IMFASFProfile *pIProfile); 299 300 HRESULT (STDMETHODCALLTYPE *GeneratePresentationDescriptor)( 301 IMFASFContentInfo* This, 302 IMFPresentationDescriptor **ppIPresentationDescriptor); 303 304 HRESULT (STDMETHODCALLTYPE *GetEncodingConfigurationPropertyStore)( 305 IMFASFContentInfo* This, 306 WORD wStreamNumber, 307 IPropertyStore **ppIStore); 308 309 END_INTERFACE 310 } IMFASFContentInfoVtbl; 311 interface IMFASFContentInfo { 312 CONST_VTBL IMFASFContentInfoVtbl* lpVtbl; 313 }; 314 315 #ifdef COBJMACROS 316 #ifndef WIDL_C_INLINE_WRAPPERS 317 /*** IUnknown methods ***/ 318 #define IMFASFContentInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 319 #define IMFASFContentInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 320 #define IMFASFContentInfo_Release(This) (This)->lpVtbl->Release(This) 321 /*** IMFASFContentInfo methods ***/ 322 #define IMFASFContentInfo_GetHeaderSize(This,pIStartOfContent,cbHeaderSize) (This)->lpVtbl->GetHeaderSize(This,pIStartOfContent,cbHeaderSize) 323 #define IMFASFContentInfo_ParseHeader(This,pIHeaderBuffer,cbOffsetWithinHeader) (This)->lpVtbl->ParseHeader(This,pIHeaderBuffer,cbOffsetWithinHeader) 324 #define IMFASFContentInfo_GenerateHeader(This,pIHeader,pcbHeader) (This)->lpVtbl->GenerateHeader(This,pIHeader,pcbHeader) 325 #define IMFASFContentInfo_GetProfile(This,ppIProfile) (This)->lpVtbl->GetProfile(This,ppIProfile) 326 #define IMFASFContentInfo_SetProfile(This,pIProfile) (This)->lpVtbl->SetProfile(This,pIProfile) 327 #define IMFASFContentInfo_GeneratePresentationDescriptor(This,ppIPresentationDescriptor) (This)->lpVtbl->GeneratePresentationDescriptor(This,ppIPresentationDescriptor) 328 #define IMFASFContentInfo_GetEncodingConfigurationPropertyStore(This,wStreamNumber,ppIStore) (This)->lpVtbl->GetEncodingConfigurationPropertyStore(This,wStreamNumber,ppIStore) 329 #else 330 /*** IUnknown methods ***/ 331 static FORCEINLINE HRESULT IMFASFContentInfo_QueryInterface(IMFASFContentInfo* This,REFIID riid,void **ppvObject) { 332 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 333 } 334 static FORCEINLINE ULONG IMFASFContentInfo_AddRef(IMFASFContentInfo* This) { 335 return This->lpVtbl->AddRef(This); 336 } 337 static FORCEINLINE ULONG IMFASFContentInfo_Release(IMFASFContentInfo* This) { 338 return This->lpVtbl->Release(This); 339 } 340 /*** IMFASFContentInfo methods ***/ 341 static FORCEINLINE HRESULT IMFASFContentInfo_GetHeaderSize(IMFASFContentInfo* This,IMFMediaBuffer *pIStartOfContent,QWORD *cbHeaderSize) { 342 return This->lpVtbl->GetHeaderSize(This,pIStartOfContent,cbHeaderSize); 343 } 344 static FORCEINLINE HRESULT IMFASFContentInfo_ParseHeader(IMFASFContentInfo* This,IMFMediaBuffer *pIHeaderBuffer,QWORD cbOffsetWithinHeader) { 345 return This->lpVtbl->ParseHeader(This,pIHeaderBuffer,cbOffsetWithinHeader); 346 } 347 static FORCEINLINE HRESULT IMFASFContentInfo_GenerateHeader(IMFASFContentInfo* This,IMFMediaBuffer *pIHeader,DWORD *pcbHeader) { 348 return This->lpVtbl->GenerateHeader(This,pIHeader,pcbHeader); 349 } 350 static FORCEINLINE HRESULT IMFASFContentInfo_GetProfile(IMFASFContentInfo* This,IMFASFProfile **ppIProfile) { 351 return This->lpVtbl->GetProfile(This,ppIProfile); 352 } 353 static FORCEINLINE HRESULT IMFASFContentInfo_SetProfile(IMFASFContentInfo* This,IMFASFProfile *pIProfile) { 354 return This->lpVtbl->SetProfile(This,pIProfile); 355 } 356 static FORCEINLINE HRESULT IMFASFContentInfo_GeneratePresentationDescriptor(IMFASFContentInfo* This,IMFPresentationDescriptor **ppIPresentationDescriptor) { 357 return This->lpVtbl->GeneratePresentationDescriptor(This,ppIPresentationDescriptor); 358 } 359 static FORCEINLINE HRESULT IMFASFContentInfo_GetEncodingConfigurationPropertyStore(IMFASFContentInfo* This,WORD wStreamNumber,IPropertyStore **ppIStore) { 360 return This->lpVtbl->GetEncodingConfigurationPropertyStore(This,wStreamNumber,ppIStore); 361 } 362 #endif 363 #endif 364 365 #endif 366 367 HRESULT STDMETHODCALLTYPE IMFASFContentInfo_GetHeaderSize_Proxy( 368 IMFASFContentInfo* This, 369 IMFMediaBuffer *pIStartOfContent, 370 QWORD *cbHeaderSize); 371 void __RPC_STUB IMFASFContentInfo_GetHeaderSize_Stub( 372 IRpcStubBuffer* This, 373 IRpcChannelBuffer* pRpcChannelBuffer, 374 PRPC_MESSAGE pRpcMessage, 375 DWORD* pdwStubPhase); 376 HRESULT STDMETHODCALLTYPE IMFASFContentInfo_ParseHeader_Proxy( 377 IMFASFContentInfo* This, 378 IMFMediaBuffer *pIHeaderBuffer, 379 QWORD cbOffsetWithinHeader); 380 void __RPC_STUB IMFASFContentInfo_ParseHeader_Stub( 381 IRpcStubBuffer* This, 382 IRpcChannelBuffer* pRpcChannelBuffer, 383 PRPC_MESSAGE pRpcMessage, 384 DWORD* pdwStubPhase); 385 HRESULT STDMETHODCALLTYPE IMFASFContentInfo_GenerateHeader_Proxy( 386 IMFASFContentInfo* This, 387 IMFMediaBuffer *pIHeader, 388 DWORD *pcbHeader); 389 void __RPC_STUB IMFASFContentInfo_GenerateHeader_Stub( 390 IRpcStubBuffer* This, 391 IRpcChannelBuffer* pRpcChannelBuffer, 392 PRPC_MESSAGE pRpcMessage, 393 DWORD* pdwStubPhase); 394 HRESULT STDMETHODCALLTYPE IMFASFContentInfo_GetProfile_Proxy( 395 IMFASFContentInfo* This, 396 IMFASFProfile **ppIProfile); 397 void __RPC_STUB IMFASFContentInfo_GetProfile_Stub( 398 IRpcStubBuffer* This, 399 IRpcChannelBuffer* pRpcChannelBuffer, 400 PRPC_MESSAGE pRpcMessage, 401 DWORD* pdwStubPhase); 402 HRESULT STDMETHODCALLTYPE IMFASFContentInfo_SetProfile_Proxy( 403 IMFASFContentInfo* This, 404 IMFASFProfile *pIProfile); 405 void __RPC_STUB IMFASFContentInfo_SetProfile_Stub( 406 IRpcStubBuffer* This, 407 IRpcChannelBuffer* pRpcChannelBuffer, 408 PRPC_MESSAGE pRpcMessage, 409 DWORD* pdwStubPhase); 410 HRESULT STDMETHODCALLTYPE IMFASFContentInfo_GeneratePresentationDescriptor_Proxy( 411 IMFASFContentInfo* This, 412 IMFPresentationDescriptor **ppIPresentationDescriptor); 413 void __RPC_STUB IMFASFContentInfo_GeneratePresentationDescriptor_Stub( 414 IRpcStubBuffer* This, 415 IRpcChannelBuffer* pRpcChannelBuffer, 416 PRPC_MESSAGE pRpcMessage, 417 DWORD* pdwStubPhase); 418 HRESULT STDMETHODCALLTYPE IMFASFContentInfo_GetEncodingConfigurationPropertyStore_Proxy( 419 IMFASFContentInfo* This, 420 WORD wStreamNumber, 421 IPropertyStore **ppIStore); 422 void __RPC_STUB IMFASFContentInfo_GetEncodingConfigurationPropertyStore_Stub( 423 IRpcStubBuffer* This, 424 IRpcChannelBuffer* pRpcChannelBuffer, 425 PRPC_MESSAGE pRpcMessage, 426 DWORD* pdwStubPhase); 427 428 #endif /* __IMFASFContentInfo_INTERFACE_DEFINED__ */ 429 430 /***************************************************************************** 431 * IMFASFMutualExclusion interface 432 */ 433 #ifndef __IMFASFMutualExclusion_INTERFACE_DEFINED__ 434 #define __IMFASFMutualExclusion_INTERFACE_DEFINED__ 435 436 DEFINE_GUID(IID_IMFASFMutualExclusion, 0x12558291, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab); 437 #if defined(__cplusplus) && !defined(CINTERFACE) 438 MIDL_INTERFACE("12558291-e399-11d5-bc2a-00b0d0f3f4ab") 439 IMFASFMutualExclusion : public IUnknown 440 { 441 virtual HRESULT STDMETHODCALLTYPE GetType( 442 GUID *pguidType) = 0; 443 444 virtual HRESULT STDMETHODCALLTYPE SetType( 445 REFGUID guidType) = 0; 446 447 virtual HRESULT STDMETHODCALLTYPE GetRecordCount( 448 DWORD *pdwRecordCount) = 0; 449 450 virtual HRESULT STDMETHODCALLTYPE GetStreamsForRecord( 451 DWORD dwRecordNumber, 452 WORD *pwStreamNumArray, 453 DWORD *pcStreams) = 0; 454 455 virtual HRESULT STDMETHODCALLTYPE AddStreamForRecord( 456 DWORD dwRecordNumber, 457 WORD wStreamNumber) = 0; 458 459 virtual HRESULT STDMETHODCALLTYPE RemoveStreamFromRecord( 460 DWORD dwRecordNumber, 461 WORD wStreamNumber) = 0; 462 463 virtual HRESULT STDMETHODCALLTYPE RemoveRecord( 464 DWORD dwRecordNumber) = 0; 465 466 virtual HRESULT STDMETHODCALLTYPE AddRecord( 467 DWORD *pdwRecordNumber) = 0; 468 469 virtual HRESULT STDMETHODCALLTYPE Clone( 470 IMFASFMutualExclusion **ppIMutex) = 0; 471 472 }; 473 #ifdef __CRT_UUID_DECL 474 __CRT_UUID_DECL(IMFASFMutualExclusion, 0x12558291, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab) 475 #endif 476 #else 477 typedef struct IMFASFMutualExclusionVtbl { 478 BEGIN_INTERFACE 479 480 /*** IUnknown methods ***/ 481 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 482 IMFASFMutualExclusion* This, 483 REFIID riid, 484 void **ppvObject); 485 486 ULONG (STDMETHODCALLTYPE *AddRef)( 487 IMFASFMutualExclusion* This); 488 489 ULONG (STDMETHODCALLTYPE *Release)( 490 IMFASFMutualExclusion* This); 491 492 /*** IMFASFMutualExclusion methods ***/ 493 HRESULT (STDMETHODCALLTYPE *GetType)( 494 IMFASFMutualExclusion* This, 495 GUID *pguidType); 496 497 HRESULT (STDMETHODCALLTYPE *SetType)( 498 IMFASFMutualExclusion* This, 499 REFGUID guidType); 500 501 HRESULT (STDMETHODCALLTYPE *GetRecordCount)( 502 IMFASFMutualExclusion* This, 503 DWORD *pdwRecordCount); 504 505 HRESULT (STDMETHODCALLTYPE *GetStreamsForRecord)( 506 IMFASFMutualExclusion* This, 507 DWORD dwRecordNumber, 508 WORD *pwStreamNumArray, 509 DWORD *pcStreams); 510 511 HRESULT (STDMETHODCALLTYPE *AddStreamForRecord)( 512 IMFASFMutualExclusion* This, 513 DWORD dwRecordNumber, 514 WORD wStreamNumber); 515 516 HRESULT (STDMETHODCALLTYPE *RemoveStreamFromRecord)( 517 IMFASFMutualExclusion* This, 518 DWORD dwRecordNumber, 519 WORD wStreamNumber); 520 521 HRESULT (STDMETHODCALLTYPE *RemoveRecord)( 522 IMFASFMutualExclusion* This, 523 DWORD dwRecordNumber); 524 525 HRESULT (STDMETHODCALLTYPE *AddRecord)( 526 IMFASFMutualExclusion* This, 527 DWORD *pdwRecordNumber); 528 529 HRESULT (STDMETHODCALLTYPE *Clone)( 530 IMFASFMutualExclusion* This, 531 IMFASFMutualExclusion **ppIMutex); 532 533 END_INTERFACE 534 } IMFASFMutualExclusionVtbl; 535 interface IMFASFMutualExclusion { 536 CONST_VTBL IMFASFMutualExclusionVtbl* lpVtbl; 537 }; 538 539 #ifdef COBJMACROS 540 #ifndef WIDL_C_INLINE_WRAPPERS 541 /*** IUnknown methods ***/ 542 #define IMFASFMutualExclusion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 543 #define IMFASFMutualExclusion_AddRef(This) (This)->lpVtbl->AddRef(This) 544 #define IMFASFMutualExclusion_Release(This) (This)->lpVtbl->Release(This) 545 /*** IMFASFMutualExclusion methods ***/ 546 #define IMFASFMutualExclusion_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType) 547 #define IMFASFMutualExclusion_SetType(This,guidType) (This)->lpVtbl->SetType(This,guidType) 548 #define IMFASFMutualExclusion_GetRecordCount(This,pdwRecordCount) (This)->lpVtbl->GetRecordCount(This,pdwRecordCount) 549 #define IMFASFMutualExclusion_GetStreamsForRecord(This,dwRecordNumber,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreamsForRecord(This,dwRecordNumber,pwStreamNumArray,pcStreams) 550 #define IMFASFMutualExclusion_AddStreamForRecord(This,dwRecordNumber,wStreamNumber) (This)->lpVtbl->AddStreamForRecord(This,dwRecordNumber,wStreamNumber) 551 #define IMFASFMutualExclusion_RemoveStreamFromRecord(This,dwRecordNumber,wStreamNumber) (This)->lpVtbl->RemoveStreamFromRecord(This,dwRecordNumber,wStreamNumber) 552 #define IMFASFMutualExclusion_RemoveRecord(This,dwRecordNumber) (This)->lpVtbl->RemoveRecord(This,dwRecordNumber) 553 #define IMFASFMutualExclusion_AddRecord(This,pdwRecordNumber) (This)->lpVtbl->AddRecord(This,pdwRecordNumber) 554 #define IMFASFMutualExclusion_Clone(This,ppIMutex) (This)->lpVtbl->Clone(This,ppIMutex) 555 #else 556 /*** IUnknown methods ***/ 557 static FORCEINLINE HRESULT IMFASFMutualExclusion_QueryInterface(IMFASFMutualExclusion* This,REFIID riid,void **ppvObject) { 558 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 559 } 560 static FORCEINLINE ULONG IMFASFMutualExclusion_AddRef(IMFASFMutualExclusion* This) { 561 return This->lpVtbl->AddRef(This); 562 } 563 static FORCEINLINE ULONG IMFASFMutualExclusion_Release(IMFASFMutualExclusion* This) { 564 return This->lpVtbl->Release(This); 565 } 566 /*** IMFASFMutualExclusion methods ***/ 567 static FORCEINLINE HRESULT IMFASFMutualExclusion_GetType(IMFASFMutualExclusion* This,GUID *pguidType) { 568 return This->lpVtbl->GetType(This,pguidType); 569 } 570 static FORCEINLINE HRESULT IMFASFMutualExclusion_SetType(IMFASFMutualExclusion* This,REFGUID guidType) { 571 return This->lpVtbl->SetType(This,guidType); 572 } 573 static FORCEINLINE HRESULT IMFASFMutualExclusion_GetRecordCount(IMFASFMutualExclusion* This,DWORD *pdwRecordCount) { 574 return This->lpVtbl->GetRecordCount(This,pdwRecordCount); 575 } 576 static FORCEINLINE HRESULT IMFASFMutualExclusion_GetStreamsForRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber,WORD *pwStreamNumArray,DWORD *pcStreams) { 577 return This->lpVtbl->GetStreamsForRecord(This,dwRecordNumber,pwStreamNumArray,pcStreams); 578 } 579 static FORCEINLINE HRESULT IMFASFMutualExclusion_AddStreamForRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber,WORD wStreamNumber) { 580 return This->lpVtbl->AddStreamForRecord(This,dwRecordNumber,wStreamNumber); 581 } 582 static FORCEINLINE HRESULT IMFASFMutualExclusion_RemoveStreamFromRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber,WORD wStreamNumber) { 583 return This->lpVtbl->RemoveStreamFromRecord(This,dwRecordNumber,wStreamNumber); 584 } 585 static FORCEINLINE HRESULT IMFASFMutualExclusion_RemoveRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber) { 586 return This->lpVtbl->RemoveRecord(This,dwRecordNumber); 587 } 588 static FORCEINLINE HRESULT IMFASFMutualExclusion_AddRecord(IMFASFMutualExclusion* This,DWORD *pdwRecordNumber) { 589 return This->lpVtbl->AddRecord(This,pdwRecordNumber); 590 } 591 static FORCEINLINE HRESULT IMFASFMutualExclusion_Clone(IMFASFMutualExclusion* This,IMFASFMutualExclusion **ppIMutex) { 592 return This->lpVtbl->Clone(This,ppIMutex); 593 } 594 #endif 595 #endif 596 597 #endif 598 599 HRESULT STDMETHODCALLTYPE IMFASFMutualExclusion_GetType_Proxy( 600 IMFASFMutualExclusion* This, 601 GUID *pguidType); 602 void __RPC_STUB IMFASFMutualExclusion_GetType_Stub( 603 IRpcStubBuffer* This, 604 IRpcChannelBuffer* pRpcChannelBuffer, 605 PRPC_MESSAGE pRpcMessage, 606 DWORD* pdwStubPhase); 607 HRESULT STDMETHODCALLTYPE IMFASFMutualExclusion_SetType_Proxy( 608 IMFASFMutualExclusion* This, 609 REFGUID guidType); 610 void __RPC_STUB IMFASFMutualExclusion_SetType_Stub( 611 IRpcStubBuffer* This, 612 IRpcChannelBuffer* pRpcChannelBuffer, 613 PRPC_MESSAGE pRpcMessage, 614 DWORD* pdwStubPhase); 615 HRESULT STDMETHODCALLTYPE IMFASFMutualExclusion_GetRecordCount_Proxy( 616 IMFASFMutualExclusion* This, 617 DWORD *pdwRecordCount); 618 void __RPC_STUB IMFASFMutualExclusion_GetRecordCount_Stub( 619 IRpcStubBuffer* This, 620 IRpcChannelBuffer* pRpcChannelBuffer, 621 PRPC_MESSAGE pRpcMessage, 622 DWORD* pdwStubPhase); 623 HRESULT STDMETHODCALLTYPE IMFASFMutualExclusion_GetStreamsForRecord_Proxy( 624 IMFASFMutualExclusion* This, 625 DWORD dwRecordNumber, 626 WORD *pwStreamNumArray, 627 DWORD *pcStreams); 628 void __RPC_STUB IMFASFMutualExclusion_GetStreamsForRecord_Stub( 629 IRpcStubBuffer* This, 630 IRpcChannelBuffer* pRpcChannelBuffer, 631 PRPC_MESSAGE pRpcMessage, 632 DWORD* pdwStubPhase); 633 HRESULT STDMETHODCALLTYPE IMFASFMutualExclusion_AddStreamForRecord_Proxy( 634 IMFASFMutualExclusion* This, 635 DWORD dwRecordNumber, 636 WORD wStreamNumber); 637 void __RPC_STUB IMFASFMutualExclusion_AddStreamForRecord_Stub( 638 IRpcStubBuffer* This, 639 IRpcChannelBuffer* pRpcChannelBuffer, 640 PRPC_MESSAGE pRpcMessage, 641 DWORD* pdwStubPhase); 642 HRESULT STDMETHODCALLTYPE IMFASFMutualExclusion_RemoveStreamFromRecord_Proxy( 643 IMFASFMutualExclusion* This, 644 DWORD dwRecordNumber, 645 WORD wStreamNumber); 646 void __RPC_STUB IMFASFMutualExclusion_RemoveStreamFromRecord_Stub( 647 IRpcStubBuffer* This, 648 IRpcChannelBuffer* pRpcChannelBuffer, 649 PRPC_MESSAGE pRpcMessage, 650 DWORD* pdwStubPhase); 651 HRESULT STDMETHODCALLTYPE IMFASFMutualExclusion_RemoveRecord_Proxy( 652 IMFASFMutualExclusion* This, 653 DWORD dwRecordNumber); 654 void __RPC_STUB IMFASFMutualExclusion_RemoveRecord_Stub( 655 IRpcStubBuffer* This, 656 IRpcChannelBuffer* pRpcChannelBuffer, 657 PRPC_MESSAGE pRpcMessage, 658 DWORD* pdwStubPhase); 659 HRESULT STDMETHODCALLTYPE IMFASFMutualExclusion_AddRecord_Proxy( 660 IMFASFMutualExclusion* This, 661 DWORD *pdwRecordNumber); 662 void __RPC_STUB IMFASFMutualExclusion_AddRecord_Stub( 663 IRpcStubBuffer* This, 664 IRpcChannelBuffer* pRpcChannelBuffer, 665 PRPC_MESSAGE pRpcMessage, 666 DWORD* pdwStubPhase); 667 HRESULT STDMETHODCALLTYPE IMFASFMutualExclusion_Clone_Proxy( 668 IMFASFMutualExclusion* This, 669 IMFASFMutualExclusion **ppIMutex); 670 void __RPC_STUB IMFASFMutualExclusion_Clone_Stub( 671 IRpcStubBuffer* This, 672 IRpcChannelBuffer* pRpcChannelBuffer, 673 PRPC_MESSAGE pRpcMessage, 674 DWORD* pdwStubPhase); 675 676 #endif /* __IMFASFMutualExclusion_INTERFACE_DEFINED__ */ 677 678 /***************************************************************************** 679 * IMFASFStreamPrioritization interface 680 */ 681 #ifndef __IMFASFStreamPrioritization_INTERFACE_DEFINED__ 682 #define __IMFASFStreamPrioritization_INTERFACE_DEFINED__ 683 684 DEFINE_GUID(IID_IMFASFStreamPrioritization, 0x699bdc27, 0xbbaf, 0x49ff, 0x8e,0x38, 0x9c,0x39,0xc9,0xb5,0xe0,0x88); 685 #if defined(__cplusplus) && !defined(CINTERFACE) 686 MIDL_INTERFACE("699bdc27-bbaf-49ff-8e38-9c39c9b5e088") 687 IMFASFStreamPrioritization : public IUnknown 688 { 689 virtual HRESULT STDMETHODCALLTYPE GetStreamCount( 690 DWORD *pdwStreamCount) = 0; 691 692 virtual HRESULT STDMETHODCALLTYPE GetStream( 693 DWORD dwStreamIndex, 694 WORD *pwStreamNumber, 695 WORD *pwStreamFlags) = 0; 696 697 virtual HRESULT STDMETHODCALLTYPE AddStream( 698 WORD wStreamNumber, 699 WORD wStreamFlags) = 0; 700 701 virtual HRESULT STDMETHODCALLTYPE RemoveStream( 702 DWORD dwStreamIndex) = 0; 703 704 virtual HRESULT STDMETHODCALLTYPE Clone( 705 IMFASFStreamPrioritization **ppIStreamPrioritization) = 0; 706 707 }; 708 #ifdef __CRT_UUID_DECL 709 __CRT_UUID_DECL(IMFASFStreamPrioritization, 0x699bdc27, 0xbbaf, 0x49ff, 0x8e,0x38, 0x9c,0x39,0xc9,0xb5,0xe0,0x88) 710 #endif 711 #else 712 typedef struct IMFASFStreamPrioritizationVtbl { 713 BEGIN_INTERFACE 714 715 /*** IUnknown methods ***/ 716 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 717 IMFASFStreamPrioritization* This, 718 REFIID riid, 719 void **ppvObject); 720 721 ULONG (STDMETHODCALLTYPE *AddRef)( 722 IMFASFStreamPrioritization* This); 723 724 ULONG (STDMETHODCALLTYPE *Release)( 725 IMFASFStreamPrioritization* This); 726 727 /*** IMFASFStreamPrioritization methods ***/ 728 HRESULT (STDMETHODCALLTYPE *GetStreamCount)( 729 IMFASFStreamPrioritization* This, 730 DWORD *pdwStreamCount); 731 732 HRESULT (STDMETHODCALLTYPE *GetStream)( 733 IMFASFStreamPrioritization* This, 734 DWORD dwStreamIndex, 735 WORD *pwStreamNumber, 736 WORD *pwStreamFlags); 737 738 HRESULT (STDMETHODCALLTYPE *AddStream)( 739 IMFASFStreamPrioritization* This, 740 WORD wStreamNumber, 741 WORD wStreamFlags); 742 743 HRESULT (STDMETHODCALLTYPE *RemoveStream)( 744 IMFASFStreamPrioritization* This, 745 DWORD dwStreamIndex); 746 747 HRESULT (STDMETHODCALLTYPE *Clone)( 748 IMFASFStreamPrioritization* This, 749 IMFASFStreamPrioritization **ppIStreamPrioritization); 750 751 END_INTERFACE 752 } IMFASFStreamPrioritizationVtbl; 753 interface IMFASFStreamPrioritization { 754 CONST_VTBL IMFASFStreamPrioritizationVtbl* lpVtbl; 755 }; 756 757 #ifdef COBJMACROS 758 #ifndef WIDL_C_INLINE_WRAPPERS 759 /*** IUnknown methods ***/ 760 #define IMFASFStreamPrioritization_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 761 #define IMFASFStreamPrioritization_AddRef(This) (This)->lpVtbl->AddRef(This) 762 #define IMFASFStreamPrioritization_Release(This) (This)->lpVtbl->Release(This) 763 /*** IMFASFStreamPrioritization methods ***/ 764 #define IMFASFStreamPrioritization_GetStreamCount(This,pdwStreamCount) (This)->lpVtbl->GetStreamCount(This,pdwStreamCount) 765 #define IMFASFStreamPrioritization_GetStream(This,dwStreamIndex,pwStreamNumber,pwStreamFlags) (This)->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,pwStreamFlags) 766 #define IMFASFStreamPrioritization_AddStream(This,wStreamNumber,wStreamFlags) (This)->lpVtbl->AddStream(This,wStreamNumber,wStreamFlags) 767 #define IMFASFStreamPrioritization_RemoveStream(This,dwStreamIndex) (This)->lpVtbl->RemoveStream(This,dwStreamIndex) 768 #define IMFASFStreamPrioritization_Clone(This,ppIStreamPrioritization) (This)->lpVtbl->Clone(This,ppIStreamPrioritization) 769 #else 770 /*** IUnknown methods ***/ 771 static FORCEINLINE HRESULT IMFASFStreamPrioritization_QueryInterface(IMFASFStreamPrioritization* This,REFIID riid,void **ppvObject) { 772 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 773 } 774 static FORCEINLINE ULONG IMFASFStreamPrioritization_AddRef(IMFASFStreamPrioritization* This) { 775 return This->lpVtbl->AddRef(This); 776 } 777 static FORCEINLINE ULONG IMFASFStreamPrioritization_Release(IMFASFStreamPrioritization* This) { 778 return This->lpVtbl->Release(This); 779 } 780 /*** IMFASFStreamPrioritization methods ***/ 781 static FORCEINLINE HRESULT IMFASFStreamPrioritization_GetStreamCount(IMFASFStreamPrioritization* This,DWORD *pdwStreamCount) { 782 return This->lpVtbl->GetStreamCount(This,pdwStreamCount); 783 } 784 static FORCEINLINE HRESULT IMFASFStreamPrioritization_GetStream(IMFASFStreamPrioritization* This,DWORD dwStreamIndex,WORD *pwStreamNumber,WORD *pwStreamFlags) { 785 return This->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,pwStreamFlags); 786 } 787 static FORCEINLINE HRESULT IMFASFStreamPrioritization_AddStream(IMFASFStreamPrioritization* This,WORD wStreamNumber,WORD wStreamFlags) { 788 return This->lpVtbl->AddStream(This,wStreamNumber,wStreamFlags); 789 } 790 static FORCEINLINE HRESULT IMFASFStreamPrioritization_RemoveStream(IMFASFStreamPrioritization* This,DWORD dwStreamIndex) { 791 return This->lpVtbl->RemoveStream(This,dwStreamIndex); 792 } 793 static FORCEINLINE HRESULT IMFASFStreamPrioritization_Clone(IMFASFStreamPrioritization* This,IMFASFStreamPrioritization **ppIStreamPrioritization) { 794 return This->lpVtbl->Clone(This,ppIStreamPrioritization); 795 } 796 #endif 797 #endif 798 799 #endif 800 801 HRESULT STDMETHODCALLTYPE IMFASFStreamPrioritization_GetStreamCount_Proxy( 802 IMFASFStreamPrioritization* This, 803 DWORD *pdwStreamCount); 804 void __RPC_STUB IMFASFStreamPrioritization_GetStreamCount_Stub( 805 IRpcStubBuffer* This, 806 IRpcChannelBuffer* pRpcChannelBuffer, 807 PRPC_MESSAGE pRpcMessage, 808 DWORD* pdwStubPhase); 809 HRESULT STDMETHODCALLTYPE IMFASFStreamPrioritization_GetStream_Proxy( 810 IMFASFStreamPrioritization* This, 811 DWORD dwStreamIndex, 812 WORD *pwStreamNumber, 813 WORD *pwStreamFlags); 814 void __RPC_STUB IMFASFStreamPrioritization_GetStream_Stub( 815 IRpcStubBuffer* This, 816 IRpcChannelBuffer* pRpcChannelBuffer, 817 PRPC_MESSAGE pRpcMessage, 818 DWORD* pdwStubPhase); 819 HRESULT STDMETHODCALLTYPE IMFASFStreamPrioritization_AddStream_Proxy( 820 IMFASFStreamPrioritization* This, 821 WORD wStreamNumber, 822 WORD wStreamFlags); 823 void __RPC_STUB IMFASFStreamPrioritization_AddStream_Stub( 824 IRpcStubBuffer* This, 825 IRpcChannelBuffer* pRpcChannelBuffer, 826 PRPC_MESSAGE pRpcMessage, 827 DWORD* pdwStubPhase); 828 HRESULT STDMETHODCALLTYPE IMFASFStreamPrioritization_RemoveStream_Proxy( 829 IMFASFStreamPrioritization* This, 830 DWORD dwStreamIndex); 831 void __RPC_STUB IMFASFStreamPrioritization_RemoveStream_Stub( 832 IRpcStubBuffer* This, 833 IRpcChannelBuffer* pRpcChannelBuffer, 834 PRPC_MESSAGE pRpcMessage, 835 DWORD* pdwStubPhase); 836 HRESULT STDMETHODCALLTYPE IMFASFStreamPrioritization_Clone_Proxy( 837 IMFASFStreamPrioritization* This, 838 IMFASFStreamPrioritization **ppIStreamPrioritization); 839 void __RPC_STUB IMFASFStreamPrioritization_Clone_Stub( 840 IRpcStubBuffer* This, 841 IRpcChannelBuffer* pRpcChannelBuffer, 842 PRPC_MESSAGE pRpcMessage, 843 DWORD* pdwStubPhase); 844 845 #endif /* __IMFASFStreamPrioritization_INTERFACE_DEFINED__ */ 846 847 /***************************************************************************** 848 * IMFASFSplitter interface 849 */ 850 #ifndef __IMFASFSplitter_INTERFACE_DEFINED__ 851 #define __IMFASFSplitter_INTERFACE_DEFINED__ 852 853 DEFINE_GUID(IID_IMFASFSplitter, 0x12558295, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab); 854 #if defined(__cplusplus) && !defined(CINTERFACE) 855 MIDL_INTERFACE("12558295-e399-11d5-bc2a-00b0d0f3f4ab") 856 IMFASFSplitter : public IUnknown 857 { 858 virtual HRESULT STDMETHODCALLTYPE Initialize( 859 IMFASFContentInfo *pIContentInfo) = 0; 860 861 virtual HRESULT STDMETHODCALLTYPE SetFlags( 862 DWORD dwFlags) = 0; 863 864 virtual HRESULT STDMETHODCALLTYPE GetFlags( 865 DWORD *pdwFlags) = 0; 866 867 virtual HRESULT STDMETHODCALLTYPE SelectStreams( 868 WORD *pwStreamNumbers, 869 WORD wNumStreams) = 0; 870 871 virtual HRESULT STDMETHODCALLTYPE GetSelectedStreams( 872 WORD *pwStreamNumbers, 873 WORD *pwNumStreams) = 0; 874 875 virtual HRESULT STDMETHODCALLTYPE ParseData( 876 IMFMediaBuffer *pIBuffer, 877 DWORD cbBufferOffset, 878 DWORD cbLength) = 0; 879 880 virtual HRESULT STDMETHODCALLTYPE GetNextSample( 881 DWORD *pdwStatusFlags, 882 WORD *pwStreamNumber, 883 IMFSample **ppISample) = 0; 884 885 virtual HRESULT STDMETHODCALLTYPE Flush( 886 ) = 0; 887 888 virtual HRESULT STDMETHODCALLTYPE GetLastSendTime( 889 DWORD *pdwLastSendTime) = 0; 890 891 }; 892 #ifdef __CRT_UUID_DECL 893 __CRT_UUID_DECL(IMFASFSplitter, 0x12558295, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab) 894 #endif 895 #else 896 typedef struct IMFASFSplitterVtbl { 897 BEGIN_INTERFACE 898 899 /*** IUnknown methods ***/ 900 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 901 IMFASFSplitter* This, 902 REFIID riid, 903 void **ppvObject); 904 905 ULONG (STDMETHODCALLTYPE *AddRef)( 906 IMFASFSplitter* This); 907 908 ULONG (STDMETHODCALLTYPE *Release)( 909 IMFASFSplitter* This); 910 911 /*** IMFASFSplitter methods ***/ 912 HRESULT (STDMETHODCALLTYPE *Initialize)( 913 IMFASFSplitter* This, 914 IMFASFContentInfo *pIContentInfo); 915 916 HRESULT (STDMETHODCALLTYPE *SetFlags)( 917 IMFASFSplitter* This, 918 DWORD dwFlags); 919 920 HRESULT (STDMETHODCALLTYPE *GetFlags)( 921 IMFASFSplitter* This, 922 DWORD *pdwFlags); 923 924 HRESULT (STDMETHODCALLTYPE *SelectStreams)( 925 IMFASFSplitter* This, 926 WORD *pwStreamNumbers, 927 WORD wNumStreams); 928 929 HRESULT (STDMETHODCALLTYPE *GetSelectedStreams)( 930 IMFASFSplitter* This, 931 WORD *pwStreamNumbers, 932 WORD *pwNumStreams); 933 934 HRESULT (STDMETHODCALLTYPE *ParseData)( 935 IMFASFSplitter* This, 936 IMFMediaBuffer *pIBuffer, 937 DWORD cbBufferOffset, 938 DWORD cbLength); 939 940 HRESULT (STDMETHODCALLTYPE *GetNextSample)( 941 IMFASFSplitter* This, 942 DWORD *pdwStatusFlags, 943 WORD *pwStreamNumber, 944 IMFSample **ppISample); 945 946 HRESULT (STDMETHODCALLTYPE *Flush)( 947 IMFASFSplitter* This); 948 949 HRESULT (STDMETHODCALLTYPE *GetLastSendTime)( 950 IMFASFSplitter* This, 951 DWORD *pdwLastSendTime); 952 953 END_INTERFACE 954 } IMFASFSplitterVtbl; 955 interface IMFASFSplitter { 956 CONST_VTBL IMFASFSplitterVtbl* lpVtbl; 957 }; 958 959 #ifdef COBJMACROS 960 #ifndef WIDL_C_INLINE_WRAPPERS 961 /*** IUnknown methods ***/ 962 #define IMFASFSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 963 #define IMFASFSplitter_AddRef(This) (This)->lpVtbl->AddRef(This) 964 #define IMFASFSplitter_Release(This) (This)->lpVtbl->Release(This) 965 /*** IMFASFSplitter methods ***/ 966 #define IMFASFSplitter_Initialize(This,pIContentInfo) (This)->lpVtbl->Initialize(This,pIContentInfo) 967 #define IMFASFSplitter_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags) 968 #define IMFASFSplitter_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags) 969 #define IMFASFSplitter_SelectStreams(This,pwStreamNumbers,wNumStreams) (This)->lpVtbl->SelectStreams(This,pwStreamNumbers,wNumStreams) 970 #define IMFASFSplitter_GetSelectedStreams(This,pwStreamNumbers,pwNumStreams) (This)->lpVtbl->GetSelectedStreams(This,pwStreamNumbers,pwNumStreams) 971 #define IMFASFSplitter_ParseData(This,pIBuffer,cbBufferOffset,cbLength) (This)->lpVtbl->ParseData(This,pIBuffer,cbBufferOffset,cbLength) 972 #define IMFASFSplitter_GetNextSample(This,pdwStatusFlags,pwStreamNumber,ppISample) (This)->lpVtbl->GetNextSample(This,pdwStatusFlags,pwStreamNumber,ppISample) 973 #define IMFASFSplitter_Flush(This) (This)->lpVtbl->Flush(This) 974 #define IMFASFSplitter_GetLastSendTime(This,pdwLastSendTime) (This)->lpVtbl->GetLastSendTime(This,pdwLastSendTime) 975 #else 976 /*** IUnknown methods ***/ 977 static FORCEINLINE HRESULT IMFASFSplitter_QueryInterface(IMFASFSplitter* This,REFIID riid,void **ppvObject) { 978 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 979 } 980 static FORCEINLINE ULONG IMFASFSplitter_AddRef(IMFASFSplitter* This) { 981 return This->lpVtbl->AddRef(This); 982 } 983 static FORCEINLINE ULONG IMFASFSplitter_Release(IMFASFSplitter* This) { 984 return This->lpVtbl->Release(This); 985 } 986 /*** IMFASFSplitter methods ***/ 987 static FORCEINLINE HRESULT IMFASFSplitter_Initialize(IMFASFSplitter* This,IMFASFContentInfo *pIContentInfo) { 988 return This->lpVtbl->Initialize(This,pIContentInfo); 989 } 990 static FORCEINLINE HRESULT IMFASFSplitter_SetFlags(IMFASFSplitter* This,DWORD dwFlags) { 991 return This->lpVtbl->SetFlags(This,dwFlags); 992 } 993 static FORCEINLINE HRESULT IMFASFSplitter_GetFlags(IMFASFSplitter* This,DWORD *pdwFlags) { 994 return This->lpVtbl->GetFlags(This,pdwFlags); 995 } 996 static FORCEINLINE HRESULT IMFASFSplitter_SelectStreams(IMFASFSplitter* This,WORD *pwStreamNumbers,WORD wNumStreams) { 997 return This->lpVtbl->SelectStreams(This,pwStreamNumbers,wNumStreams); 998 } 999 static FORCEINLINE HRESULT IMFASFSplitter_GetSelectedStreams(IMFASFSplitter* This,WORD *pwStreamNumbers,WORD *pwNumStreams) { 1000 return This->lpVtbl->GetSelectedStreams(This,pwStreamNumbers,pwNumStreams); 1001 } 1002 static FORCEINLINE HRESULT IMFASFSplitter_ParseData(IMFASFSplitter* This,IMFMediaBuffer *pIBuffer,DWORD cbBufferOffset,DWORD cbLength) { 1003 return This->lpVtbl->ParseData(This,pIBuffer,cbBufferOffset,cbLength); 1004 } 1005 static FORCEINLINE HRESULT IMFASFSplitter_GetNextSample(IMFASFSplitter* This,DWORD *pdwStatusFlags,WORD *pwStreamNumber,IMFSample **ppISample) { 1006 return This->lpVtbl->GetNextSample(This,pdwStatusFlags,pwStreamNumber,ppISample); 1007 } 1008 static FORCEINLINE HRESULT IMFASFSplitter_Flush(IMFASFSplitter* This) { 1009 return This->lpVtbl->Flush(This); 1010 } 1011 static FORCEINLINE HRESULT IMFASFSplitter_GetLastSendTime(IMFASFSplitter* This,DWORD *pdwLastSendTime) { 1012 return This->lpVtbl->GetLastSendTime(This,pdwLastSendTime); 1013 } 1014 #endif 1015 #endif 1016 1017 #endif 1018 1019 HRESULT STDMETHODCALLTYPE IMFASFSplitter_Initialize_Proxy( 1020 IMFASFSplitter* This, 1021 IMFASFContentInfo *pIContentInfo); 1022 void __RPC_STUB IMFASFSplitter_Initialize_Stub( 1023 IRpcStubBuffer* This, 1024 IRpcChannelBuffer* pRpcChannelBuffer, 1025 PRPC_MESSAGE pRpcMessage, 1026 DWORD* pdwStubPhase); 1027 HRESULT STDMETHODCALLTYPE IMFASFSplitter_SetFlags_Proxy( 1028 IMFASFSplitter* This, 1029 DWORD dwFlags); 1030 void __RPC_STUB IMFASFSplitter_SetFlags_Stub( 1031 IRpcStubBuffer* This, 1032 IRpcChannelBuffer* pRpcChannelBuffer, 1033 PRPC_MESSAGE pRpcMessage, 1034 DWORD* pdwStubPhase); 1035 HRESULT STDMETHODCALLTYPE IMFASFSplitter_GetFlags_Proxy( 1036 IMFASFSplitter* This, 1037 DWORD *pdwFlags); 1038 void __RPC_STUB IMFASFSplitter_GetFlags_Stub( 1039 IRpcStubBuffer* This, 1040 IRpcChannelBuffer* pRpcChannelBuffer, 1041 PRPC_MESSAGE pRpcMessage, 1042 DWORD* pdwStubPhase); 1043 HRESULT STDMETHODCALLTYPE IMFASFSplitter_SelectStreams_Proxy( 1044 IMFASFSplitter* This, 1045 WORD *pwStreamNumbers, 1046 WORD wNumStreams); 1047 void __RPC_STUB IMFASFSplitter_SelectStreams_Stub( 1048 IRpcStubBuffer* This, 1049 IRpcChannelBuffer* pRpcChannelBuffer, 1050 PRPC_MESSAGE pRpcMessage, 1051 DWORD* pdwStubPhase); 1052 HRESULT STDMETHODCALLTYPE IMFASFSplitter_GetSelectedStreams_Proxy( 1053 IMFASFSplitter* This, 1054 WORD *pwStreamNumbers, 1055 WORD *pwNumStreams); 1056 void __RPC_STUB IMFASFSplitter_GetSelectedStreams_Stub( 1057 IRpcStubBuffer* This, 1058 IRpcChannelBuffer* pRpcChannelBuffer, 1059 PRPC_MESSAGE pRpcMessage, 1060 DWORD* pdwStubPhase); 1061 HRESULT STDMETHODCALLTYPE IMFASFSplitter_ParseData_Proxy( 1062 IMFASFSplitter* This, 1063 IMFMediaBuffer *pIBuffer, 1064 DWORD cbBufferOffset, 1065 DWORD cbLength); 1066 void __RPC_STUB IMFASFSplitter_ParseData_Stub( 1067 IRpcStubBuffer* This, 1068 IRpcChannelBuffer* pRpcChannelBuffer, 1069 PRPC_MESSAGE pRpcMessage, 1070 DWORD* pdwStubPhase); 1071 HRESULT STDMETHODCALLTYPE IMFASFSplitter_GetNextSample_Proxy( 1072 IMFASFSplitter* This, 1073 DWORD *pdwStatusFlags, 1074 WORD *pwStreamNumber, 1075 IMFSample **ppISample); 1076 void __RPC_STUB IMFASFSplitter_GetNextSample_Stub( 1077 IRpcStubBuffer* This, 1078 IRpcChannelBuffer* pRpcChannelBuffer, 1079 PRPC_MESSAGE pRpcMessage, 1080 DWORD* pdwStubPhase); 1081 HRESULT STDMETHODCALLTYPE IMFASFSplitter_Flush_Proxy( 1082 IMFASFSplitter* This); 1083 void __RPC_STUB IMFASFSplitter_Flush_Stub( 1084 IRpcStubBuffer* This, 1085 IRpcChannelBuffer* pRpcChannelBuffer, 1086 PRPC_MESSAGE pRpcMessage, 1087 DWORD* pdwStubPhase); 1088 HRESULT STDMETHODCALLTYPE IMFASFSplitter_GetLastSendTime_Proxy( 1089 IMFASFSplitter* This, 1090 DWORD *pdwLastSendTime); 1091 void __RPC_STUB IMFASFSplitter_GetLastSendTime_Stub( 1092 IRpcStubBuffer* This, 1093 IRpcChannelBuffer* pRpcChannelBuffer, 1094 PRPC_MESSAGE pRpcMessage, 1095 DWORD* pdwStubPhase); 1096 1097 #endif /* __IMFASFSplitter_INTERFACE_DEFINED__ */ 1098 1099 /***************************************************************************** 1100 * IMFASFMultiplexer interface 1101 */ 1102 #ifndef __IMFASFMultiplexer_INTERFACE_DEFINED__ 1103 #define __IMFASFMultiplexer_INTERFACE_DEFINED__ 1104 1105 DEFINE_GUID(IID_IMFASFMultiplexer, 0x57bdd80a, 0x9b38, 0x4838, 0xb7,0x37, 0xc5,0x8f,0x67,0x0d,0x7d,0x4f); 1106 #if defined(__cplusplus) && !defined(CINTERFACE) 1107 MIDL_INTERFACE("57bdd80a-9b38-4838-b737-c58f670d7d4f") 1108 IMFASFMultiplexer : public IUnknown 1109 { 1110 virtual HRESULT STDMETHODCALLTYPE Initialize( 1111 IMFASFContentInfo *pIContentInfo) = 0; 1112 1113 virtual HRESULT STDMETHODCALLTYPE SetFlags( 1114 DWORD dwFlags) = 0; 1115 1116 virtual HRESULT STDMETHODCALLTYPE GetFlags( 1117 DWORD *pdwFlags) = 0; 1118 1119 virtual HRESULT STDMETHODCALLTYPE ProcessSample( 1120 WORD wStreamNumber, 1121 IMFSample *pISample, 1122 LONGLONG hnsTimestampAdjust) = 0; 1123 1124 virtual HRESULT STDMETHODCALLTYPE GetNextPacket( 1125 DWORD *pdwStatusFlags, 1126 IMFSample **ppIPacket) = 0; 1127 1128 virtual HRESULT STDMETHODCALLTYPE Flush( 1129 ) = 0; 1130 1131 virtual HRESULT STDMETHODCALLTYPE End( 1132 IMFASFContentInfo *pIContentInfo) = 0; 1133 1134 virtual HRESULT STDMETHODCALLTYPE GetStatistics( 1135 WORD wStreamNumber, 1136 ASF_MUX_STATISTICS *pMuxStats) = 0; 1137 1138 virtual HRESULT STDMETHODCALLTYPE SetSyncTolerance( 1139 DWORD msSyncTolerance) = 0; 1140 1141 }; 1142 #ifdef __CRT_UUID_DECL 1143 __CRT_UUID_DECL(IMFASFMultiplexer, 0x57bdd80a, 0x9b38, 0x4838, 0xb7,0x37, 0xc5,0x8f,0x67,0x0d,0x7d,0x4f) 1144 #endif 1145 #else 1146 typedef struct IMFASFMultiplexerVtbl { 1147 BEGIN_INTERFACE 1148 1149 /*** IUnknown methods ***/ 1150 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1151 IMFASFMultiplexer* This, 1152 REFIID riid, 1153 void **ppvObject); 1154 1155 ULONG (STDMETHODCALLTYPE *AddRef)( 1156 IMFASFMultiplexer* This); 1157 1158 ULONG (STDMETHODCALLTYPE *Release)( 1159 IMFASFMultiplexer* This); 1160 1161 /*** IMFASFMultiplexer methods ***/ 1162 HRESULT (STDMETHODCALLTYPE *Initialize)( 1163 IMFASFMultiplexer* This, 1164 IMFASFContentInfo *pIContentInfo); 1165 1166 HRESULT (STDMETHODCALLTYPE *SetFlags)( 1167 IMFASFMultiplexer* This, 1168 DWORD dwFlags); 1169 1170 HRESULT (STDMETHODCALLTYPE *GetFlags)( 1171 IMFASFMultiplexer* This, 1172 DWORD *pdwFlags); 1173 1174 HRESULT (STDMETHODCALLTYPE *ProcessSample)( 1175 IMFASFMultiplexer* This, 1176 WORD wStreamNumber, 1177 IMFSample *pISample, 1178 LONGLONG hnsTimestampAdjust); 1179 1180 HRESULT (STDMETHODCALLTYPE *GetNextPacket)( 1181 IMFASFMultiplexer* This, 1182 DWORD *pdwStatusFlags, 1183 IMFSample **ppIPacket); 1184 1185 HRESULT (STDMETHODCALLTYPE *Flush)( 1186 IMFASFMultiplexer* This); 1187 1188 HRESULT (STDMETHODCALLTYPE *End)( 1189 IMFASFMultiplexer* This, 1190 IMFASFContentInfo *pIContentInfo); 1191 1192 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 1193 IMFASFMultiplexer* This, 1194 WORD wStreamNumber, 1195 ASF_MUX_STATISTICS *pMuxStats); 1196 1197 HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)( 1198 IMFASFMultiplexer* This, 1199 DWORD msSyncTolerance); 1200 1201 END_INTERFACE 1202 } IMFASFMultiplexerVtbl; 1203 interface IMFASFMultiplexer { 1204 CONST_VTBL IMFASFMultiplexerVtbl* lpVtbl; 1205 }; 1206 1207 #ifdef COBJMACROS 1208 #ifndef WIDL_C_INLINE_WRAPPERS 1209 /*** IUnknown methods ***/ 1210 #define IMFASFMultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1211 #define IMFASFMultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This) 1212 #define IMFASFMultiplexer_Release(This) (This)->lpVtbl->Release(This) 1213 /*** IMFASFMultiplexer methods ***/ 1214 #define IMFASFMultiplexer_Initialize(This,pIContentInfo) (This)->lpVtbl->Initialize(This,pIContentInfo) 1215 #define IMFASFMultiplexer_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags) 1216 #define IMFASFMultiplexer_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags) 1217 #define IMFASFMultiplexer_ProcessSample(This,wStreamNumber,pISample,hnsTimestampAdjust) (This)->lpVtbl->ProcessSample(This,wStreamNumber,pISample,hnsTimestampAdjust) 1218 #define IMFASFMultiplexer_GetNextPacket(This,pdwStatusFlags,ppIPacket) (This)->lpVtbl->GetNextPacket(This,pdwStatusFlags,ppIPacket) 1219 #define IMFASFMultiplexer_Flush(This) (This)->lpVtbl->Flush(This) 1220 #define IMFASFMultiplexer_End(This,pIContentInfo) (This)->lpVtbl->End(This,pIContentInfo) 1221 #define IMFASFMultiplexer_GetStatistics(This,wStreamNumber,pMuxStats) (This)->lpVtbl->GetStatistics(This,wStreamNumber,pMuxStats) 1222 #define IMFASFMultiplexer_SetSyncTolerance(This,msSyncTolerance) (This)->lpVtbl->SetSyncTolerance(This,msSyncTolerance) 1223 #else 1224 /*** IUnknown methods ***/ 1225 static FORCEINLINE HRESULT IMFASFMultiplexer_QueryInterface(IMFASFMultiplexer* This,REFIID riid,void **ppvObject) { 1226 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1227 } 1228 static FORCEINLINE ULONG IMFASFMultiplexer_AddRef(IMFASFMultiplexer* This) { 1229 return This->lpVtbl->AddRef(This); 1230 } 1231 static FORCEINLINE ULONG IMFASFMultiplexer_Release(IMFASFMultiplexer* This) { 1232 return This->lpVtbl->Release(This); 1233 } 1234 /*** IMFASFMultiplexer methods ***/ 1235 static FORCEINLINE HRESULT IMFASFMultiplexer_Initialize(IMFASFMultiplexer* This,IMFASFContentInfo *pIContentInfo) { 1236 return This->lpVtbl->Initialize(This,pIContentInfo); 1237 } 1238 static FORCEINLINE HRESULT IMFASFMultiplexer_SetFlags(IMFASFMultiplexer* This,DWORD dwFlags) { 1239 return This->lpVtbl->SetFlags(This,dwFlags); 1240 } 1241 static FORCEINLINE HRESULT IMFASFMultiplexer_GetFlags(IMFASFMultiplexer* This,DWORD *pdwFlags) { 1242 return This->lpVtbl->GetFlags(This,pdwFlags); 1243 } 1244 static FORCEINLINE HRESULT IMFASFMultiplexer_ProcessSample(IMFASFMultiplexer* This,WORD wStreamNumber,IMFSample *pISample,LONGLONG hnsTimestampAdjust) { 1245 return This->lpVtbl->ProcessSample(This,wStreamNumber,pISample,hnsTimestampAdjust); 1246 } 1247 static FORCEINLINE HRESULT IMFASFMultiplexer_GetNextPacket(IMFASFMultiplexer* This,DWORD *pdwStatusFlags,IMFSample **ppIPacket) { 1248 return This->lpVtbl->GetNextPacket(This,pdwStatusFlags,ppIPacket); 1249 } 1250 static FORCEINLINE HRESULT IMFASFMultiplexer_Flush(IMFASFMultiplexer* This) { 1251 return This->lpVtbl->Flush(This); 1252 } 1253 static FORCEINLINE HRESULT IMFASFMultiplexer_End(IMFASFMultiplexer* This,IMFASFContentInfo *pIContentInfo) { 1254 return This->lpVtbl->End(This,pIContentInfo); 1255 } 1256 static FORCEINLINE HRESULT IMFASFMultiplexer_GetStatistics(IMFASFMultiplexer* This,WORD wStreamNumber,ASF_MUX_STATISTICS *pMuxStats) { 1257 return This->lpVtbl->GetStatistics(This,wStreamNumber,pMuxStats); 1258 } 1259 static FORCEINLINE HRESULT IMFASFMultiplexer_SetSyncTolerance(IMFASFMultiplexer* This,DWORD msSyncTolerance) { 1260 return This->lpVtbl->SetSyncTolerance(This,msSyncTolerance); 1261 } 1262 #endif 1263 #endif 1264 1265 #endif 1266 1267 HRESULT STDMETHODCALLTYPE IMFASFMultiplexer_Initialize_Proxy( 1268 IMFASFMultiplexer* This, 1269 IMFASFContentInfo *pIContentInfo); 1270 void __RPC_STUB IMFASFMultiplexer_Initialize_Stub( 1271 IRpcStubBuffer* This, 1272 IRpcChannelBuffer* pRpcChannelBuffer, 1273 PRPC_MESSAGE pRpcMessage, 1274 DWORD* pdwStubPhase); 1275 HRESULT STDMETHODCALLTYPE IMFASFMultiplexer_SetFlags_Proxy( 1276 IMFASFMultiplexer* This, 1277 DWORD dwFlags); 1278 void __RPC_STUB IMFASFMultiplexer_SetFlags_Stub( 1279 IRpcStubBuffer* This, 1280 IRpcChannelBuffer* pRpcChannelBuffer, 1281 PRPC_MESSAGE pRpcMessage, 1282 DWORD* pdwStubPhase); 1283 HRESULT STDMETHODCALLTYPE IMFASFMultiplexer_GetFlags_Proxy( 1284 IMFASFMultiplexer* This, 1285 DWORD *pdwFlags); 1286 void __RPC_STUB IMFASFMultiplexer_GetFlags_Stub( 1287 IRpcStubBuffer* This, 1288 IRpcChannelBuffer* pRpcChannelBuffer, 1289 PRPC_MESSAGE pRpcMessage, 1290 DWORD* pdwStubPhase); 1291 HRESULT STDMETHODCALLTYPE IMFASFMultiplexer_ProcessSample_Proxy( 1292 IMFASFMultiplexer* This, 1293 WORD wStreamNumber, 1294 IMFSample *pISample, 1295 LONGLONG hnsTimestampAdjust); 1296 void __RPC_STUB IMFASFMultiplexer_ProcessSample_Stub( 1297 IRpcStubBuffer* This, 1298 IRpcChannelBuffer* pRpcChannelBuffer, 1299 PRPC_MESSAGE pRpcMessage, 1300 DWORD* pdwStubPhase); 1301 HRESULT STDMETHODCALLTYPE IMFASFMultiplexer_GetNextPacket_Proxy( 1302 IMFASFMultiplexer* This, 1303 DWORD *pdwStatusFlags, 1304 IMFSample **ppIPacket); 1305 void __RPC_STUB IMFASFMultiplexer_GetNextPacket_Stub( 1306 IRpcStubBuffer* This, 1307 IRpcChannelBuffer* pRpcChannelBuffer, 1308 PRPC_MESSAGE pRpcMessage, 1309 DWORD* pdwStubPhase); 1310 HRESULT STDMETHODCALLTYPE IMFASFMultiplexer_Flush_Proxy( 1311 IMFASFMultiplexer* This); 1312 void __RPC_STUB IMFASFMultiplexer_Flush_Stub( 1313 IRpcStubBuffer* This, 1314 IRpcChannelBuffer* pRpcChannelBuffer, 1315 PRPC_MESSAGE pRpcMessage, 1316 DWORD* pdwStubPhase); 1317 HRESULT STDMETHODCALLTYPE IMFASFMultiplexer_End_Proxy( 1318 IMFASFMultiplexer* This, 1319 IMFASFContentInfo *pIContentInfo); 1320 void __RPC_STUB IMFASFMultiplexer_End_Stub( 1321 IRpcStubBuffer* This, 1322 IRpcChannelBuffer* pRpcChannelBuffer, 1323 PRPC_MESSAGE pRpcMessage, 1324 DWORD* pdwStubPhase); 1325 HRESULT STDMETHODCALLTYPE IMFASFMultiplexer_GetStatistics_Proxy( 1326 IMFASFMultiplexer* This, 1327 WORD wStreamNumber, 1328 ASF_MUX_STATISTICS *pMuxStats); 1329 void __RPC_STUB IMFASFMultiplexer_GetStatistics_Stub( 1330 IRpcStubBuffer* This, 1331 IRpcChannelBuffer* pRpcChannelBuffer, 1332 PRPC_MESSAGE pRpcMessage, 1333 DWORD* pdwStubPhase); 1334 HRESULT STDMETHODCALLTYPE IMFASFMultiplexer_SetSyncTolerance_Proxy( 1335 IMFASFMultiplexer* This, 1336 DWORD msSyncTolerance); 1337 void __RPC_STUB IMFASFMultiplexer_SetSyncTolerance_Stub( 1338 IRpcStubBuffer* This, 1339 IRpcChannelBuffer* pRpcChannelBuffer, 1340 PRPC_MESSAGE pRpcMessage, 1341 DWORD* pdwStubPhase); 1342 1343 #endif /* __IMFASFMultiplexer_INTERFACE_DEFINED__ */ 1344 1345 /***************************************************************************** 1346 * IMFASFIndexer interface 1347 */ 1348 #ifndef __IMFASFIndexer_INTERFACE_DEFINED__ 1349 #define __IMFASFIndexer_INTERFACE_DEFINED__ 1350 1351 DEFINE_GUID(IID_IMFASFIndexer, 0x53590f48, 0xdc3b, 0x4297, 0x81,0x3f, 0x78,0x77,0x61,0xad,0x7b,0x3e); 1352 #if defined(__cplusplus) && !defined(CINTERFACE) 1353 MIDL_INTERFACE("53590f48-dc3b-4297-813f-787761ad7b3e") 1354 IMFASFIndexer : public IUnknown 1355 { 1356 virtual HRESULT STDMETHODCALLTYPE SetFlags( 1357 DWORD dwFlags) = 0; 1358 1359 virtual HRESULT STDMETHODCALLTYPE GetFlags( 1360 DWORD *pdwFlags) = 0; 1361 1362 virtual HRESULT STDMETHODCALLTYPE Initialize( 1363 IMFASFContentInfo *pIContentInfo) = 0; 1364 1365 virtual HRESULT STDMETHODCALLTYPE GetIndexPosition( 1366 IMFASFContentInfo *pIContentInfo, 1367 QWORD *pcbIndexOffset) = 0; 1368 1369 virtual HRESULT STDMETHODCALLTYPE SetIndexByteStreams( 1370 IMFByteStream **ppIByteStreams, 1371 DWORD cByteStreams) = 0; 1372 1373 virtual HRESULT STDMETHODCALLTYPE GetIndexByteStreamCount( 1374 DWORD *pcByteStreams) = 0; 1375 1376 virtual HRESULT STDMETHODCALLTYPE GetIndexStatus( 1377 ASF_INDEX_IDENTIFIER *pIndexIdentifier, 1378 WINBOOL *pfIsIndexed, 1379 BYTE *pbIndexDescriptor, 1380 DWORD *pcbIndexDescriptor) = 0; 1381 1382 virtual HRESULT STDMETHODCALLTYPE SetIndexStatus( 1383 BYTE *pbIndexDescriptor, 1384 DWORD cbIndexDescriptor, 1385 WINBOOL fGenerateIndex) = 0; 1386 1387 virtual HRESULT STDMETHODCALLTYPE GetSeekPositionForValue( 1388 const PROPVARIANT *pvarValue, 1389 ASF_INDEX_IDENTIFIER *pIndexIdentifier, 1390 QWORD *pcbOffsetWithinData, 1391 MFTIME *phnsApproxTime, 1392 DWORD *pdwPayloadNumberOfStreamWithinPacket) = 0; 1393 1394 virtual HRESULT STDMETHODCALLTYPE GenerateIndexEntries( 1395 IMFSample *pIASFPacketSample) = 0; 1396 1397 virtual HRESULT STDMETHODCALLTYPE CommitIndex( 1398 IMFASFContentInfo *pIContentInfo) = 0; 1399 1400 virtual HRESULT STDMETHODCALLTYPE GetIndexWriteSpace( 1401 QWORD *pcbIndexWriteSpace) = 0; 1402 1403 virtual HRESULT STDMETHODCALLTYPE GetCompletedIndex( 1404 IMFMediaBuffer *pIIndexBuffer, 1405 QWORD cbOffsetWithinIndex) = 0; 1406 1407 }; 1408 #ifdef __CRT_UUID_DECL 1409 __CRT_UUID_DECL(IMFASFIndexer, 0x53590f48, 0xdc3b, 0x4297, 0x81,0x3f, 0x78,0x77,0x61,0xad,0x7b,0x3e) 1410 #endif 1411 #else 1412 typedef struct IMFASFIndexerVtbl { 1413 BEGIN_INTERFACE 1414 1415 /*** IUnknown methods ***/ 1416 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1417 IMFASFIndexer* This, 1418 REFIID riid, 1419 void **ppvObject); 1420 1421 ULONG (STDMETHODCALLTYPE *AddRef)( 1422 IMFASFIndexer* This); 1423 1424 ULONG (STDMETHODCALLTYPE *Release)( 1425 IMFASFIndexer* This); 1426 1427 /*** IMFASFIndexer methods ***/ 1428 HRESULT (STDMETHODCALLTYPE *SetFlags)( 1429 IMFASFIndexer* This, 1430 DWORD dwFlags); 1431 1432 HRESULT (STDMETHODCALLTYPE *GetFlags)( 1433 IMFASFIndexer* This, 1434 DWORD *pdwFlags); 1435 1436 HRESULT (STDMETHODCALLTYPE *Initialize)( 1437 IMFASFIndexer* This, 1438 IMFASFContentInfo *pIContentInfo); 1439 1440 HRESULT (STDMETHODCALLTYPE *GetIndexPosition)( 1441 IMFASFIndexer* This, 1442 IMFASFContentInfo *pIContentInfo, 1443 QWORD *pcbIndexOffset); 1444 1445 HRESULT (STDMETHODCALLTYPE *SetIndexByteStreams)( 1446 IMFASFIndexer* This, 1447 IMFByteStream **ppIByteStreams, 1448 DWORD cByteStreams); 1449 1450 HRESULT (STDMETHODCALLTYPE *GetIndexByteStreamCount)( 1451 IMFASFIndexer* This, 1452 DWORD *pcByteStreams); 1453 1454 HRESULT (STDMETHODCALLTYPE *GetIndexStatus)( 1455 IMFASFIndexer* This, 1456 ASF_INDEX_IDENTIFIER *pIndexIdentifier, 1457 WINBOOL *pfIsIndexed, 1458 BYTE *pbIndexDescriptor, 1459 DWORD *pcbIndexDescriptor); 1460 1461 HRESULT (STDMETHODCALLTYPE *SetIndexStatus)( 1462 IMFASFIndexer* This, 1463 BYTE *pbIndexDescriptor, 1464 DWORD cbIndexDescriptor, 1465 WINBOOL fGenerateIndex); 1466 1467 HRESULT (STDMETHODCALLTYPE *GetSeekPositionForValue)( 1468 IMFASFIndexer* This, 1469 const PROPVARIANT *pvarValue, 1470 ASF_INDEX_IDENTIFIER *pIndexIdentifier, 1471 QWORD *pcbOffsetWithinData, 1472 MFTIME *phnsApproxTime, 1473 DWORD *pdwPayloadNumberOfStreamWithinPacket); 1474 1475 HRESULT (STDMETHODCALLTYPE *GenerateIndexEntries)( 1476 IMFASFIndexer* This, 1477 IMFSample *pIASFPacketSample); 1478 1479 HRESULT (STDMETHODCALLTYPE *CommitIndex)( 1480 IMFASFIndexer* This, 1481 IMFASFContentInfo *pIContentInfo); 1482 1483 HRESULT (STDMETHODCALLTYPE *GetIndexWriteSpace)( 1484 IMFASFIndexer* This, 1485 QWORD *pcbIndexWriteSpace); 1486 1487 HRESULT (STDMETHODCALLTYPE *GetCompletedIndex)( 1488 IMFASFIndexer* This, 1489 IMFMediaBuffer *pIIndexBuffer, 1490 QWORD cbOffsetWithinIndex); 1491 1492 END_INTERFACE 1493 } IMFASFIndexerVtbl; 1494 interface IMFASFIndexer { 1495 CONST_VTBL IMFASFIndexerVtbl* lpVtbl; 1496 }; 1497 1498 #ifdef COBJMACROS 1499 #ifndef WIDL_C_INLINE_WRAPPERS 1500 /*** IUnknown methods ***/ 1501 #define IMFASFIndexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1502 #define IMFASFIndexer_AddRef(This) (This)->lpVtbl->AddRef(This) 1503 #define IMFASFIndexer_Release(This) (This)->lpVtbl->Release(This) 1504 /*** IMFASFIndexer methods ***/ 1505 #define IMFASFIndexer_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags) 1506 #define IMFASFIndexer_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags) 1507 #define IMFASFIndexer_Initialize(This,pIContentInfo) (This)->lpVtbl->Initialize(This,pIContentInfo) 1508 #define IMFASFIndexer_GetIndexPosition(This,pIContentInfo,pcbIndexOffset) (This)->lpVtbl->GetIndexPosition(This,pIContentInfo,pcbIndexOffset) 1509 #define IMFASFIndexer_SetIndexByteStreams(This,ppIByteStreams,cByteStreams) (This)->lpVtbl->SetIndexByteStreams(This,ppIByteStreams,cByteStreams) 1510 #define IMFASFIndexer_GetIndexByteStreamCount(This,pcByteStreams) (This)->lpVtbl->GetIndexByteStreamCount(This,pcByteStreams) 1511 #define IMFASFIndexer_GetIndexStatus(This,pIndexIdentifier,pfIsIndexed,pbIndexDescriptor,pcbIndexDescriptor) (This)->lpVtbl->GetIndexStatus(This,pIndexIdentifier,pfIsIndexed,pbIndexDescriptor,pcbIndexDescriptor) 1512 #define IMFASFIndexer_SetIndexStatus(This,pbIndexDescriptor,cbIndexDescriptor,fGenerateIndex) (This)->lpVtbl->SetIndexStatus(This,pbIndexDescriptor,cbIndexDescriptor,fGenerateIndex) 1513 #define IMFASFIndexer_GetSeekPositionForValue(This,pvarValue,pIndexIdentifier,pcbOffsetWithinData,phnsApproxTime,pdwPayloadNumberOfStreamWithinPacket) (This)->lpVtbl->GetSeekPositionForValue(This,pvarValue,pIndexIdentifier,pcbOffsetWithinData,phnsApproxTime,pdwPayloadNumberOfStreamWithinPacket) 1514 #define IMFASFIndexer_GenerateIndexEntries(This,pIASFPacketSample) (This)->lpVtbl->GenerateIndexEntries(This,pIASFPacketSample) 1515 #define IMFASFIndexer_CommitIndex(This,pIContentInfo) (This)->lpVtbl->CommitIndex(This,pIContentInfo) 1516 #define IMFASFIndexer_GetIndexWriteSpace(This,pcbIndexWriteSpace) (This)->lpVtbl->GetIndexWriteSpace(This,pcbIndexWriteSpace) 1517 #define IMFASFIndexer_GetCompletedIndex(This,pIIndexBuffer,cbOffsetWithinIndex) (This)->lpVtbl->GetCompletedIndex(This,pIIndexBuffer,cbOffsetWithinIndex) 1518 #else 1519 /*** IUnknown methods ***/ 1520 static FORCEINLINE HRESULT IMFASFIndexer_QueryInterface(IMFASFIndexer* This,REFIID riid,void **ppvObject) { 1521 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1522 } 1523 static FORCEINLINE ULONG IMFASFIndexer_AddRef(IMFASFIndexer* This) { 1524 return This->lpVtbl->AddRef(This); 1525 } 1526 static FORCEINLINE ULONG IMFASFIndexer_Release(IMFASFIndexer* This) { 1527 return This->lpVtbl->Release(This); 1528 } 1529 /*** IMFASFIndexer methods ***/ 1530 static FORCEINLINE HRESULT IMFASFIndexer_SetFlags(IMFASFIndexer* This,DWORD dwFlags) { 1531 return This->lpVtbl->SetFlags(This,dwFlags); 1532 } 1533 static FORCEINLINE HRESULT IMFASFIndexer_GetFlags(IMFASFIndexer* This,DWORD *pdwFlags) { 1534 return This->lpVtbl->GetFlags(This,pdwFlags); 1535 } 1536 static FORCEINLINE HRESULT IMFASFIndexer_Initialize(IMFASFIndexer* This,IMFASFContentInfo *pIContentInfo) { 1537 return This->lpVtbl->Initialize(This,pIContentInfo); 1538 } 1539 static FORCEINLINE HRESULT IMFASFIndexer_GetIndexPosition(IMFASFIndexer* This,IMFASFContentInfo *pIContentInfo,QWORD *pcbIndexOffset) { 1540 return This->lpVtbl->GetIndexPosition(This,pIContentInfo,pcbIndexOffset); 1541 } 1542 static FORCEINLINE HRESULT IMFASFIndexer_SetIndexByteStreams(IMFASFIndexer* This,IMFByteStream **ppIByteStreams,DWORD cByteStreams) { 1543 return This->lpVtbl->SetIndexByteStreams(This,ppIByteStreams,cByteStreams); 1544 } 1545 static FORCEINLINE HRESULT IMFASFIndexer_GetIndexByteStreamCount(IMFASFIndexer* This,DWORD *pcByteStreams) { 1546 return This->lpVtbl->GetIndexByteStreamCount(This,pcByteStreams); 1547 } 1548 static FORCEINLINE HRESULT IMFASFIndexer_GetIndexStatus(IMFASFIndexer* This,ASF_INDEX_IDENTIFIER *pIndexIdentifier,WINBOOL *pfIsIndexed,BYTE *pbIndexDescriptor,DWORD *pcbIndexDescriptor) { 1549 return This->lpVtbl->GetIndexStatus(This,pIndexIdentifier,pfIsIndexed,pbIndexDescriptor,pcbIndexDescriptor); 1550 } 1551 static FORCEINLINE HRESULT IMFASFIndexer_SetIndexStatus(IMFASFIndexer* This,BYTE *pbIndexDescriptor,DWORD cbIndexDescriptor,WINBOOL fGenerateIndex) { 1552 return This->lpVtbl->SetIndexStatus(This,pbIndexDescriptor,cbIndexDescriptor,fGenerateIndex); 1553 } 1554 static FORCEINLINE HRESULT IMFASFIndexer_GetSeekPositionForValue(IMFASFIndexer* This,const PROPVARIANT *pvarValue,ASF_INDEX_IDENTIFIER *pIndexIdentifier,QWORD *pcbOffsetWithinData,MFTIME *phnsApproxTime,DWORD *pdwPayloadNumberOfStreamWithinPacket) { 1555 return This->lpVtbl->GetSeekPositionForValue(This,pvarValue,pIndexIdentifier,pcbOffsetWithinData,phnsApproxTime,pdwPayloadNumberOfStreamWithinPacket); 1556 } 1557 static FORCEINLINE HRESULT IMFASFIndexer_GenerateIndexEntries(IMFASFIndexer* This,IMFSample *pIASFPacketSample) { 1558 return This->lpVtbl->GenerateIndexEntries(This,pIASFPacketSample); 1559 } 1560 static FORCEINLINE HRESULT IMFASFIndexer_CommitIndex(IMFASFIndexer* This,IMFASFContentInfo *pIContentInfo) { 1561 return This->lpVtbl->CommitIndex(This,pIContentInfo); 1562 } 1563 static FORCEINLINE HRESULT IMFASFIndexer_GetIndexWriteSpace(IMFASFIndexer* This,QWORD *pcbIndexWriteSpace) { 1564 return This->lpVtbl->GetIndexWriteSpace(This,pcbIndexWriteSpace); 1565 } 1566 static FORCEINLINE HRESULT IMFASFIndexer_GetCompletedIndex(IMFASFIndexer* This,IMFMediaBuffer *pIIndexBuffer,QWORD cbOffsetWithinIndex) { 1567 return This->lpVtbl->GetCompletedIndex(This,pIIndexBuffer,cbOffsetWithinIndex); 1568 } 1569 #endif 1570 #endif 1571 1572 #endif 1573 1574 HRESULT STDMETHODCALLTYPE IMFASFIndexer_SetFlags_Proxy( 1575 IMFASFIndexer* This, 1576 DWORD dwFlags); 1577 void __RPC_STUB IMFASFIndexer_SetFlags_Stub( 1578 IRpcStubBuffer* This, 1579 IRpcChannelBuffer* pRpcChannelBuffer, 1580 PRPC_MESSAGE pRpcMessage, 1581 DWORD* pdwStubPhase); 1582 HRESULT STDMETHODCALLTYPE IMFASFIndexer_GetFlags_Proxy( 1583 IMFASFIndexer* This, 1584 DWORD *pdwFlags); 1585 void __RPC_STUB IMFASFIndexer_GetFlags_Stub( 1586 IRpcStubBuffer* This, 1587 IRpcChannelBuffer* pRpcChannelBuffer, 1588 PRPC_MESSAGE pRpcMessage, 1589 DWORD* pdwStubPhase); 1590 HRESULT STDMETHODCALLTYPE IMFASFIndexer_Initialize_Proxy( 1591 IMFASFIndexer* This, 1592 IMFASFContentInfo *pIContentInfo); 1593 void __RPC_STUB IMFASFIndexer_Initialize_Stub( 1594 IRpcStubBuffer* This, 1595 IRpcChannelBuffer* pRpcChannelBuffer, 1596 PRPC_MESSAGE pRpcMessage, 1597 DWORD* pdwStubPhase); 1598 HRESULT STDMETHODCALLTYPE IMFASFIndexer_GetIndexPosition_Proxy( 1599 IMFASFIndexer* This, 1600 IMFASFContentInfo *pIContentInfo, 1601 QWORD *pcbIndexOffset); 1602 void __RPC_STUB IMFASFIndexer_GetIndexPosition_Stub( 1603 IRpcStubBuffer* This, 1604 IRpcChannelBuffer* pRpcChannelBuffer, 1605 PRPC_MESSAGE pRpcMessage, 1606 DWORD* pdwStubPhase); 1607 HRESULT STDMETHODCALLTYPE IMFASFIndexer_SetIndexByteStreams_Proxy( 1608 IMFASFIndexer* This, 1609 IMFByteStream **ppIByteStreams, 1610 DWORD cByteStreams); 1611 void __RPC_STUB IMFASFIndexer_SetIndexByteStreams_Stub( 1612 IRpcStubBuffer* This, 1613 IRpcChannelBuffer* pRpcChannelBuffer, 1614 PRPC_MESSAGE pRpcMessage, 1615 DWORD* pdwStubPhase); 1616 HRESULT STDMETHODCALLTYPE IMFASFIndexer_GetIndexByteStreamCount_Proxy( 1617 IMFASFIndexer* This, 1618 DWORD *pcByteStreams); 1619 void __RPC_STUB IMFASFIndexer_GetIndexByteStreamCount_Stub( 1620 IRpcStubBuffer* This, 1621 IRpcChannelBuffer* pRpcChannelBuffer, 1622 PRPC_MESSAGE pRpcMessage, 1623 DWORD* pdwStubPhase); 1624 HRESULT STDMETHODCALLTYPE IMFASFIndexer_GetIndexStatus_Proxy( 1625 IMFASFIndexer* This, 1626 ASF_INDEX_IDENTIFIER *pIndexIdentifier, 1627 WINBOOL *pfIsIndexed, 1628 BYTE *pbIndexDescriptor, 1629 DWORD *pcbIndexDescriptor); 1630 void __RPC_STUB IMFASFIndexer_GetIndexStatus_Stub( 1631 IRpcStubBuffer* This, 1632 IRpcChannelBuffer* pRpcChannelBuffer, 1633 PRPC_MESSAGE pRpcMessage, 1634 DWORD* pdwStubPhase); 1635 HRESULT STDMETHODCALLTYPE IMFASFIndexer_SetIndexStatus_Proxy( 1636 IMFASFIndexer* This, 1637 BYTE *pbIndexDescriptor, 1638 DWORD cbIndexDescriptor, 1639 WINBOOL fGenerateIndex); 1640 void __RPC_STUB IMFASFIndexer_SetIndexStatus_Stub( 1641 IRpcStubBuffer* This, 1642 IRpcChannelBuffer* pRpcChannelBuffer, 1643 PRPC_MESSAGE pRpcMessage, 1644 DWORD* pdwStubPhase); 1645 HRESULT STDMETHODCALLTYPE IMFASFIndexer_GetSeekPositionForValue_Proxy( 1646 IMFASFIndexer* This, 1647 const PROPVARIANT *pvarValue, 1648 ASF_INDEX_IDENTIFIER *pIndexIdentifier, 1649 QWORD *pcbOffsetWithinData, 1650 MFTIME *phnsApproxTime, 1651 DWORD *pdwPayloadNumberOfStreamWithinPacket); 1652 void __RPC_STUB IMFASFIndexer_GetSeekPositionForValue_Stub( 1653 IRpcStubBuffer* This, 1654 IRpcChannelBuffer* pRpcChannelBuffer, 1655 PRPC_MESSAGE pRpcMessage, 1656 DWORD* pdwStubPhase); 1657 HRESULT STDMETHODCALLTYPE IMFASFIndexer_GenerateIndexEntries_Proxy( 1658 IMFASFIndexer* This, 1659 IMFSample *pIASFPacketSample); 1660 void __RPC_STUB IMFASFIndexer_GenerateIndexEntries_Stub( 1661 IRpcStubBuffer* This, 1662 IRpcChannelBuffer* pRpcChannelBuffer, 1663 PRPC_MESSAGE pRpcMessage, 1664 DWORD* pdwStubPhase); 1665 HRESULT STDMETHODCALLTYPE IMFASFIndexer_CommitIndex_Proxy( 1666 IMFASFIndexer* This, 1667 IMFASFContentInfo *pIContentInfo); 1668 void __RPC_STUB IMFASFIndexer_CommitIndex_Stub( 1669 IRpcStubBuffer* This, 1670 IRpcChannelBuffer* pRpcChannelBuffer, 1671 PRPC_MESSAGE pRpcMessage, 1672 DWORD* pdwStubPhase); 1673 HRESULT STDMETHODCALLTYPE IMFASFIndexer_GetIndexWriteSpace_Proxy( 1674 IMFASFIndexer* This, 1675 QWORD *pcbIndexWriteSpace); 1676 void __RPC_STUB IMFASFIndexer_GetIndexWriteSpace_Stub( 1677 IRpcStubBuffer* This, 1678 IRpcChannelBuffer* pRpcChannelBuffer, 1679 PRPC_MESSAGE pRpcMessage, 1680 DWORD* pdwStubPhase); 1681 HRESULT STDMETHODCALLTYPE IMFASFIndexer_GetCompletedIndex_Proxy( 1682 IMFASFIndexer* This, 1683 IMFMediaBuffer *pIIndexBuffer, 1684 QWORD cbOffsetWithinIndex); 1685 void __RPC_STUB IMFASFIndexer_GetCompletedIndex_Stub( 1686 IRpcStubBuffer* This, 1687 IRpcChannelBuffer* pRpcChannelBuffer, 1688 PRPC_MESSAGE pRpcMessage, 1689 DWORD* pdwStubPhase); 1690 1691 #endif /* __IMFASFIndexer_INTERFACE_DEFINED__ */ 1692 1693 /***************************************************************************** 1694 * IMFASFStreamSelector interface 1695 */ 1696 #ifndef __IMFASFStreamSelector_INTERFACE_DEFINED__ 1697 #define __IMFASFStreamSelector_INTERFACE_DEFINED__ 1698 1699 DEFINE_GUID(IID_IMFASFStreamSelector, 0xd01bad4a, 0x4fa0, 0x4a60, 0x93,0x49, 0xc2,0x7e,0x62,0xda,0x9d,0x41); 1700 #if defined(__cplusplus) && !defined(CINTERFACE) 1701 MIDL_INTERFACE("d01bad4a-4fa0-4a60-9349-c27e62da9d41") 1702 IMFASFStreamSelector : public IUnknown 1703 { 1704 virtual HRESULT STDMETHODCALLTYPE GetStreamCount( 1705 DWORD *pcStreams) = 0; 1706 1707 virtual HRESULT STDMETHODCALLTYPE GetOutputCount( 1708 DWORD *pcOutputs) = 0; 1709 1710 virtual HRESULT STDMETHODCALLTYPE GetOutputStreamCount( 1711 DWORD dwOutputNum, 1712 DWORD *pcStreams) = 0; 1713 1714 virtual HRESULT STDMETHODCALLTYPE GetOutputStreamNumbers( 1715 DWORD dwOutputNum, 1716 WORD *rgwStreamNumbers) = 0; 1717 1718 virtual HRESULT STDMETHODCALLTYPE GetOutputFromStream( 1719 WORD wStreamNum, 1720 DWORD *pdwOutput) = 0; 1721 1722 virtual HRESULT STDMETHODCALLTYPE GetOutputOverride( 1723 DWORD dwOutputNum, 1724 ASF_SELECTION_STATUS *pSelection) = 0; 1725 1726 virtual HRESULT STDMETHODCALLTYPE SetOutputOverride( 1727 DWORD dwOutputNum, 1728 ASF_SELECTION_STATUS Selection) = 0; 1729 1730 virtual HRESULT STDMETHODCALLTYPE GetOutputMutexCount( 1731 DWORD dwOutputNum, 1732 DWORD *pcMutexes) = 0; 1733 1734 virtual HRESULT STDMETHODCALLTYPE GetOutputMutex( 1735 DWORD dwOutputNum, 1736 DWORD dwMutexNum, 1737 IUnknown **ppMutex) = 0; 1738 1739 virtual HRESULT STDMETHODCALLTYPE SetOutputMutexSelection( 1740 DWORD dwOutputNum, 1741 DWORD dwMutexNum, 1742 WORD wSelectedRecord) = 0; 1743 1744 virtual HRESULT STDMETHODCALLTYPE GetBandwidthStepCount( 1745 DWORD *pcStepCount) = 0; 1746 1747 virtual HRESULT STDMETHODCALLTYPE GetBandwidthStep( 1748 DWORD dwStepNum, 1749 DWORD *pdwBitrate, 1750 WORD *rgwStreamNumbers, 1751 ASF_SELECTION_STATUS *rgSelections) = 0; 1752 1753 virtual HRESULT STDMETHODCALLTYPE BitrateToStepNumber( 1754 DWORD dwBitrate, 1755 DWORD *pdwStepNum) = 0; 1756 1757 virtual HRESULT STDMETHODCALLTYPE SetStreamSelectorFlags( 1758 DWORD dwStreamSelectorFlags) = 0; 1759 1760 }; 1761 #ifdef __CRT_UUID_DECL 1762 __CRT_UUID_DECL(IMFASFStreamSelector, 0xd01bad4a, 0x4fa0, 0x4a60, 0x93,0x49, 0xc2,0x7e,0x62,0xda,0x9d,0x41) 1763 #endif 1764 #else 1765 typedef struct IMFASFStreamSelectorVtbl { 1766 BEGIN_INTERFACE 1767 1768 /*** IUnknown methods ***/ 1769 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1770 IMFASFStreamSelector* This, 1771 REFIID riid, 1772 void **ppvObject); 1773 1774 ULONG (STDMETHODCALLTYPE *AddRef)( 1775 IMFASFStreamSelector* This); 1776 1777 ULONG (STDMETHODCALLTYPE *Release)( 1778 IMFASFStreamSelector* This); 1779 1780 /*** IMFASFStreamSelector methods ***/ 1781 HRESULT (STDMETHODCALLTYPE *GetStreamCount)( 1782 IMFASFStreamSelector* This, 1783 DWORD *pcStreams); 1784 1785 HRESULT (STDMETHODCALLTYPE *GetOutputCount)( 1786 IMFASFStreamSelector* This, 1787 DWORD *pcOutputs); 1788 1789 HRESULT (STDMETHODCALLTYPE *GetOutputStreamCount)( 1790 IMFASFStreamSelector* This, 1791 DWORD dwOutputNum, 1792 DWORD *pcStreams); 1793 1794 HRESULT (STDMETHODCALLTYPE *GetOutputStreamNumbers)( 1795 IMFASFStreamSelector* This, 1796 DWORD dwOutputNum, 1797 WORD *rgwStreamNumbers); 1798 1799 HRESULT (STDMETHODCALLTYPE *GetOutputFromStream)( 1800 IMFASFStreamSelector* This, 1801 WORD wStreamNum, 1802 DWORD *pdwOutput); 1803 1804 HRESULT (STDMETHODCALLTYPE *GetOutputOverride)( 1805 IMFASFStreamSelector* This, 1806 DWORD dwOutputNum, 1807 ASF_SELECTION_STATUS *pSelection); 1808 1809 HRESULT (STDMETHODCALLTYPE *SetOutputOverride)( 1810 IMFASFStreamSelector* This, 1811 DWORD dwOutputNum, 1812 ASF_SELECTION_STATUS Selection); 1813 1814 HRESULT (STDMETHODCALLTYPE *GetOutputMutexCount)( 1815 IMFASFStreamSelector* This, 1816 DWORD dwOutputNum, 1817 DWORD *pcMutexes); 1818 1819 HRESULT (STDMETHODCALLTYPE *GetOutputMutex)( 1820 IMFASFStreamSelector* This, 1821 DWORD dwOutputNum, 1822 DWORD dwMutexNum, 1823 IUnknown **ppMutex); 1824 1825 HRESULT (STDMETHODCALLTYPE *SetOutputMutexSelection)( 1826 IMFASFStreamSelector* This, 1827 DWORD dwOutputNum, 1828 DWORD dwMutexNum, 1829 WORD wSelectedRecord); 1830 1831 HRESULT (STDMETHODCALLTYPE *GetBandwidthStepCount)( 1832 IMFASFStreamSelector* This, 1833 DWORD *pcStepCount); 1834 1835 HRESULT (STDMETHODCALLTYPE *GetBandwidthStep)( 1836 IMFASFStreamSelector* This, 1837 DWORD dwStepNum, 1838 DWORD *pdwBitrate, 1839 WORD *rgwStreamNumbers, 1840 ASF_SELECTION_STATUS *rgSelections); 1841 1842 HRESULT (STDMETHODCALLTYPE *BitrateToStepNumber)( 1843 IMFASFStreamSelector* This, 1844 DWORD dwBitrate, 1845 DWORD *pdwStepNum); 1846 1847 HRESULT (STDMETHODCALLTYPE *SetStreamSelectorFlags)( 1848 IMFASFStreamSelector* This, 1849 DWORD dwStreamSelectorFlags); 1850 1851 END_INTERFACE 1852 } IMFASFStreamSelectorVtbl; 1853 interface IMFASFStreamSelector { 1854 CONST_VTBL IMFASFStreamSelectorVtbl* lpVtbl; 1855 }; 1856 1857 #ifdef COBJMACROS 1858 #ifndef WIDL_C_INLINE_WRAPPERS 1859 /*** IUnknown methods ***/ 1860 #define IMFASFStreamSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1861 #define IMFASFStreamSelector_AddRef(This) (This)->lpVtbl->AddRef(This) 1862 #define IMFASFStreamSelector_Release(This) (This)->lpVtbl->Release(This) 1863 /*** IMFASFStreamSelector methods ***/ 1864 #define IMFASFStreamSelector_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams) 1865 #define IMFASFStreamSelector_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs) 1866 #define IMFASFStreamSelector_GetOutputStreamCount(This,dwOutputNum,pcStreams) (This)->lpVtbl->GetOutputStreamCount(This,dwOutputNum,pcStreams) 1867 #define IMFASFStreamSelector_GetOutputStreamNumbers(This,dwOutputNum,rgwStreamNumbers) (This)->lpVtbl->GetOutputStreamNumbers(This,dwOutputNum,rgwStreamNumbers) 1868 #define IMFASFStreamSelector_GetOutputFromStream(This,wStreamNum,pdwOutput) (This)->lpVtbl->GetOutputFromStream(This,wStreamNum,pdwOutput) 1869 #define IMFASFStreamSelector_GetOutputOverride(This,dwOutputNum,pSelection) (This)->lpVtbl->GetOutputOverride(This,dwOutputNum,pSelection) 1870 #define IMFASFStreamSelector_SetOutputOverride(This,dwOutputNum,Selection) (This)->lpVtbl->SetOutputOverride(This,dwOutputNum,Selection) 1871 #define IMFASFStreamSelector_GetOutputMutexCount(This,dwOutputNum,pcMutexes) (This)->lpVtbl->GetOutputMutexCount(This,dwOutputNum,pcMutexes) 1872 #define IMFASFStreamSelector_GetOutputMutex(This,dwOutputNum,dwMutexNum,ppMutex) (This)->lpVtbl->GetOutputMutex(This,dwOutputNum,dwMutexNum,ppMutex) 1873 #define IMFASFStreamSelector_SetOutputMutexSelection(This,dwOutputNum,dwMutexNum,wSelectedRecord) (This)->lpVtbl->SetOutputMutexSelection(This,dwOutputNum,dwMutexNum,wSelectedRecord) 1874 #define IMFASFStreamSelector_GetBandwidthStepCount(This,pcStepCount) (This)->lpVtbl->GetBandwidthStepCount(This,pcStepCount) 1875 #define IMFASFStreamSelector_GetBandwidthStep(This,dwStepNum,pdwBitrate,rgwStreamNumbers,rgSelections) (This)->lpVtbl->GetBandwidthStep(This,dwStepNum,pdwBitrate,rgwStreamNumbers,rgSelections) 1876 #define IMFASFStreamSelector_BitrateToStepNumber(This,dwBitrate,pdwStepNum) (This)->lpVtbl->BitrateToStepNumber(This,dwBitrate,pdwStepNum) 1877 #define IMFASFStreamSelector_SetStreamSelectorFlags(This,dwStreamSelectorFlags) (This)->lpVtbl->SetStreamSelectorFlags(This,dwStreamSelectorFlags) 1878 #else 1879 /*** IUnknown methods ***/ 1880 static FORCEINLINE HRESULT IMFASFStreamSelector_QueryInterface(IMFASFStreamSelector* This,REFIID riid,void **ppvObject) { 1881 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1882 } 1883 static FORCEINLINE ULONG IMFASFStreamSelector_AddRef(IMFASFStreamSelector* This) { 1884 return This->lpVtbl->AddRef(This); 1885 } 1886 static FORCEINLINE ULONG IMFASFStreamSelector_Release(IMFASFStreamSelector* This) { 1887 return This->lpVtbl->Release(This); 1888 } 1889 /*** IMFASFStreamSelector methods ***/ 1890 static FORCEINLINE HRESULT IMFASFStreamSelector_GetStreamCount(IMFASFStreamSelector* This,DWORD *pcStreams) { 1891 return This->lpVtbl->GetStreamCount(This,pcStreams); 1892 } 1893 static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputCount(IMFASFStreamSelector* This,DWORD *pcOutputs) { 1894 return This->lpVtbl->GetOutputCount(This,pcOutputs); 1895 } 1896 static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputStreamCount(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD *pcStreams) { 1897 return This->lpVtbl->GetOutputStreamCount(This,dwOutputNum,pcStreams); 1898 } 1899 static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputStreamNumbers(IMFASFStreamSelector* This,DWORD dwOutputNum,WORD *rgwStreamNumbers) { 1900 return This->lpVtbl->GetOutputStreamNumbers(This,dwOutputNum,rgwStreamNumbers); 1901 } 1902 static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputFromStream(IMFASFStreamSelector* This,WORD wStreamNum,DWORD *pdwOutput) { 1903 return This->lpVtbl->GetOutputFromStream(This,wStreamNum,pdwOutput); 1904 } 1905 static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputOverride(IMFASFStreamSelector* This,DWORD dwOutputNum,ASF_SELECTION_STATUS *pSelection) { 1906 return This->lpVtbl->GetOutputOverride(This,dwOutputNum,pSelection); 1907 } 1908 static FORCEINLINE HRESULT IMFASFStreamSelector_SetOutputOverride(IMFASFStreamSelector* This,DWORD dwOutputNum,ASF_SELECTION_STATUS Selection) { 1909 return This->lpVtbl->SetOutputOverride(This,dwOutputNum,Selection); 1910 } 1911 static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputMutexCount(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD *pcMutexes) { 1912 return This->lpVtbl->GetOutputMutexCount(This,dwOutputNum,pcMutexes); 1913 } 1914 static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputMutex(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD dwMutexNum,IUnknown **ppMutex) { 1915 return This->lpVtbl->GetOutputMutex(This,dwOutputNum,dwMutexNum,ppMutex); 1916 } 1917 static FORCEINLINE HRESULT IMFASFStreamSelector_SetOutputMutexSelection(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD dwMutexNum,WORD wSelectedRecord) { 1918 return This->lpVtbl->SetOutputMutexSelection(This,dwOutputNum,dwMutexNum,wSelectedRecord); 1919 } 1920 static FORCEINLINE HRESULT IMFASFStreamSelector_GetBandwidthStepCount(IMFASFStreamSelector* This,DWORD *pcStepCount) { 1921 return This->lpVtbl->GetBandwidthStepCount(This,pcStepCount); 1922 } 1923 static FORCEINLINE HRESULT IMFASFStreamSelector_GetBandwidthStep(IMFASFStreamSelector* This,DWORD dwStepNum,DWORD *pdwBitrate,WORD *rgwStreamNumbers,ASF_SELECTION_STATUS *rgSelections) { 1924 return This->lpVtbl->GetBandwidthStep(This,dwStepNum,pdwBitrate,rgwStreamNumbers,rgSelections); 1925 } 1926 static FORCEINLINE HRESULT IMFASFStreamSelector_BitrateToStepNumber(IMFASFStreamSelector* This,DWORD dwBitrate,DWORD *pdwStepNum) { 1927 return This->lpVtbl->BitrateToStepNumber(This,dwBitrate,pdwStepNum); 1928 } 1929 static FORCEINLINE HRESULT IMFASFStreamSelector_SetStreamSelectorFlags(IMFASFStreamSelector* This,DWORD dwStreamSelectorFlags) { 1930 return This->lpVtbl->SetStreamSelectorFlags(This,dwStreamSelectorFlags); 1931 } 1932 #endif 1933 #endif 1934 1935 #endif 1936 1937 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_GetStreamCount_Proxy( 1938 IMFASFStreamSelector* This, 1939 DWORD *pcStreams); 1940 void __RPC_STUB IMFASFStreamSelector_GetStreamCount_Stub( 1941 IRpcStubBuffer* This, 1942 IRpcChannelBuffer* pRpcChannelBuffer, 1943 PRPC_MESSAGE pRpcMessage, 1944 DWORD* pdwStubPhase); 1945 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_GetOutputCount_Proxy( 1946 IMFASFStreamSelector* This, 1947 DWORD *pcOutputs); 1948 void __RPC_STUB IMFASFStreamSelector_GetOutputCount_Stub( 1949 IRpcStubBuffer* This, 1950 IRpcChannelBuffer* pRpcChannelBuffer, 1951 PRPC_MESSAGE pRpcMessage, 1952 DWORD* pdwStubPhase); 1953 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_GetOutputStreamCount_Proxy( 1954 IMFASFStreamSelector* This, 1955 DWORD dwOutputNum, 1956 DWORD *pcStreams); 1957 void __RPC_STUB IMFASFStreamSelector_GetOutputStreamCount_Stub( 1958 IRpcStubBuffer* This, 1959 IRpcChannelBuffer* pRpcChannelBuffer, 1960 PRPC_MESSAGE pRpcMessage, 1961 DWORD* pdwStubPhase); 1962 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_GetOutputStreamNumbers_Proxy( 1963 IMFASFStreamSelector* This, 1964 DWORD dwOutputNum, 1965 WORD *rgwStreamNumbers); 1966 void __RPC_STUB IMFASFStreamSelector_GetOutputStreamNumbers_Stub( 1967 IRpcStubBuffer* This, 1968 IRpcChannelBuffer* pRpcChannelBuffer, 1969 PRPC_MESSAGE pRpcMessage, 1970 DWORD* pdwStubPhase); 1971 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_GetOutputFromStream_Proxy( 1972 IMFASFStreamSelector* This, 1973 WORD wStreamNum, 1974 DWORD *pdwOutput); 1975 void __RPC_STUB IMFASFStreamSelector_GetOutputFromStream_Stub( 1976 IRpcStubBuffer* This, 1977 IRpcChannelBuffer* pRpcChannelBuffer, 1978 PRPC_MESSAGE pRpcMessage, 1979 DWORD* pdwStubPhase); 1980 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_GetOutputOverride_Proxy( 1981 IMFASFStreamSelector* This, 1982 DWORD dwOutputNum, 1983 ASF_SELECTION_STATUS *pSelection); 1984 void __RPC_STUB IMFASFStreamSelector_GetOutputOverride_Stub( 1985 IRpcStubBuffer* This, 1986 IRpcChannelBuffer* pRpcChannelBuffer, 1987 PRPC_MESSAGE pRpcMessage, 1988 DWORD* pdwStubPhase); 1989 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_SetOutputOverride_Proxy( 1990 IMFASFStreamSelector* This, 1991 DWORD dwOutputNum, 1992 ASF_SELECTION_STATUS Selection); 1993 void __RPC_STUB IMFASFStreamSelector_SetOutputOverride_Stub( 1994 IRpcStubBuffer* This, 1995 IRpcChannelBuffer* pRpcChannelBuffer, 1996 PRPC_MESSAGE pRpcMessage, 1997 DWORD* pdwStubPhase); 1998 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_GetOutputMutexCount_Proxy( 1999 IMFASFStreamSelector* This, 2000 DWORD dwOutputNum, 2001 DWORD *pcMutexes); 2002 void __RPC_STUB IMFASFStreamSelector_GetOutputMutexCount_Stub( 2003 IRpcStubBuffer* This, 2004 IRpcChannelBuffer* pRpcChannelBuffer, 2005 PRPC_MESSAGE pRpcMessage, 2006 DWORD* pdwStubPhase); 2007 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_GetOutputMutex_Proxy( 2008 IMFASFStreamSelector* This, 2009 DWORD dwOutputNum, 2010 DWORD dwMutexNum, 2011 IUnknown **ppMutex); 2012 void __RPC_STUB IMFASFStreamSelector_GetOutputMutex_Stub( 2013 IRpcStubBuffer* This, 2014 IRpcChannelBuffer* pRpcChannelBuffer, 2015 PRPC_MESSAGE pRpcMessage, 2016 DWORD* pdwStubPhase); 2017 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_SetOutputMutexSelection_Proxy( 2018 IMFASFStreamSelector* This, 2019 DWORD dwOutputNum, 2020 DWORD dwMutexNum, 2021 WORD wSelectedRecord); 2022 void __RPC_STUB IMFASFStreamSelector_SetOutputMutexSelection_Stub( 2023 IRpcStubBuffer* This, 2024 IRpcChannelBuffer* pRpcChannelBuffer, 2025 PRPC_MESSAGE pRpcMessage, 2026 DWORD* pdwStubPhase); 2027 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_GetBandwidthStepCount_Proxy( 2028 IMFASFStreamSelector* This, 2029 DWORD *pcStepCount); 2030 void __RPC_STUB IMFASFStreamSelector_GetBandwidthStepCount_Stub( 2031 IRpcStubBuffer* This, 2032 IRpcChannelBuffer* pRpcChannelBuffer, 2033 PRPC_MESSAGE pRpcMessage, 2034 DWORD* pdwStubPhase); 2035 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_GetBandwidthStep_Proxy( 2036 IMFASFStreamSelector* This, 2037 DWORD dwStepNum, 2038 DWORD *pdwBitrate, 2039 WORD *rgwStreamNumbers, 2040 ASF_SELECTION_STATUS *rgSelections); 2041 void __RPC_STUB IMFASFStreamSelector_GetBandwidthStep_Stub( 2042 IRpcStubBuffer* This, 2043 IRpcChannelBuffer* pRpcChannelBuffer, 2044 PRPC_MESSAGE pRpcMessage, 2045 DWORD* pdwStubPhase); 2046 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_BitrateToStepNumber_Proxy( 2047 IMFASFStreamSelector* This, 2048 DWORD dwBitrate, 2049 DWORD *pdwStepNum); 2050 void __RPC_STUB IMFASFStreamSelector_BitrateToStepNumber_Stub( 2051 IRpcStubBuffer* This, 2052 IRpcChannelBuffer* pRpcChannelBuffer, 2053 PRPC_MESSAGE pRpcMessage, 2054 DWORD* pdwStubPhase); 2055 HRESULT STDMETHODCALLTYPE IMFASFStreamSelector_SetStreamSelectorFlags_Proxy( 2056 IMFASFStreamSelector* This, 2057 DWORD dwStreamSelectorFlags); 2058 void __RPC_STUB IMFASFStreamSelector_SetStreamSelectorFlags_Stub( 2059 IRpcStubBuffer* This, 2060 IRpcChannelBuffer* pRpcChannelBuffer, 2061 PRPC_MESSAGE pRpcMessage, 2062 DWORD* pdwStubPhase); 2063 2064 #endif /* __IMFASFStreamSelector_INTERFACE_DEFINED__ */ 2065 2066 #if WINVER >= 0x0601 2067 /***************************************************************************** 2068 * IMFDRMNetHelper interface 2069 */ 2070 #ifndef __IMFDRMNetHelper_INTERFACE_DEFINED__ 2071 #define __IMFDRMNetHelper_INTERFACE_DEFINED__ 2072 2073 DEFINE_GUID(IID_IMFDRMNetHelper, 0x3d1ff0ea, 0x679a, 0x4190, 0x8d,0x46, 0x7f,0xa6,0x9e,0x8c,0x7e,0x15); 2074 #if defined(__cplusplus) && !defined(CINTERFACE) 2075 MIDL_INTERFACE("3d1ff0ea-679a-4190-8d46-7fa69e8c7e15") 2076 IMFDRMNetHelper : public IUnknown 2077 { 2078 virtual HRESULT STDMETHODCALLTYPE ProcessLicenseRequest( 2079 BYTE *pLicenseRequest, 2080 DWORD cbLicenseRequest, 2081 BYTE **ppLicenseResponse, 2082 DWORD *pcbLicenseResponse, 2083 BSTR *pbstrKID) = 0; 2084 2085 virtual HRESULT STDMETHODCALLTYPE GetChainedLicenseResponse( 2086 BYTE **ppLicenseResponse, 2087 DWORD *pcbLicenseResponse) = 0; 2088 2089 }; 2090 #ifdef __CRT_UUID_DECL 2091 __CRT_UUID_DECL(IMFDRMNetHelper, 0x3d1ff0ea, 0x679a, 0x4190, 0x8d,0x46, 0x7f,0xa6,0x9e,0x8c,0x7e,0x15) 2092 #endif 2093 #else 2094 typedef struct IMFDRMNetHelperVtbl { 2095 BEGIN_INTERFACE 2096 2097 /*** IUnknown methods ***/ 2098 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2099 IMFDRMNetHelper* This, 2100 REFIID riid, 2101 void **ppvObject); 2102 2103 ULONG (STDMETHODCALLTYPE *AddRef)( 2104 IMFDRMNetHelper* This); 2105 2106 ULONG (STDMETHODCALLTYPE *Release)( 2107 IMFDRMNetHelper* This); 2108 2109 /*** IMFDRMNetHelper methods ***/ 2110 HRESULT (STDMETHODCALLTYPE *ProcessLicenseRequest)( 2111 IMFDRMNetHelper* This, 2112 BYTE *pLicenseRequest, 2113 DWORD cbLicenseRequest, 2114 BYTE **ppLicenseResponse, 2115 DWORD *pcbLicenseResponse, 2116 BSTR *pbstrKID); 2117 2118 HRESULT (STDMETHODCALLTYPE *GetChainedLicenseResponse)( 2119 IMFDRMNetHelper* This, 2120 BYTE **ppLicenseResponse, 2121 DWORD *pcbLicenseResponse); 2122 2123 END_INTERFACE 2124 } IMFDRMNetHelperVtbl; 2125 interface IMFDRMNetHelper { 2126 CONST_VTBL IMFDRMNetHelperVtbl* lpVtbl; 2127 }; 2128 2129 #ifdef COBJMACROS 2130 #ifndef WIDL_C_INLINE_WRAPPERS 2131 /*** IUnknown methods ***/ 2132 #define IMFDRMNetHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2133 #define IMFDRMNetHelper_AddRef(This) (This)->lpVtbl->AddRef(This) 2134 #define IMFDRMNetHelper_Release(This) (This)->lpVtbl->Release(This) 2135 /*** IMFDRMNetHelper methods ***/ 2136 #define IMFDRMNetHelper_ProcessLicenseRequest(This,pLicenseRequest,cbLicenseRequest,ppLicenseResponse,pcbLicenseResponse,pbstrKID) (This)->lpVtbl->ProcessLicenseRequest(This,pLicenseRequest,cbLicenseRequest,ppLicenseResponse,pcbLicenseResponse,pbstrKID) 2137 #define IMFDRMNetHelper_GetChainedLicenseResponse(This,ppLicenseResponse,pcbLicenseResponse) (This)->lpVtbl->GetChainedLicenseResponse(This,ppLicenseResponse,pcbLicenseResponse) 2138 #else 2139 /*** IUnknown methods ***/ 2140 static FORCEINLINE HRESULT IMFDRMNetHelper_QueryInterface(IMFDRMNetHelper* This,REFIID riid,void **ppvObject) { 2141 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2142 } 2143 static FORCEINLINE ULONG IMFDRMNetHelper_AddRef(IMFDRMNetHelper* This) { 2144 return This->lpVtbl->AddRef(This); 2145 } 2146 static FORCEINLINE ULONG IMFDRMNetHelper_Release(IMFDRMNetHelper* This) { 2147 return This->lpVtbl->Release(This); 2148 } 2149 /*** IMFDRMNetHelper methods ***/ 2150 static FORCEINLINE HRESULT IMFDRMNetHelper_ProcessLicenseRequest(IMFDRMNetHelper* This,BYTE *pLicenseRequest,DWORD cbLicenseRequest,BYTE **ppLicenseResponse,DWORD *pcbLicenseResponse,BSTR *pbstrKID) { 2151 return This->lpVtbl->ProcessLicenseRequest(This,pLicenseRequest,cbLicenseRequest,ppLicenseResponse,pcbLicenseResponse,pbstrKID); 2152 } 2153 static FORCEINLINE HRESULT IMFDRMNetHelper_GetChainedLicenseResponse(IMFDRMNetHelper* This,BYTE **ppLicenseResponse,DWORD *pcbLicenseResponse) { 2154 return This->lpVtbl->GetChainedLicenseResponse(This,ppLicenseResponse,pcbLicenseResponse); 2155 } 2156 #endif 2157 #endif 2158 2159 #endif 2160 2161 HRESULT STDMETHODCALLTYPE IMFDRMNetHelper_ProcessLicenseRequest_Proxy( 2162 IMFDRMNetHelper* This, 2163 BYTE *pLicenseRequest, 2164 DWORD cbLicenseRequest, 2165 BYTE **ppLicenseResponse, 2166 DWORD *pcbLicenseResponse, 2167 BSTR *pbstrKID); 2168 void __RPC_STUB IMFDRMNetHelper_ProcessLicenseRequest_Stub( 2169 IRpcStubBuffer* This, 2170 IRpcChannelBuffer* pRpcChannelBuffer, 2171 PRPC_MESSAGE pRpcMessage, 2172 DWORD* pdwStubPhase); 2173 HRESULT STDMETHODCALLTYPE IMFDRMNetHelper_GetChainedLicenseResponse_Proxy( 2174 IMFDRMNetHelper* This, 2175 BYTE **ppLicenseResponse, 2176 DWORD *pcbLicenseResponse); 2177 void __RPC_STUB IMFDRMNetHelper_GetChainedLicenseResponse_Stub( 2178 IRpcStubBuffer* This, 2179 IRpcChannelBuffer* pRpcChannelBuffer, 2180 PRPC_MESSAGE pRpcMessage, 2181 DWORD* pdwStubPhase); 2182 2183 #endif /* __IMFDRMNetHelper_INTERFACE_DEFINED__ */ 2184 2185 #endif 2186 /***************************************************************************** 2187 * IMFASFProfile interface 2188 */ 2189 #ifndef __IMFASFProfile_INTERFACE_DEFINED__ 2190 #define __IMFASFProfile_INTERFACE_DEFINED__ 2191 2192 DEFINE_GUID(IID_IMFASFProfile, 0xd267bf6a, 0x028b, 0x4e0d, 0x90,0x3d, 0x43,0xf0,0xef,0x82,0xd0,0xd4); 2193 #if defined(__cplusplus) && !defined(CINTERFACE) 2194 MIDL_INTERFACE("d267bf6a-028b-4e0d-903d-43f0ef82d0d4") 2195 IMFASFProfile : public IMFAttributes 2196 { 2197 virtual HRESULT STDMETHODCALLTYPE GetStreamCount( 2198 DWORD *pcStreams) = 0; 2199 2200 virtual HRESULT STDMETHODCALLTYPE GetStream( 2201 DWORD dwStreamIndex, 2202 WORD *pwStreamNumber, 2203 IMFASFStreamConfig **ppIStream) = 0; 2204 2205 virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber( 2206 WORD wStreamNumber, 2207 IMFASFStreamConfig **ppIStream) = 0; 2208 2209 virtual HRESULT STDMETHODCALLTYPE SetStream( 2210 IMFASFStreamConfig *pIStream) = 0; 2211 2212 virtual HRESULT STDMETHODCALLTYPE RemoveStream( 2213 WORD wStreamNumber) = 0; 2214 2215 virtual HRESULT STDMETHODCALLTYPE CreateStream( 2216 IMFMediaType *pIMediaType, 2217 IMFASFStreamConfig **ppIStream) = 0; 2218 2219 virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount( 2220 DWORD *pcMutexs) = 0; 2221 2222 virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion( 2223 DWORD dwMutexIndex, 2224 IMFASFMutualExclusion **ppIMutex) = 0; 2225 2226 virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion( 2227 IMFASFMutualExclusion *pIMutex) = 0; 2228 2229 virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion( 2230 DWORD dwMutexIndex) = 0; 2231 2232 virtual HRESULT STDMETHODCALLTYPE CreateMutualExclusion( 2233 IMFASFMutualExclusion **ppIMutex) = 0; 2234 2235 virtual HRESULT STDMETHODCALLTYPE GetStreamPrioritization( 2236 IMFASFStreamPrioritization **ppIStreamPrioritization) = 0; 2237 2238 virtual HRESULT STDMETHODCALLTYPE AddStreamPrioritization( 2239 IMFASFStreamPrioritization *pIStreamPrioritization) = 0; 2240 2241 virtual HRESULT STDMETHODCALLTYPE RemoveStreamPrioritization( 2242 ) = 0; 2243 2244 virtual HRESULT STDMETHODCALLTYPE CreateStreamPrioritization( 2245 IMFASFStreamPrioritization **ppIStreamPrioritization) = 0; 2246 2247 virtual HRESULT STDMETHODCALLTYPE Clone( 2248 IMFASFProfile **ppIProfile) = 0; 2249 2250 }; 2251 #ifdef __CRT_UUID_DECL 2252 __CRT_UUID_DECL(IMFASFProfile, 0xd267bf6a, 0x028b, 0x4e0d, 0x90,0x3d, 0x43,0xf0,0xef,0x82,0xd0,0xd4) 2253 #endif 2254 #else 2255 typedef struct IMFASFProfileVtbl { 2256 BEGIN_INTERFACE 2257 2258 /*** IUnknown methods ***/ 2259 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2260 IMFASFProfile* This, 2261 REFIID riid, 2262 void **ppvObject); 2263 2264 ULONG (STDMETHODCALLTYPE *AddRef)( 2265 IMFASFProfile* This); 2266 2267 ULONG (STDMETHODCALLTYPE *Release)( 2268 IMFASFProfile* This); 2269 2270 /*** IMFAttributes methods ***/ 2271 HRESULT (STDMETHODCALLTYPE *GetItem)( 2272 IMFASFProfile* This, 2273 REFGUID guidKey, 2274 PROPVARIANT *pValue); 2275 2276 HRESULT (STDMETHODCALLTYPE *GetItemType)( 2277 IMFASFProfile* This, 2278 REFGUID guidKey, 2279 MF_ATTRIBUTE_TYPE *pType); 2280 2281 HRESULT (STDMETHODCALLTYPE *CompareItem)( 2282 IMFASFProfile* This, 2283 REFGUID guidKey, 2284 REFPROPVARIANT Value, 2285 WINBOOL *pbResult); 2286 2287 HRESULT (STDMETHODCALLTYPE *Compare)( 2288 IMFASFProfile* This, 2289 IMFAttributes *pTheirs, 2290 MF_ATTRIBUTES_MATCH_TYPE MatchType, 2291 WINBOOL *pbResult); 2292 2293 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 2294 IMFASFProfile* This, 2295 REFGUID guidKey, 2296 UINT32 *punValue); 2297 2298 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 2299 IMFASFProfile* This, 2300 REFGUID guidKey, 2301 UINT64 *punValue); 2302 2303 HRESULT (STDMETHODCALLTYPE *GetDouble)( 2304 IMFASFProfile* This, 2305 REFGUID guidKey, 2306 double *pfValue); 2307 2308 HRESULT (STDMETHODCALLTYPE *GetGUID)( 2309 IMFASFProfile* This, 2310 REFGUID guidKey, 2311 GUID *pguidValue); 2312 2313 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 2314 IMFASFProfile* This, 2315 REFGUID guidKey, 2316 UINT32 *pcchLength); 2317 2318 HRESULT (STDMETHODCALLTYPE *GetString)( 2319 IMFASFProfile* This, 2320 REFGUID guidKey, 2321 LPWSTR pwszValue, 2322 UINT32 cchBufSize, 2323 UINT32 *pcchLength); 2324 2325 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 2326 IMFASFProfile* This, 2327 REFGUID guidKey, 2328 LPWSTR *ppwszValue, 2329 UINT32 *pcchLength); 2330 2331 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 2332 IMFASFProfile* This, 2333 REFGUID guidKey, 2334 UINT32 *pcbBlobSize); 2335 2336 HRESULT (STDMETHODCALLTYPE *GetBlob)( 2337 IMFASFProfile* This, 2338 REFGUID guidKey, 2339 UINT8 *pBuf, 2340 UINT32 cbBufSize, 2341 UINT32 *pcbBlobSize); 2342 2343 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 2344 IMFASFProfile* This, 2345 REFGUID guidKey, 2346 UINT8 **ppBuf, 2347 UINT32 *pcbSize); 2348 2349 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 2350 IMFASFProfile* This, 2351 REFGUID guidKey, 2352 REFIID riid, 2353 LPVOID *ppv); 2354 2355 HRESULT (STDMETHODCALLTYPE *SetItem)( 2356 IMFASFProfile* This, 2357 REFGUID guidKey, 2358 REFPROPVARIANT Value); 2359 2360 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 2361 IMFASFProfile* This, 2362 REFGUID guidKey); 2363 2364 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 2365 IMFASFProfile* This); 2366 2367 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 2368 IMFASFProfile* This, 2369 REFGUID guidKey, 2370 UINT32 unValue); 2371 2372 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 2373 IMFASFProfile* This, 2374 REFGUID guidKey, 2375 UINT64 unValue); 2376 2377 HRESULT (STDMETHODCALLTYPE *SetDouble)( 2378 IMFASFProfile* This, 2379 REFGUID guidKey, 2380 double fValue); 2381 2382 HRESULT (STDMETHODCALLTYPE *SetGUID)( 2383 IMFASFProfile* This, 2384 REFGUID guidKey, 2385 REFGUID guidValue); 2386 2387 HRESULT (STDMETHODCALLTYPE *SetString)( 2388 IMFASFProfile* This, 2389 REFGUID guidKey, 2390 LPCWSTR wszValue); 2391 2392 HRESULT (STDMETHODCALLTYPE *SetBlob)( 2393 IMFASFProfile* This, 2394 REFGUID guidKey, 2395 const UINT8 *pBuf, 2396 UINT32 cbBufSize); 2397 2398 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 2399 IMFASFProfile* This, 2400 REFGUID guidKey, 2401 IUnknown *pUnknown); 2402 2403 HRESULT (STDMETHODCALLTYPE *LockStore)( 2404 IMFASFProfile* This); 2405 2406 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 2407 IMFASFProfile* This); 2408 2409 HRESULT (STDMETHODCALLTYPE *GetCount)( 2410 IMFASFProfile* This, 2411 UINT32 *pcItems); 2412 2413 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 2414 IMFASFProfile* This, 2415 UINT32 unIndex, 2416 GUID *pguidKey, 2417 PROPVARIANT *pValue); 2418 2419 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 2420 IMFASFProfile* This, 2421 IMFAttributes *pDest); 2422 2423 /*** IMFASFProfile methods ***/ 2424 HRESULT (STDMETHODCALLTYPE *GetStreamCount)( 2425 IMFASFProfile* This, 2426 DWORD *pcStreams); 2427 2428 HRESULT (STDMETHODCALLTYPE *GetStream)( 2429 IMFASFProfile* This, 2430 DWORD dwStreamIndex, 2431 WORD *pwStreamNumber, 2432 IMFASFStreamConfig **ppIStream); 2433 2434 HRESULT (STDMETHODCALLTYPE *GetStreamByNumber)( 2435 IMFASFProfile* This, 2436 WORD wStreamNumber, 2437 IMFASFStreamConfig **ppIStream); 2438 2439 HRESULT (STDMETHODCALLTYPE *SetStream)( 2440 IMFASFProfile* This, 2441 IMFASFStreamConfig *pIStream); 2442 2443 HRESULT (STDMETHODCALLTYPE *RemoveStream)( 2444 IMFASFProfile* This, 2445 WORD wStreamNumber); 2446 2447 HRESULT (STDMETHODCALLTYPE *CreateStream)( 2448 IMFASFProfile* This, 2449 IMFMediaType *pIMediaType, 2450 IMFASFStreamConfig **ppIStream); 2451 2452 HRESULT (STDMETHODCALLTYPE *GetMutualExclusionCount)( 2453 IMFASFProfile* This, 2454 DWORD *pcMutexs); 2455 2456 HRESULT (STDMETHODCALLTYPE *GetMutualExclusion)( 2457 IMFASFProfile* This, 2458 DWORD dwMutexIndex, 2459 IMFASFMutualExclusion **ppIMutex); 2460 2461 HRESULT (STDMETHODCALLTYPE *AddMutualExclusion)( 2462 IMFASFProfile* This, 2463 IMFASFMutualExclusion *pIMutex); 2464 2465 HRESULT (STDMETHODCALLTYPE *RemoveMutualExclusion)( 2466 IMFASFProfile* This, 2467 DWORD dwMutexIndex); 2468 2469 HRESULT (STDMETHODCALLTYPE *CreateMutualExclusion)( 2470 IMFASFProfile* This, 2471 IMFASFMutualExclusion **ppIMutex); 2472 2473 HRESULT (STDMETHODCALLTYPE *GetStreamPrioritization)( 2474 IMFASFProfile* This, 2475 IMFASFStreamPrioritization **ppIStreamPrioritization); 2476 2477 HRESULT (STDMETHODCALLTYPE *AddStreamPrioritization)( 2478 IMFASFProfile* This, 2479 IMFASFStreamPrioritization *pIStreamPrioritization); 2480 2481 HRESULT (STDMETHODCALLTYPE *RemoveStreamPrioritization)( 2482 IMFASFProfile* This); 2483 2484 HRESULT (STDMETHODCALLTYPE *CreateStreamPrioritization)( 2485 IMFASFProfile* This, 2486 IMFASFStreamPrioritization **ppIStreamPrioritization); 2487 2488 HRESULT (STDMETHODCALLTYPE *Clone)( 2489 IMFASFProfile* This, 2490 IMFASFProfile **ppIProfile); 2491 2492 END_INTERFACE 2493 } IMFASFProfileVtbl; 2494 interface IMFASFProfile { 2495 CONST_VTBL IMFASFProfileVtbl* lpVtbl; 2496 }; 2497 2498 #ifdef COBJMACROS 2499 #ifndef WIDL_C_INLINE_WRAPPERS 2500 /*** IUnknown methods ***/ 2501 #define IMFASFProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2502 #define IMFASFProfile_AddRef(This) (This)->lpVtbl->AddRef(This) 2503 #define IMFASFProfile_Release(This) (This)->lpVtbl->Release(This) 2504 /*** IMFAttributes methods ***/ 2505 #define IMFASFProfile_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 2506 #define IMFASFProfile_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 2507 #define IMFASFProfile_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 2508 #define IMFASFProfile_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 2509 #define IMFASFProfile_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 2510 #define IMFASFProfile_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 2511 #define IMFASFProfile_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 2512 #define IMFASFProfile_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 2513 #define IMFASFProfile_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 2514 #define IMFASFProfile_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 2515 #define IMFASFProfile_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 2516 #define IMFASFProfile_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 2517 #define IMFASFProfile_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 2518 #define IMFASFProfile_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 2519 #define IMFASFProfile_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 2520 #define IMFASFProfile_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 2521 #define IMFASFProfile_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 2522 #define IMFASFProfile_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 2523 #define IMFASFProfile_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 2524 #define IMFASFProfile_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 2525 #define IMFASFProfile_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 2526 #define IMFASFProfile_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 2527 #define IMFASFProfile_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 2528 #define IMFASFProfile_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 2529 #define IMFASFProfile_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 2530 #define IMFASFProfile_LockStore(This) (This)->lpVtbl->LockStore(This) 2531 #define IMFASFProfile_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 2532 #define IMFASFProfile_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 2533 #define IMFASFProfile_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 2534 #define IMFASFProfile_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 2535 /*** IMFASFProfile methods ***/ 2536 #define IMFASFProfile_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams) 2537 #define IMFASFProfile_GetStream(This,dwStreamIndex,pwStreamNumber,ppIStream) (This)->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,ppIStream) 2538 #define IMFASFProfile_GetStreamByNumber(This,wStreamNumber,ppIStream) (This)->lpVtbl->GetStreamByNumber(This,wStreamNumber,ppIStream) 2539 #define IMFASFProfile_SetStream(This,pIStream) (This)->lpVtbl->SetStream(This,pIStream) 2540 #define IMFASFProfile_RemoveStream(This,wStreamNumber) (This)->lpVtbl->RemoveStream(This,wStreamNumber) 2541 #define IMFASFProfile_CreateStream(This,pIMediaType,ppIStream) (This)->lpVtbl->CreateStream(This,pIMediaType,ppIStream) 2542 #define IMFASFProfile_GetMutualExclusionCount(This,pcMutexs) (This)->lpVtbl->GetMutualExclusionCount(This,pcMutexs) 2543 #define IMFASFProfile_GetMutualExclusion(This,dwMutexIndex,ppIMutex) (This)->lpVtbl->GetMutualExclusion(This,dwMutexIndex,ppIMutex) 2544 #define IMFASFProfile_AddMutualExclusion(This,pIMutex) (This)->lpVtbl->AddMutualExclusion(This,pIMutex) 2545 #define IMFASFProfile_RemoveMutualExclusion(This,dwMutexIndex) (This)->lpVtbl->RemoveMutualExclusion(This,dwMutexIndex) 2546 #define IMFASFProfile_CreateMutualExclusion(This,ppIMutex) (This)->lpVtbl->CreateMutualExclusion(This,ppIMutex) 2547 #define IMFASFProfile_GetStreamPrioritization(This,ppIStreamPrioritization) (This)->lpVtbl->GetStreamPrioritization(This,ppIStreamPrioritization) 2548 #define IMFASFProfile_AddStreamPrioritization(This,pIStreamPrioritization) (This)->lpVtbl->AddStreamPrioritization(This,pIStreamPrioritization) 2549 #define IMFASFProfile_RemoveStreamPrioritization(This) (This)->lpVtbl->RemoveStreamPrioritization(This) 2550 #define IMFASFProfile_CreateStreamPrioritization(This,ppIStreamPrioritization) (This)->lpVtbl->CreateStreamPrioritization(This,ppIStreamPrioritization) 2551 #define IMFASFProfile_Clone(This,ppIProfile) (This)->lpVtbl->Clone(This,ppIProfile) 2552 #else 2553 /*** IUnknown methods ***/ 2554 static FORCEINLINE HRESULT IMFASFProfile_QueryInterface(IMFASFProfile* This,REFIID riid,void **ppvObject) { 2555 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2556 } 2557 static FORCEINLINE ULONG IMFASFProfile_AddRef(IMFASFProfile* This) { 2558 return This->lpVtbl->AddRef(This); 2559 } 2560 static FORCEINLINE ULONG IMFASFProfile_Release(IMFASFProfile* This) { 2561 return This->lpVtbl->Release(This); 2562 } 2563 /*** IMFAttributes methods ***/ 2564 static FORCEINLINE HRESULT IMFASFProfile_GetItem(IMFASFProfile* This,REFGUID guidKey,PROPVARIANT *pValue) { 2565 return This->lpVtbl->GetItem(This,guidKey,pValue); 2566 } 2567 static FORCEINLINE HRESULT IMFASFProfile_GetItemType(IMFASFProfile* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 2568 return This->lpVtbl->GetItemType(This,guidKey,pType); 2569 } 2570 static FORCEINLINE HRESULT IMFASFProfile_CompareItem(IMFASFProfile* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 2571 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 2572 } 2573 static FORCEINLINE HRESULT IMFASFProfile_Compare(IMFASFProfile* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 2574 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 2575 } 2576 static FORCEINLINE HRESULT IMFASFProfile_GetUINT32(IMFASFProfile* This,REFGUID guidKey,UINT32 *punValue) { 2577 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 2578 } 2579 static FORCEINLINE HRESULT IMFASFProfile_GetUINT64(IMFASFProfile* This,REFGUID guidKey,UINT64 *punValue) { 2580 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 2581 } 2582 static FORCEINLINE HRESULT IMFASFProfile_GetDouble(IMFASFProfile* This,REFGUID guidKey,double *pfValue) { 2583 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 2584 } 2585 static FORCEINLINE HRESULT IMFASFProfile_GetGUID(IMFASFProfile* This,REFGUID guidKey,GUID *pguidValue) { 2586 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 2587 } 2588 static FORCEINLINE HRESULT IMFASFProfile_GetStringLength(IMFASFProfile* This,REFGUID guidKey,UINT32 *pcchLength) { 2589 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 2590 } 2591 static FORCEINLINE HRESULT IMFASFProfile_GetString(IMFASFProfile* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 2592 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 2593 } 2594 static FORCEINLINE HRESULT IMFASFProfile_GetAllocatedString(IMFASFProfile* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 2595 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 2596 } 2597 static FORCEINLINE HRESULT IMFASFProfile_GetBlobSize(IMFASFProfile* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 2598 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 2599 } 2600 static FORCEINLINE HRESULT IMFASFProfile_GetBlob(IMFASFProfile* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 2601 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 2602 } 2603 static FORCEINLINE HRESULT IMFASFProfile_GetAllocatedBlob(IMFASFProfile* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 2604 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 2605 } 2606 static FORCEINLINE HRESULT IMFASFProfile_GetUnknown(IMFASFProfile* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 2607 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 2608 } 2609 static FORCEINLINE HRESULT IMFASFProfile_SetItem(IMFASFProfile* This,REFGUID guidKey,REFPROPVARIANT Value) { 2610 return This->lpVtbl->SetItem(This,guidKey,Value); 2611 } 2612 static FORCEINLINE HRESULT IMFASFProfile_DeleteItem(IMFASFProfile* This,REFGUID guidKey) { 2613 return This->lpVtbl->DeleteItem(This,guidKey); 2614 } 2615 static FORCEINLINE HRESULT IMFASFProfile_DeleteAllItems(IMFASFProfile* This) { 2616 return This->lpVtbl->DeleteAllItems(This); 2617 } 2618 static FORCEINLINE HRESULT IMFASFProfile_SetUINT32(IMFASFProfile* This,REFGUID guidKey,UINT32 unValue) { 2619 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 2620 } 2621 static FORCEINLINE HRESULT IMFASFProfile_SetUINT64(IMFASFProfile* This,REFGUID guidKey,UINT64 unValue) { 2622 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 2623 } 2624 static FORCEINLINE HRESULT IMFASFProfile_SetDouble(IMFASFProfile* This,REFGUID guidKey,double fValue) { 2625 return This->lpVtbl->SetDouble(This,guidKey,fValue); 2626 } 2627 static FORCEINLINE HRESULT IMFASFProfile_SetGUID(IMFASFProfile* This,REFGUID guidKey,REFGUID guidValue) { 2628 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 2629 } 2630 static FORCEINLINE HRESULT IMFASFProfile_SetString(IMFASFProfile* This,REFGUID guidKey,LPCWSTR wszValue) { 2631 return This->lpVtbl->SetString(This,guidKey,wszValue); 2632 } 2633 static FORCEINLINE HRESULT IMFASFProfile_SetBlob(IMFASFProfile* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 2634 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 2635 } 2636 static FORCEINLINE HRESULT IMFASFProfile_SetUnknown(IMFASFProfile* This,REFGUID guidKey,IUnknown *pUnknown) { 2637 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 2638 } 2639 static FORCEINLINE HRESULT IMFASFProfile_LockStore(IMFASFProfile* This) { 2640 return This->lpVtbl->LockStore(This); 2641 } 2642 static FORCEINLINE HRESULT IMFASFProfile_UnlockStore(IMFASFProfile* This) { 2643 return This->lpVtbl->UnlockStore(This); 2644 } 2645 static FORCEINLINE HRESULT IMFASFProfile_GetCount(IMFASFProfile* This,UINT32 *pcItems) { 2646 return This->lpVtbl->GetCount(This,pcItems); 2647 } 2648 static FORCEINLINE HRESULT IMFASFProfile_GetItemByIndex(IMFASFProfile* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 2649 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 2650 } 2651 static FORCEINLINE HRESULT IMFASFProfile_CopyAllItems(IMFASFProfile* This,IMFAttributes *pDest) { 2652 return This->lpVtbl->CopyAllItems(This,pDest); 2653 } 2654 /*** IMFASFProfile methods ***/ 2655 static FORCEINLINE HRESULT IMFASFProfile_GetStreamCount(IMFASFProfile* This,DWORD *pcStreams) { 2656 return This->lpVtbl->GetStreamCount(This,pcStreams); 2657 } 2658 static FORCEINLINE HRESULT IMFASFProfile_GetStream(IMFASFProfile* This,DWORD dwStreamIndex,WORD *pwStreamNumber,IMFASFStreamConfig **ppIStream) { 2659 return This->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,ppIStream); 2660 } 2661 static FORCEINLINE HRESULT IMFASFProfile_GetStreamByNumber(IMFASFProfile* This,WORD wStreamNumber,IMFASFStreamConfig **ppIStream) { 2662 return This->lpVtbl->GetStreamByNumber(This,wStreamNumber,ppIStream); 2663 } 2664 static FORCEINLINE HRESULT IMFASFProfile_SetStream(IMFASFProfile* This,IMFASFStreamConfig *pIStream) { 2665 return This->lpVtbl->SetStream(This,pIStream); 2666 } 2667 static FORCEINLINE HRESULT IMFASFProfile_RemoveStream(IMFASFProfile* This,WORD wStreamNumber) { 2668 return This->lpVtbl->RemoveStream(This,wStreamNumber); 2669 } 2670 static FORCEINLINE HRESULT IMFASFProfile_CreateStream(IMFASFProfile* This,IMFMediaType *pIMediaType,IMFASFStreamConfig **ppIStream) { 2671 return This->lpVtbl->CreateStream(This,pIMediaType,ppIStream); 2672 } 2673 static FORCEINLINE HRESULT IMFASFProfile_GetMutualExclusionCount(IMFASFProfile* This,DWORD *pcMutexs) { 2674 return This->lpVtbl->GetMutualExclusionCount(This,pcMutexs); 2675 } 2676 static FORCEINLINE HRESULT IMFASFProfile_GetMutualExclusion(IMFASFProfile* This,DWORD dwMutexIndex,IMFASFMutualExclusion **ppIMutex) { 2677 return This->lpVtbl->GetMutualExclusion(This,dwMutexIndex,ppIMutex); 2678 } 2679 static FORCEINLINE HRESULT IMFASFProfile_AddMutualExclusion(IMFASFProfile* This,IMFASFMutualExclusion *pIMutex) { 2680 return This->lpVtbl->AddMutualExclusion(This,pIMutex); 2681 } 2682 static FORCEINLINE HRESULT IMFASFProfile_RemoveMutualExclusion(IMFASFProfile* This,DWORD dwMutexIndex) { 2683 return This->lpVtbl->RemoveMutualExclusion(This,dwMutexIndex); 2684 } 2685 static FORCEINLINE HRESULT IMFASFProfile_CreateMutualExclusion(IMFASFProfile* This,IMFASFMutualExclusion **ppIMutex) { 2686 return This->lpVtbl->CreateMutualExclusion(This,ppIMutex); 2687 } 2688 static FORCEINLINE HRESULT IMFASFProfile_GetStreamPrioritization(IMFASFProfile* This,IMFASFStreamPrioritization **ppIStreamPrioritization) { 2689 return This->lpVtbl->GetStreamPrioritization(This,ppIStreamPrioritization); 2690 } 2691 static FORCEINLINE HRESULT IMFASFProfile_AddStreamPrioritization(IMFASFProfile* This,IMFASFStreamPrioritization *pIStreamPrioritization) { 2692 return This->lpVtbl->AddStreamPrioritization(This,pIStreamPrioritization); 2693 } 2694 static FORCEINLINE HRESULT IMFASFProfile_RemoveStreamPrioritization(IMFASFProfile* This) { 2695 return This->lpVtbl->RemoveStreamPrioritization(This); 2696 } 2697 static FORCEINLINE HRESULT IMFASFProfile_CreateStreamPrioritization(IMFASFProfile* This,IMFASFStreamPrioritization **ppIStreamPrioritization) { 2698 return This->lpVtbl->CreateStreamPrioritization(This,ppIStreamPrioritization); 2699 } 2700 static FORCEINLINE HRESULT IMFASFProfile_Clone(IMFASFProfile* This,IMFASFProfile **ppIProfile) { 2701 return This->lpVtbl->Clone(This,ppIProfile); 2702 } 2703 #endif 2704 #endif 2705 2706 #endif 2707 2708 HRESULT STDMETHODCALLTYPE IMFASFProfile_GetStreamCount_Proxy( 2709 IMFASFProfile* This, 2710 DWORD *pcStreams); 2711 void __RPC_STUB IMFASFProfile_GetStreamCount_Stub( 2712 IRpcStubBuffer* This, 2713 IRpcChannelBuffer* pRpcChannelBuffer, 2714 PRPC_MESSAGE pRpcMessage, 2715 DWORD* pdwStubPhase); 2716 HRESULT STDMETHODCALLTYPE IMFASFProfile_GetStream_Proxy( 2717 IMFASFProfile* This, 2718 DWORD dwStreamIndex, 2719 WORD *pwStreamNumber, 2720 IMFASFStreamConfig **ppIStream); 2721 void __RPC_STUB IMFASFProfile_GetStream_Stub( 2722 IRpcStubBuffer* This, 2723 IRpcChannelBuffer* pRpcChannelBuffer, 2724 PRPC_MESSAGE pRpcMessage, 2725 DWORD* pdwStubPhase); 2726 HRESULT STDMETHODCALLTYPE IMFASFProfile_GetStreamByNumber_Proxy( 2727 IMFASFProfile* This, 2728 WORD wStreamNumber, 2729 IMFASFStreamConfig **ppIStream); 2730 void __RPC_STUB IMFASFProfile_GetStreamByNumber_Stub( 2731 IRpcStubBuffer* This, 2732 IRpcChannelBuffer* pRpcChannelBuffer, 2733 PRPC_MESSAGE pRpcMessage, 2734 DWORD* pdwStubPhase); 2735 HRESULT STDMETHODCALLTYPE IMFASFProfile_SetStream_Proxy( 2736 IMFASFProfile* This, 2737 IMFASFStreamConfig *pIStream); 2738 void __RPC_STUB IMFASFProfile_SetStream_Stub( 2739 IRpcStubBuffer* This, 2740 IRpcChannelBuffer* pRpcChannelBuffer, 2741 PRPC_MESSAGE pRpcMessage, 2742 DWORD* pdwStubPhase); 2743 HRESULT STDMETHODCALLTYPE IMFASFProfile_RemoveStream_Proxy( 2744 IMFASFProfile* This, 2745 WORD wStreamNumber); 2746 void __RPC_STUB IMFASFProfile_RemoveStream_Stub( 2747 IRpcStubBuffer* This, 2748 IRpcChannelBuffer* pRpcChannelBuffer, 2749 PRPC_MESSAGE pRpcMessage, 2750 DWORD* pdwStubPhase); 2751 HRESULT STDMETHODCALLTYPE IMFASFProfile_CreateStream_Proxy( 2752 IMFASFProfile* This, 2753 IMFMediaType *pIMediaType, 2754 IMFASFStreamConfig **ppIStream); 2755 void __RPC_STUB IMFASFProfile_CreateStream_Stub( 2756 IRpcStubBuffer* This, 2757 IRpcChannelBuffer* pRpcChannelBuffer, 2758 PRPC_MESSAGE pRpcMessage, 2759 DWORD* pdwStubPhase); 2760 HRESULT STDMETHODCALLTYPE IMFASFProfile_GetMutualExclusionCount_Proxy( 2761 IMFASFProfile* This, 2762 DWORD *pcMutexs); 2763 void __RPC_STUB IMFASFProfile_GetMutualExclusionCount_Stub( 2764 IRpcStubBuffer* This, 2765 IRpcChannelBuffer* pRpcChannelBuffer, 2766 PRPC_MESSAGE pRpcMessage, 2767 DWORD* pdwStubPhase); 2768 HRESULT STDMETHODCALLTYPE IMFASFProfile_GetMutualExclusion_Proxy( 2769 IMFASFProfile* This, 2770 DWORD dwMutexIndex, 2771 IMFASFMutualExclusion **ppIMutex); 2772 void __RPC_STUB IMFASFProfile_GetMutualExclusion_Stub( 2773 IRpcStubBuffer* This, 2774 IRpcChannelBuffer* pRpcChannelBuffer, 2775 PRPC_MESSAGE pRpcMessage, 2776 DWORD* pdwStubPhase); 2777 HRESULT STDMETHODCALLTYPE IMFASFProfile_AddMutualExclusion_Proxy( 2778 IMFASFProfile* This, 2779 IMFASFMutualExclusion *pIMutex); 2780 void __RPC_STUB IMFASFProfile_AddMutualExclusion_Stub( 2781 IRpcStubBuffer* This, 2782 IRpcChannelBuffer* pRpcChannelBuffer, 2783 PRPC_MESSAGE pRpcMessage, 2784 DWORD* pdwStubPhase); 2785 HRESULT STDMETHODCALLTYPE IMFASFProfile_RemoveMutualExclusion_Proxy( 2786 IMFASFProfile* This, 2787 DWORD dwMutexIndex); 2788 void __RPC_STUB IMFASFProfile_RemoveMutualExclusion_Stub( 2789 IRpcStubBuffer* This, 2790 IRpcChannelBuffer* pRpcChannelBuffer, 2791 PRPC_MESSAGE pRpcMessage, 2792 DWORD* pdwStubPhase); 2793 HRESULT STDMETHODCALLTYPE IMFASFProfile_CreateMutualExclusion_Proxy( 2794 IMFASFProfile* This, 2795 IMFASFMutualExclusion **ppIMutex); 2796 void __RPC_STUB IMFASFProfile_CreateMutualExclusion_Stub( 2797 IRpcStubBuffer* This, 2798 IRpcChannelBuffer* pRpcChannelBuffer, 2799 PRPC_MESSAGE pRpcMessage, 2800 DWORD* pdwStubPhase); 2801 HRESULT STDMETHODCALLTYPE IMFASFProfile_GetStreamPrioritization_Proxy( 2802 IMFASFProfile* This, 2803 IMFASFStreamPrioritization **ppIStreamPrioritization); 2804 void __RPC_STUB IMFASFProfile_GetStreamPrioritization_Stub( 2805 IRpcStubBuffer* This, 2806 IRpcChannelBuffer* pRpcChannelBuffer, 2807 PRPC_MESSAGE pRpcMessage, 2808 DWORD* pdwStubPhase); 2809 HRESULT STDMETHODCALLTYPE IMFASFProfile_AddStreamPrioritization_Proxy( 2810 IMFASFProfile* This, 2811 IMFASFStreamPrioritization *pIStreamPrioritization); 2812 void __RPC_STUB IMFASFProfile_AddStreamPrioritization_Stub( 2813 IRpcStubBuffer* This, 2814 IRpcChannelBuffer* pRpcChannelBuffer, 2815 PRPC_MESSAGE pRpcMessage, 2816 DWORD* pdwStubPhase); 2817 HRESULT STDMETHODCALLTYPE IMFASFProfile_RemoveStreamPrioritization_Proxy( 2818 IMFASFProfile* This); 2819 void __RPC_STUB IMFASFProfile_RemoveStreamPrioritization_Stub( 2820 IRpcStubBuffer* This, 2821 IRpcChannelBuffer* pRpcChannelBuffer, 2822 PRPC_MESSAGE pRpcMessage, 2823 DWORD* pdwStubPhase); 2824 HRESULT STDMETHODCALLTYPE IMFASFProfile_CreateStreamPrioritization_Proxy( 2825 IMFASFProfile* This, 2826 IMFASFStreamPrioritization **ppIStreamPrioritization); 2827 void __RPC_STUB IMFASFProfile_CreateStreamPrioritization_Stub( 2828 IRpcStubBuffer* This, 2829 IRpcChannelBuffer* pRpcChannelBuffer, 2830 PRPC_MESSAGE pRpcMessage, 2831 DWORD* pdwStubPhase); 2832 HRESULT STDMETHODCALLTYPE IMFASFProfile_Clone_Proxy( 2833 IMFASFProfile* This, 2834 IMFASFProfile **ppIProfile); 2835 void __RPC_STUB IMFASFProfile_Clone_Stub( 2836 IRpcStubBuffer* This, 2837 IRpcChannelBuffer* pRpcChannelBuffer, 2838 PRPC_MESSAGE pRpcMessage, 2839 DWORD* pdwStubPhase); 2840 2841 #endif /* __IMFASFProfile_INTERFACE_DEFINED__ */ 2842 2843 /***************************************************************************** 2844 * IMFASFStreamConfig interface 2845 */ 2846 #ifndef __IMFASFStreamConfig_INTERFACE_DEFINED__ 2847 #define __IMFASFStreamConfig_INTERFACE_DEFINED__ 2848 2849 DEFINE_GUID(IID_IMFASFStreamConfig, 0x9e8ae8d2, 0xdbbd, 0x4200, 0x9a,0xca, 0x06,0xe6,0xdf,0x48,0x49,0x13); 2850 #if defined(__cplusplus) && !defined(CINTERFACE) 2851 MIDL_INTERFACE("9e8ae8d2-dbbd-4200-9aca-06e6df484913") 2852 IMFASFStreamConfig : public IMFAttributes 2853 { 2854 virtual HRESULT STDMETHODCALLTYPE GetStreamType( 2855 GUID *pguidStreamType) = 0; 2856 2857 virtual WORD STDMETHODCALLTYPE GetStreamNumber( 2858 ) = 0; 2859 2860 virtual HRESULT STDMETHODCALLTYPE SetStreamNumber( 2861 WORD wStreamNum) = 0; 2862 2863 virtual HRESULT STDMETHODCALLTYPE GetMediaType( 2864 IMFMediaType **ppIMediaType) = 0; 2865 2866 virtual HRESULT STDMETHODCALLTYPE SetMediaType( 2867 IMFMediaType *pIMediaType) = 0; 2868 2869 virtual HRESULT STDMETHODCALLTYPE GetPayloadExtensionCount( 2870 WORD *pcPayloadExtensions) = 0; 2871 2872 virtual HRESULT STDMETHODCALLTYPE GetPayloadExtension( 2873 WORD wPayloadExtensionNumber, 2874 GUID *pguidExtensionSystemID, 2875 WORD *pcbExtensionDataSize, 2876 BYTE *pbExtensionSystemInfo, 2877 DWORD *pcbExtensionSystemInfo) = 0; 2878 2879 virtual HRESULT STDMETHODCALLTYPE AddPayloadExtension( 2880 GUID guidExtensionSystemID, 2881 WORD cbExtensionDataSize, 2882 BYTE *pbExtensionSystemInfo, 2883 DWORD cbExtensionSystemInfo) = 0; 2884 2885 virtual HRESULT STDMETHODCALLTYPE RemoveAllPayloadExtensions( 2886 ) = 0; 2887 2888 virtual HRESULT STDMETHODCALLTYPE Clone( 2889 IMFASFStreamConfig **ppIStreamConfig) = 0; 2890 2891 }; 2892 #ifdef __CRT_UUID_DECL 2893 __CRT_UUID_DECL(IMFASFStreamConfig, 0x9e8ae8d2, 0xdbbd, 0x4200, 0x9a,0xca, 0x06,0xe6,0xdf,0x48,0x49,0x13) 2894 #endif 2895 #else 2896 typedef struct IMFASFStreamConfigVtbl { 2897 BEGIN_INTERFACE 2898 2899 /*** IUnknown methods ***/ 2900 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2901 IMFASFStreamConfig* This, 2902 REFIID riid, 2903 void **ppvObject); 2904 2905 ULONG (STDMETHODCALLTYPE *AddRef)( 2906 IMFASFStreamConfig* This); 2907 2908 ULONG (STDMETHODCALLTYPE *Release)( 2909 IMFASFStreamConfig* This); 2910 2911 /*** IMFAttributes methods ***/ 2912 HRESULT (STDMETHODCALLTYPE *GetItem)( 2913 IMFASFStreamConfig* This, 2914 REFGUID guidKey, 2915 PROPVARIANT *pValue); 2916 2917 HRESULT (STDMETHODCALLTYPE *GetItemType)( 2918 IMFASFStreamConfig* This, 2919 REFGUID guidKey, 2920 MF_ATTRIBUTE_TYPE *pType); 2921 2922 HRESULT (STDMETHODCALLTYPE *CompareItem)( 2923 IMFASFStreamConfig* This, 2924 REFGUID guidKey, 2925 REFPROPVARIANT Value, 2926 WINBOOL *pbResult); 2927 2928 HRESULT (STDMETHODCALLTYPE *Compare)( 2929 IMFASFStreamConfig* This, 2930 IMFAttributes *pTheirs, 2931 MF_ATTRIBUTES_MATCH_TYPE MatchType, 2932 WINBOOL *pbResult); 2933 2934 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 2935 IMFASFStreamConfig* This, 2936 REFGUID guidKey, 2937 UINT32 *punValue); 2938 2939 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 2940 IMFASFStreamConfig* This, 2941 REFGUID guidKey, 2942 UINT64 *punValue); 2943 2944 HRESULT (STDMETHODCALLTYPE *GetDouble)( 2945 IMFASFStreamConfig* This, 2946 REFGUID guidKey, 2947 double *pfValue); 2948 2949 HRESULT (STDMETHODCALLTYPE *GetGUID)( 2950 IMFASFStreamConfig* This, 2951 REFGUID guidKey, 2952 GUID *pguidValue); 2953 2954 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 2955 IMFASFStreamConfig* This, 2956 REFGUID guidKey, 2957 UINT32 *pcchLength); 2958 2959 HRESULT (STDMETHODCALLTYPE *GetString)( 2960 IMFASFStreamConfig* This, 2961 REFGUID guidKey, 2962 LPWSTR pwszValue, 2963 UINT32 cchBufSize, 2964 UINT32 *pcchLength); 2965 2966 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 2967 IMFASFStreamConfig* This, 2968 REFGUID guidKey, 2969 LPWSTR *ppwszValue, 2970 UINT32 *pcchLength); 2971 2972 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 2973 IMFASFStreamConfig* This, 2974 REFGUID guidKey, 2975 UINT32 *pcbBlobSize); 2976 2977 HRESULT (STDMETHODCALLTYPE *GetBlob)( 2978 IMFASFStreamConfig* This, 2979 REFGUID guidKey, 2980 UINT8 *pBuf, 2981 UINT32 cbBufSize, 2982 UINT32 *pcbBlobSize); 2983 2984 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 2985 IMFASFStreamConfig* This, 2986 REFGUID guidKey, 2987 UINT8 **ppBuf, 2988 UINT32 *pcbSize); 2989 2990 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 2991 IMFASFStreamConfig* This, 2992 REFGUID guidKey, 2993 REFIID riid, 2994 LPVOID *ppv); 2995 2996 HRESULT (STDMETHODCALLTYPE *SetItem)( 2997 IMFASFStreamConfig* This, 2998 REFGUID guidKey, 2999 REFPROPVARIANT Value); 3000 3001 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 3002 IMFASFStreamConfig* This, 3003 REFGUID guidKey); 3004 3005 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 3006 IMFASFStreamConfig* This); 3007 3008 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 3009 IMFASFStreamConfig* This, 3010 REFGUID guidKey, 3011 UINT32 unValue); 3012 3013 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 3014 IMFASFStreamConfig* This, 3015 REFGUID guidKey, 3016 UINT64 unValue); 3017 3018 HRESULT (STDMETHODCALLTYPE *SetDouble)( 3019 IMFASFStreamConfig* This, 3020 REFGUID guidKey, 3021 double fValue); 3022 3023 HRESULT (STDMETHODCALLTYPE *SetGUID)( 3024 IMFASFStreamConfig* This, 3025 REFGUID guidKey, 3026 REFGUID guidValue); 3027 3028 HRESULT (STDMETHODCALLTYPE *SetString)( 3029 IMFASFStreamConfig* This, 3030 REFGUID guidKey, 3031 LPCWSTR wszValue); 3032 3033 HRESULT (STDMETHODCALLTYPE *SetBlob)( 3034 IMFASFStreamConfig* This, 3035 REFGUID guidKey, 3036 const UINT8 *pBuf, 3037 UINT32 cbBufSize); 3038 3039 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 3040 IMFASFStreamConfig* This, 3041 REFGUID guidKey, 3042 IUnknown *pUnknown); 3043 3044 HRESULT (STDMETHODCALLTYPE *LockStore)( 3045 IMFASFStreamConfig* This); 3046 3047 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 3048 IMFASFStreamConfig* This); 3049 3050 HRESULT (STDMETHODCALLTYPE *GetCount)( 3051 IMFASFStreamConfig* This, 3052 UINT32 *pcItems); 3053 3054 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 3055 IMFASFStreamConfig* This, 3056 UINT32 unIndex, 3057 GUID *pguidKey, 3058 PROPVARIANT *pValue); 3059 3060 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 3061 IMFASFStreamConfig* This, 3062 IMFAttributes *pDest); 3063 3064 /*** IMFASFStreamConfig methods ***/ 3065 HRESULT (STDMETHODCALLTYPE *GetStreamType)( 3066 IMFASFStreamConfig* This, 3067 GUID *pguidStreamType); 3068 3069 WORD (STDMETHODCALLTYPE *GetStreamNumber)( 3070 IMFASFStreamConfig* This); 3071 3072 HRESULT (STDMETHODCALLTYPE *SetStreamNumber)( 3073 IMFASFStreamConfig* This, 3074 WORD wStreamNum); 3075 3076 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 3077 IMFASFStreamConfig* This, 3078 IMFMediaType **ppIMediaType); 3079 3080 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 3081 IMFASFStreamConfig* This, 3082 IMFMediaType *pIMediaType); 3083 3084 HRESULT (STDMETHODCALLTYPE *GetPayloadExtensionCount)( 3085 IMFASFStreamConfig* This, 3086 WORD *pcPayloadExtensions); 3087 3088 HRESULT (STDMETHODCALLTYPE *GetPayloadExtension)( 3089 IMFASFStreamConfig* This, 3090 WORD wPayloadExtensionNumber, 3091 GUID *pguidExtensionSystemID, 3092 WORD *pcbExtensionDataSize, 3093 BYTE *pbExtensionSystemInfo, 3094 DWORD *pcbExtensionSystemInfo); 3095 3096 HRESULT (STDMETHODCALLTYPE *AddPayloadExtension)( 3097 IMFASFStreamConfig* This, 3098 GUID guidExtensionSystemID, 3099 WORD cbExtensionDataSize, 3100 BYTE *pbExtensionSystemInfo, 3101 DWORD cbExtensionSystemInfo); 3102 3103 HRESULT (STDMETHODCALLTYPE *RemoveAllPayloadExtensions)( 3104 IMFASFStreamConfig* This); 3105 3106 HRESULT (STDMETHODCALLTYPE *Clone)( 3107 IMFASFStreamConfig* This, 3108 IMFASFStreamConfig **ppIStreamConfig); 3109 3110 END_INTERFACE 3111 } IMFASFStreamConfigVtbl; 3112 interface IMFASFStreamConfig { 3113 CONST_VTBL IMFASFStreamConfigVtbl* lpVtbl; 3114 }; 3115 3116 #ifdef COBJMACROS 3117 #ifndef WIDL_C_INLINE_WRAPPERS 3118 /*** IUnknown methods ***/ 3119 #define IMFASFStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3120 #define IMFASFStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 3121 #define IMFASFStreamConfig_Release(This) (This)->lpVtbl->Release(This) 3122 /*** IMFAttributes methods ***/ 3123 #define IMFASFStreamConfig_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 3124 #define IMFASFStreamConfig_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 3125 #define IMFASFStreamConfig_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 3126 #define IMFASFStreamConfig_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 3127 #define IMFASFStreamConfig_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 3128 #define IMFASFStreamConfig_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 3129 #define IMFASFStreamConfig_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 3130 #define IMFASFStreamConfig_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 3131 #define IMFASFStreamConfig_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 3132 #define IMFASFStreamConfig_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 3133 #define IMFASFStreamConfig_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 3134 #define IMFASFStreamConfig_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 3135 #define IMFASFStreamConfig_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 3136 #define IMFASFStreamConfig_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 3137 #define IMFASFStreamConfig_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 3138 #define IMFASFStreamConfig_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 3139 #define IMFASFStreamConfig_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 3140 #define IMFASFStreamConfig_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 3141 #define IMFASFStreamConfig_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 3142 #define IMFASFStreamConfig_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 3143 #define IMFASFStreamConfig_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 3144 #define IMFASFStreamConfig_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 3145 #define IMFASFStreamConfig_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 3146 #define IMFASFStreamConfig_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 3147 #define IMFASFStreamConfig_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 3148 #define IMFASFStreamConfig_LockStore(This) (This)->lpVtbl->LockStore(This) 3149 #define IMFASFStreamConfig_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 3150 #define IMFASFStreamConfig_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 3151 #define IMFASFStreamConfig_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 3152 #define IMFASFStreamConfig_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 3153 /*** IMFASFStreamConfig methods ***/ 3154 #define IMFASFStreamConfig_GetStreamType(This,pguidStreamType) (This)->lpVtbl->GetStreamType(This,pguidStreamType) 3155 #define IMFASFStreamConfig_GetStreamNumber(This) (This)->lpVtbl->GetStreamNumber(This) 3156 #define IMFASFStreamConfig_SetStreamNumber(This,wStreamNum) (This)->lpVtbl->SetStreamNumber(This,wStreamNum) 3157 #define IMFASFStreamConfig_GetMediaType(This,ppIMediaType) (This)->lpVtbl->GetMediaType(This,ppIMediaType) 3158 #define IMFASFStreamConfig_SetMediaType(This,pIMediaType) (This)->lpVtbl->SetMediaType(This,pIMediaType) 3159 #define IMFASFStreamConfig_GetPayloadExtensionCount(This,pcPayloadExtensions) (This)->lpVtbl->GetPayloadExtensionCount(This,pcPayloadExtensions) 3160 #define IMFASFStreamConfig_GetPayloadExtension(This,wPayloadExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo) (This)->lpVtbl->GetPayloadExtension(This,wPayloadExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo) 3161 #define IMFASFStreamConfig_AddPayloadExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo) (This)->lpVtbl->AddPayloadExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo) 3162 #define IMFASFStreamConfig_RemoveAllPayloadExtensions(This) (This)->lpVtbl->RemoveAllPayloadExtensions(This) 3163 #define IMFASFStreamConfig_Clone(This,ppIStreamConfig) (This)->lpVtbl->Clone(This,ppIStreamConfig) 3164 #else 3165 /*** IUnknown methods ***/ 3166 static FORCEINLINE HRESULT IMFASFStreamConfig_QueryInterface(IMFASFStreamConfig* This,REFIID riid,void **ppvObject) { 3167 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3168 } 3169 static FORCEINLINE ULONG IMFASFStreamConfig_AddRef(IMFASFStreamConfig* This) { 3170 return This->lpVtbl->AddRef(This); 3171 } 3172 static FORCEINLINE ULONG IMFASFStreamConfig_Release(IMFASFStreamConfig* This) { 3173 return This->lpVtbl->Release(This); 3174 } 3175 /*** IMFAttributes methods ***/ 3176 static FORCEINLINE HRESULT IMFASFStreamConfig_GetItem(IMFASFStreamConfig* This,REFGUID guidKey,PROPVARIANT *pValue) { 3177 return This->lpVtbl->GetItem(This,guidKey,pValue); 3178 } 3179 static FORCEINLINE HRESULT IMFASFStreamConfig_GetItemType(IMFASFStreamConfig* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 3180 return This->lpVtbl->GetItemType(This,guidKey,pType); 3181 } 3182 static FORCEINLINE HRESULT IMFASFStreamConfig_CompareItem(IMFASFStreamConfig* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 3183 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 3184 } 3185 static FORCEINLINE HRESULT IMFASFStreamConfig_Compare(IMFASFStreamConfig* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 3186 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 3187 } 3188 static FORCEINLINE HRESULT IMFASFStreamConfig_GetUINT32(IMFASFStreamConfig* This,REFGUID guidKey,UINT32 *punValue) { 3189 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 3190 } 3191 static FORCEINLINE HRESULT IMFASFStreamConfig_GetUINT64(IMFASFStreamConfig* This,REFGUID guidKey,UINT64 *punValue) { 3192 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 3193 } 3194 static FORCEINLINE HRESULT IMFASFStreamConfig_GetDouble(IMFASFStreamConfig* This,REFGUID guidKey,double *pfValue) { 3195 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 3196 } 3197 static FORCEINLINE HRESULT IMFASFStreamConfig_GetGUID(IMFASFStreamConfig* This,REFGUID guidKey,GUID *pguidValue) { 3198 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 3199 } 3200 static FORCEINLINE HRESULT IMFASFStreamConfig_GetStringLength(IMFASFStreamConfig* This,REFGUID guidKey,UINT32 *pcchLength) { 3201 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 3202 } 3203 static FORCEINLINE HRESULT IMFASFStreamConfig_GetString(IMFASFStreamConfig* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 3204 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 3205 } 3206 static FORCEINLINE HRESULT IMFASFStreamConfig_GetAllocatedString(IMFASFStreamConfig* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 3207 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 3208 } 3209 static FORCEINLINE HRESULT IMFASFStreamConfig_GetBlobSize(IMFASFStreamConfig* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 3210 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 3211 } 3212 static FORCEINLINE HRESULT IMFASFStreamConfig_GetBlob(IMFASFStreamConfig* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 3213 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 3214 } 3215 static FORCEINLINE HRESULT IMFASFStreamConfig_GetAllocatedBlob(IMFASFStreamConfig* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 3216 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 3217 } 3218 static FORCEINLINE HRESULT IMFASFStreamConfig_GetUnknown(IMFASFStreamConfig* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 3219 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 3220 } 3221 static FORCEINLINE HRESULT IMFASFStreamConfig_SetItem(IMFASFStreamConfig* This,REFGUID guidKey,REFPROPVARIANT Value) { 3222 return This->lpVtbl->SetItem(This,guidKey,Value); 3223 } 3224 static FORCEINLINE HRESULT IMFASFStreamConfig_DeleteItem(IMFASFStreamConfig* This,REFGUID guidKey) { 3225 return This->lpVtbl->DeleteItem(This,guidKey); 3226 } 3227 static FORCEINLINE HRESULT IMFASFStreamConfig_DeleteAllItems(IMFASFStreamConfig* This) { 3228 return This->lpVtbl->DeleteAllItems(This); 3229 } 3230 static FORCEINLINE HRESULT IMFASFStreamConfig_SetUINT32(IMFASFStreamConfig* This,REFGUID guidKey,UINT32 unValue) { 3231 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 3232 } 3233 static FORCEINLINE HRESULT IMFASFStreamConfig_SetUINT64(IMFASFStreamConfig* This,REFGUID guidKey,UINT64 unValue) { 3234 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 3235 } 3236 static FORCEINLINE HRESULT IMFASFStreamConfig_SetDouble(IMFASFStreamConfig* This,REFGUID guidKey,double fValue) { 3237 return This->lpVtbl->SetDouble(This,guidKey,fValue); 3238 } 3239 static FORCEINLINE HRESULT IMFASFStreamConfig_SetGUID(IMFASFStreamConfig* This,REFGUID guidKey,REFGUID guidValue) { 3240 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 3241 } 3242 static FORCEINLINE HRESULT IMFASFStreamConfig_SetString(IMFASFStreamConfig* This,REFGUID guidKey,LPCWSTR wszValue) { 3243 return This->lpVtbl->SetString(This,guidKey,wszValue); 3244 } 3245 static FORCEINLINE HRESULT IMFASFStreamConfig_SetBlob(IMFASFStreamConfig* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 3246 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 3247 } 3248 static FORCEINLINE HRESULT IMFASFStreamConfig_SetUnknown(IMFASFStreamConfig* This,REFGUID guidKey,IUnknown *pUnknown) { 3249 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 3250 } 3251 static FORCEINLINE HRESULT IMFASFStreamConfig_LockStore(IMFASFStreamConfig* This) { 3252 return This->lpVtbl->LockStore(This); 3253 } 3254 static FORCEINLINE HRESULT IMFASFStreamConfig_UnlockStore(IMFASFStreamConfig* This) { 3255 return This->lpVtbl->UnlockStore(This); 3256 } 3257 static FORCEINLINE HRESULT IMFASFStreamConfig_GetCount(IMFASFStreamConfig* This,UINT32 *pcItems) { 3258 return This->lpVtbl->GetCount(This,pcItems); 3259 } 3260 static FORCEINLINE HRESULT IMFASFStreamConfig_GetItemByIndex(IMFASFStreamConfig* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 3261 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 3262 } 3263 static FORCEINLINE HRESULT IMFASFStreamConfig_CopyAllItems(IMFASFStreamConfig* This,IMFAttributes *pDest) { 3264 return This->lpVtbl->CopyAllItems(This,pDest); 3265 } 3266 /*** IMFASFStreamConfig methods ***/ 3267 static FORCEINLINE HRESULT IMFASFStreamConfig_GetStreamType(IMFASFStreamConfig* This,GUID *pguidStreamType) { 3268 return This->lpVtbl->GetStreamType(This,pguidStreamType); 3269 } 3270 static FORCEINLINE WORD IMFASFStreamConfig_GetStreamNumber(IMFASFStreamConfig* This) { 3271 return This->lpVtbl->GetStreamNumber(This); 3272 } 3273 static FORCEINLINE HRESULT IMFASFStreamConfig_SetStreamNumber(IMFASFStreamConfig* This,WORD wStreamNum) { 3274 return This->lpVtbl->SetStreamNumber(This,wStreamNum); 3275 } 3276 static FORCEINLINE HRESULT IMFASFStreamConfig_GetMediaType(IMFASFStreamConfig* This,IMFMediaType **ppIMediaType) { 3277 return This->lpVtbl->GetMediaType(This,ppIMediaType); 3278 } 3279 static FORCEINLINE HRESULT IMFASFStreamConfig_SetMediaType(IMFASFStreamConfig* This,IMFMediaType *pIMediaType) { 3280 return This->lpVtbl->SetMediaType(This,pIMediaType); 3281 } 3282 static FORCEINLINE HRESULT IMFASFStreamConfig_GetPayloadExtensionCount(IMFASFStreamConfig* This,WORD *pcPayloadExtensions) { 3283 return This->lpVtbl->GetPayloadExtensionCount(This,pcPayloadExtensions); 3284 } 3285 static FORCEINLINE HRESULT IMFASFStreamConfig_GetPayloadExtension(IMFASFStreamConfig* This,WORD wPayloadExtensionNumber,GUID *pguidExtensionSystemID,WORD *pcbExtensionDataSize,BYTE *pbExtensionSystemInfo,DWORD *pcbExtensionSystemInfo) { 3286 return This->lpVtbl->GetPayloadExtension(This,wPayloadExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo); 3287 } 3288 static FORCEINLINE HRESULT IMFASFStreamConfig_AddPayloadExtension(IMFASFStreamConfig* This,GUID guidExtensionSystemID,WORD cbExtensionDataSize,BYTE *pbExtensionSystemInfo,DWORD cbExtensionSystemInfo) { 3289 return This->lpVtbl->AddPayloadExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo); 3290 } 3291 static FORCEINLINE HRESULT IMFASFStreamConfig_RemoveAllPayloadExtensions(IMFASFStreamConfig* This) { 3292 return This->lpVtbl->RemoveAllPayloadExtensions(This); 3293 } 3294 static FORCEINLINE HRESULT IMFASFStreamConfig_Clone(IMFASFStreamConfig* This,IMFASFStreamConfig **ppIStreamConfig) { 3295 return This->lpVtbl->Clone(This,ppIStreamConfig); 3296 } 3297 #endif 3298 #endif 3299 3300 #endif 3301 3302 HRESULT STDMETHODCALLTYPE IMFASFStreamConfig_GetStreamType_Proxy( 3303 IMFASFStreamConfig* This, 3304 GUID *pguidStreamType); 3305 void __RPC_STUB IMFASFStreamConfig_GetStreamType_Stub( 3306 IRpcStubBuffer* This, 3307 IRpcChannelBuffer* pRpcChannelBuffer, 3308 PRPC_MESSAGE pRpcMessage, 3309 DWORD* pdwStubPhase); 3310 WORD STDMETHODCALLTYPE IMFASFStreamConfig_GetStreamNumber_Proxy( 3311 IMFASFStreamConfig* This); 3312 void __RPC_STUB IMFASFStreamConfig_GetStreamNumber_Stub( 3313 IRpcStubBuffer* This, 3314 IRpcChannelBuffer* pRpcChannelBuffer, 3315 PRPC_MESSAGE pRpcMessage, 3316 DWORD* pdwStubPhase); 3317 HRESULT STDMETHODCALLTYPE IMFASFStreamConfig_SetStreamNumber_Proxy( 3318 IMFASFStreamConfig* This, 3319 WORD wStreamNum); 3320 void __RPC_STUB IMFASFStreamConfig_SetStreamNumber_Stub( 3321 IRpcStubBuffer* This, 3322 IRpcChannelBuffer* pRpcChannelBuffer, 3323 PRPC_MESSAGE pRpcMessage, 3324 DWORD* pdwStubPhase); 3325 HRESULT STDMETHODCALLTYPE IMFASFStreamConfig_GetMediaType_Proxy( 3326 IMFASFStreamConfig* This, 3327 IMFMediaType **ppIMediaType); 3328 void __RPC_STUB IMFASFStreamConfig_GetMediaType_Stub( 3329 IRpcStubBuffer* This, 3330 IRpcChannelBuffer* pRpcChannelBuffer, 3331 PRPC_MESSAGE pRpcMessage, 3332 DWORD* pdwStubPhase); 3333 HRESULT STDMETHODCALLTYPE IMFASFStreamConfig_SetMediaType_Proxy( 3334 IMFASFStreamConfig* This, 3335 IMFMediaType *pIMediaType); 3336 void __RPC_STUB IMFASFStreamConfig_SetMediaType_Stub( 3337 IRpcStubBuffer* This, 3338 IRpcChannelBuffer* pRpcChannelBuffer, 3339 PRPC_MESSAGE pRpcMessage, 3340 DWORD* pdwStubPhase); 3341 HRESULT STDMETHODCALLTYPE IMFASFStreamConfig_GetPayloadExtensionCount_Proxy( 3342 IMFASFStreamConfig* This, 3343 WORD *pcPayloadExtensions); 3344 void __RPC_STUB IMFASFStreamConfig_GetPayloadExtensionCount_Stub( 3345 IRpcStubBuffer* This, 3346 IRpcChannelBuffer* pRpcChannelBuffer, 3347 PRPC_MESSAGE pRpcMessage, 3348 DWORD* pdwStubPhase); 3349 HRESULT STDMETHODCALLTYPE IMFASFStreamConfig_GetPayloadExtension_Proxy( 3350 IMFASFStreamConfig* This, 3351 WORD wPayloadExtensionNumber, 3352 GUID *pguidExtensionSystemID, 3353 WORD *pcbExtensionDataSize, 3354 BYTE *pbExtensionSystemInfo, 3355 DWORD *pcbExtensionSystemInfo); 3356 void __RPC_STUB IMFASFStreamConfig_GetPayloadExtension_Stub( 3357 IRpcStubBuffer* This, 3358 IRpcChannelBuffer* pRpcChannelBuffer, 3359 PRPC_MESSAGE pRpcMessage, 3360 DWORD* pdwStubPhase); 3361 HRESULT STDMETHODCALLTYPE IMFASFStreamConfig_AddPayloadExtension_Proxy( 3362 IMFASFStreamConfig* This, 3363 GUID guidExtensionSystemID, 3364 WORD cbExtensionDataSize, 3365 BYTE *pbExtensionSystemInfo, 3366 DWORD cbExtensionSystemInfo); 3367 void __RPC_STUB IMFASFStreamConfig_AddPayloadExtension_Stub( 3368 IRpcStubBuffer* This, 3369 IRpcChannelBuffer* pRpcChannelBuffer, 3370 PRPC_MESSAGE pRpcMessage, 3371 DWORD* pdwStubPhase); 3372 HRESULT STDMETHODCALLTYPE IMFASFStreamConfig_RemoveAllPayloadExtensions_Proxy( 3373 IMFASFStreamConfig* This); 3374 void __RPC_STUB IMFASFStreamConfig_RemoveAllPayloadExtensions_Stub( 3375 IRpcStubBuffer* This, 3376 IRpcChannelBuffer* pRpcChannelBuffer, 3377 PRPC_MESSAGE pRpcMessage, 3378 DWORD* pdwStubPhase); 3379 HRESULT STDMETHODCALLTYPE IMFASFStreamConfig_Clone_Proxy( 3380 IMFASFStreamConfig* This, 3381 IMFASFStreamConfig **ppIStreamConfig); 3382 void __RPC_STUB IMFASFStreamConfig_Clone_Stub( 3383 IRpcStubBuffer* This, 3384 IRpcChannelBuffer* pRpcChannelBuffer, 3385 PRPC_MESSAGE pRpcMessage, 3386 DWORD* pdwStubPhase); 3387 3388 #endif /* __IMFASFStreamConfig_INTERFACE_DEFINED__ */ 3389 3390 3391 EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMEDIASINK_BASE_SENDTIME = { { 0xcddcbc82, 0x3411, 0x4119, 0x91, 0x35, 0x84, 0x23, 0xc4, 0x1b, 0x39, 0x57}, 3 }; 3392 EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMEDIASINK_AUTOADJUST_BITRATE = { { 0xcddcbc82, 0x3411, 0x4119, 0x91, 0x35, 0x84, 0x23, 0xc4, 0x1b, 0x39, 0x57}, 4 }; 3393 EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMEDIASINK_DRMACTION = { { 0xa1db6f6c, 0x1d0a, 0x4cb6, 0x82, 0x54, 0xcb, 0x36, 0xbe, 0xed, 0xbc, 0x48}, 5 }; 3394 EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFSTREAMSINK_CORRECTED_LEAKYBUCKET = { { 0xa2f152fb, 0x8ad9, 0x4a11, 0xb3, 0x45, 0x2c, 0xe2, 0xfa, 0xd8, 0x72, 0x3d}, 1 }; 3395 3396 STDAPI MFCreateASFContentInfo(IMFASFContentInfo **ppIContentInfo); 3397 STDAPI MFCreateASFIndexer(IMFASFIndexer **ppIIndexer); 3398 STDAPI MFCreateASFIndexerByteStream(IMFByteStream *pIContentByteStream, QWORD cbIndexStartOffset, IMFByteStream **pIIndexByteStream); 3399 STDAPI MFCreateASFMediaSink(IMFByteStream *pIByteStream, IMFMediaSink **ppIMediaSink); 3400 STDAPI MFCreateASFMediaSinkActivate(LPCWSTR pwszFileName, IMFASFContentInfo *pContentInfo, IMFActivate **ppIActivate); 3401 STDAPI MFCreateASFMultiplexer(IMFASFMultiplexer **ppIMultiplexer); 3402 STDAPI MFCreateASFProfile(IMFASFProfile **ppIProfile); 3403 STDAPI MFCreateASFProfileFromPresentationDescriptor(IMFPresentationDescriptor *pIPD, IMFASFProfile **ppIProfile); 3404 STDAPI MFCreateASFSplitter(IMFASFSplitter **ppISplitter); 3405 STDAPI MFCreateASFStreamingMediaSink(IMFByteStream *pIByteStream, IMFMediaSink **ppIMediaSink); 3406 STDAPI MFCreateASFStreamingMediaSinkActivate(IMFActivate *pByteStreamActivate, IMFASFContentInfo *pContentInfo, IMFActivate **ppIActivate); 3407 STDAPI MFCreateASFStreamSelector(IMFASFProfile *pIASFProfile, IMFASFStreamSelector **ppSelector); 3408 STDAPI MFCreatePresentationDescriptorFromASFProfile(IMFASFProfile *pIProfile, IMFPresentationDescriptor **ppIPD); 3409 HRESULT STDMETHODCALLTYPE MFCreateWMVEncoderActivate(IMFMediaType *pMediaType, IPropertyStore *pEncodingConfigurationProperties, IMFActivate **ppActivate); 3410 HRESULT STDMETHODCALLTYPE MFCreateWMAEncoderActivate(IMFMediaType *pMediaType, IPropertyStore *pEncodingConfigurationProperties, IMFActivate **ppActivate); 3411 #endif 3412 /* Begin additional prototypes for all interfaces */ 3413 3414 ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); 3415 unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); 3416 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); 3417 void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); 3418 3419 /* End additional prototypes */ 3420 3421 #ifdef __cplusplus 3422 } 3423 #endif 3424 3425 #endif /* __wmcontainer_h__ */ 3426