1 /*** Autogenerated by WIDL 1.6 from include/wmsdkidl.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 __wmsdkidl_h__ 16 #define __wmsdkidl_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IWMStatusCallback_FWD_DEFINED__ 21 #define __IWMStatusCallback_FWD_DEFINED__ 22 typedef interface IWMStatusCallback IWMStatusCallback; 23 #endif 24 25 #ifndef __IWMReaderCallback_FWD_DEFINED__ 26 #define __IWMReaderCallback_FWD_DEFINED__ 27 typedef interface IWMReaderCallback IWMReaderCallback; 28 #endif 29 30 #ifndef __IWMStreamList_FWD_DEFINED__ 31 #define __IWMStreamList_FWD_DEFINED__ 32 typedef interface IWMStreamList IWMStreamList; 33 #endif 34 35 #ifndef __IWMMutualExclusion_FWD_DEFINED__ 36 #define __IWMMutualExclusion_FWD_DEFINED__ 37 typedef interface IWMMutualExclusion IWMMutualExclusion; 38 #endif 39 40 #ifndef __IWMStreamConfig_FWD_DEFINED__ 41 #define __IWMStreamConfig_FWD_DEFINED__ 42 typedef interface IWMStreamConfig IWMStreamConfig; 43 #endif 44 45 #ifndef __IWMProfile_FWD_DEFINED__ 46 #define __IWMProfile_FWD_DEFINED__ 47 typedef interface IWMProfile IWMProfile; 48 #endif 49 50 #ifndef __IWMProfileManager_FWD_DEFINED__ 51 #define __IWMProfileManager_FWD_DEFINED__ 52 typedef interface IWMProfileManager IWMProfileManager; 53 #endif 54 55 #ifndef __IWMMediaProps_FWD_DEFINED__ 56 #define __IWMMediaProps_FWD_DEFINED__ 57 typedef interface IWMMediaProps IWMMediaProps; 58 #endif 59 60 #ifndef __IWMOutputMediaProps_FWD_DEFINED__ 61 #define __IWMOutputMediaProps_FWD_DEFINED__ 62 typedef interface IWMOutputMediaProps IWMOutputMediaProps; 63 #endif 64 65 #ifndef __IWMMetadataEditor_FWD_DEFINED__ 66 #define __IWMMetadataEditor_FWD_DEFINED__ 67 typedef interface IWMMetadataEditor IWMMetadataEditor; 68 #endif 69 70 #ifndef __IWMReader_FWD_DEFINED__ 71 #define __IWMReader_FWD_DEFINED__ 72 typedef interface IWMReader IWMReader; 73 #endif 74 75 #ifndef __IWMPlayerHook_FWD_DEFINED__ 76 #define __IWMPlayerHook_FWD_DEFINED__ 77 typedef interface IWMPlayerHook IWMPlayerHook; 78 #endif 79 80 #ifndef __IWMReaderAdvanced_FWD_DEFINED__ 81 #define __IWMReaderAdvanced_FWD_DEFINED__ 82 typedef interface IWMReaderAdvanced IWMReaderAdvanced; 83 #endif 84 85 #ifndef __IWMReaderAdvanced2_FWD_DEFINED__ 86 #define __IWMReaderAdvanced2_FWD_DEFINED__ 87 typedef interface IWMReaderAdvanced2 IWMReaderAdvanced2; 88 #endif 89 90 #ifndef __IWMReaderAdvanced3_FWD_DEFINED__ 91 #define __IWMReaderAdvanced3_FWD_DEFINED__ 92 typedef interface IWMReaderAdvanced3 IWMReaderAdvanced3; 93 #endif 94 95 #ifndef __IWMReaderAdvanced4_FWD_DEFINED__ 96 #define __IWMReaderAdvanced4_FWD_DEFINED__ 97 typedef interface IWMReaderAdvanced4 IWMReaderAdvanced4; 98 #endif 99 100 #ifndef __IWMReaderAdvanced5_FWD_DEFINED__ 101 #define __IWMReaderAdvanced5_FWD_DEFINED__ 102 typedef interface IWMReaderAdvanced5 IWMReaderAdvanced5; 103 #endif 104 105 #ifndef __IWMReaderAdvanced6_FWD_DEFINED__ 106 #define __IWMReaderAdvanced6_FWD_DEFINED__ 107 typedef interface IWMReaderAdvanced6 IWMReaderAdvanced6; 108 #endif 109 110 #ifndef __IWMSyncReader_FWD_DEFINED__ 111 #define __IWMSyncReader_FWD_DEFINED__ 112 typedef interface IWMSyncReader IWMSyncReader; 113 #endif 114 115 #ifndef __IWMInputMediaProps_FWD_DEFINED__ 116 #define __IWMInputMediaProps_FWD_DEFINED__ 117 typedef interface IWMInputMediaProps IWMInputMediaProps; 118 #endif 119 120 #ifndef __IWMWriterSink_FWD_DEFINED__ 121 #define __IWMWriterSink_FWD_DEFINED__ 122 typedef interface IWMWriterSink IWMWriterSink; 123 #endif 124 125 #ifndef __IWMWriter_FWD_DEFINED__ 126 #define __IWMWriter_FWD_DEFINED__ 127 typedef interface IWMWriter IWMWriter; 128 #endif 129 130 #ifndef __IWMWriterAdvanced_FWD_DEFINED__ 131 #define __IWMWriterAdvanced_FWD_DEFINED__ 132 typedef interface IWMWriterAdvanced IWMWriterAdvanced; 133 #endif 134 135 #ifndef __IWMWriterAdvanced2_FWD_DEFINED__ 136 #define __IWMWriterAdvanced2_FWD_DEFINED__ 137 typedef interface IWMWriterAdvanced2 IWMWriterAdvanced2; 138 #endif 139 140 #ifndef __IWMWriterAdvanced3_FWD_DEFINED__ 141 #define __IWMWriterAdvanced3_FWD_DEFINED__ 142 typedef interface IWMWriterAdvanced3 IWMWriterAdvanced3; 143 #endif 144 145 /* Headers for imported files */ 146 147 #include <oaidl.h> 148 #include <wmsbuffer.h> 149 150 #ifdef __cplusplus 151 extern "C" { 152 #endif 153 154 typedef UINT64 QWORD; 155 typedef struct _WMMediaType { 156 GUID majortype; 157 GUID subtype; 158 WINBOOL bFixedSizeSamples; 159 WINBOOL bTemporalCompression; 160 ULONG lSampleSize; 161 GUID formattype; 162 IUnknown *pUnk; 163 ULONG cbFormat; 164 BYTE *pbFormat; 165 } WM_MEDIA_TYPE; 166 typedef struct _WMWriterStatistics { 167 QWORD qwSampleCount; 168 QWORD qwByteCount; 169 QWORD qwDroppedSampleCount; 170 QWORD qwDroppedByteCount; 171 DWORD dwCurrentBitrate; 172 DWORD dwAverageBitrate; 173 DWORD dwExpectedBitrate; 174 DWORD dwCurrentSampleRate; 175 DWORD dwAverageSampleRate; 176 DWORD dwExpectedSampleRate; 177 } WM_WRITER_STATISTICS; 178 typedef struct _WMWriterStatisticsEx { 179 DWORD dwBitratePlusOverhead; 180 DWORD dwCurrentSampleDropRateInQueue; 181 DWORD dwCurrentSampleDropRateInCodec; 182 DWORD dwCurrentSampleDropRateInMultiplexer; 183 DWORD dwTotalSampleDropsInQueue; 184 DWORD dwTotalSampleDropsInCodec; 185 DWORD dwTotalSampleDropsInMultiplexer; 186 } WM_WRITER_STATISTICS_EX; 187 typedef struct _WMReaderStatistics { 188 DWORD cbSize; 189 DWORD dwBandwidth; 190 DWORD cPacketsReceived; 191 DWORD cPacketsRecovered; 192 DWORD cPacketsLost; 193 WORD wQuality; 194 } WM_READER_STATISTICS; 195 typedef struct _WMReaderClientInfo { 196 DWORD cbSize; 197 WCHAR *wszLang; 198 WCHAR *wszBrowserUserAgent; 199 WCHAR *wszBrowserWebPage; 200 QWORD qwReserved; 201 LPARAM *pReserved; 202 WCHAR *wszHostExe; 203 QWORD qwHostVersion; 204 WCHAR *wszPlayerUserAgent; 205 } WM_READER_CLIENTINFO; 206 typedef enum WMT_ATTR_DATATYPE { 207 WMT_TYPE_DWORD = 0, 208 WMT_TYPE_STRING = 1, 209 WMT_TYPE_BINARY = 2, 210 WMT_TYPE_BOOL = 3, 211 WMT_TYPE_QWORD = 4, 212 WMT_TYPE_WORD = 5, 213 WMT_TYPE_GUID = 6 214 } WMT_ATTR_DATATYPE; 215 typedef enum WMT_STATUS { 216 WMT_ERROR = 0, 217 WMT_OPENED = 1, 218 WMT_BUFFERING_START = 2, 219 WMT_BUFFERING_STOP = 3, 220 WMT_EOF = 4, 221 WMT_END_OF_FILE = 4, 222 WMT_END_OF_SEGMENT = 5, 223 WMT_END_OF_STREAMING = 6, 224 WMT_LOCATING = 7, 225 WMT_CONNECTING = 8, 226 WMT_NO_RIGHTS = 9, 227 WMT_MISSING_CODEC = 10, 228 WMT_STARTED = 11, 229 WMT_STOPPED = 12, 230 WMT_CLOSED = 13, 231 WMT_STRIDING = 14, 232 WMT_TIMER = 15, 233 WMT_INDEX_PROGRESS = 16, 234 WMT_SAVEAS_START = 17, 235 WMT_SAVEAS_STOP = 18, 236 WMT_NEW_SOURCEFLAGS = 19, 237 WMT_NEW_METADATA = 20, 238 WMT_BACKUPRESTORE_BEGIN = 21, 239 WMT_SOURCE_SWITCH = 22, 240 WMT_ACQUIRE_LICENSE = 23, 241 WMT_INDIVIDUALIZE = 24, 242 WMT_NEEDS_INDIVIDUALIZATION = 25, 243 WMT_NO_RIGHTS_EX = 26, 244 WMT_BACKUPRESTORE_END = 27, 245 WMT_BACKUPRESTORE_CONNECTING = 28, 246 WMT_BACKUPRESTORE_DISCONNECTING = 29, 247 WMT_ERROR_WITHURL = 30, 248 WMT_RESTRICTED_LICENSE = 31, 249 WMT_CLIENT_CONNECT = 32, 250 WMT_CLIENT_DISCONNECT = 33, 251 WMT_NATIVE_OUTPUT_PROPS_CHANGED = 34, 252 WMT_RECONNECT_START = 35, 253 WMT_RECONNECT_END = 36, 254 WMT_CLIENT_CONNECT_EX = 37, 255 WMT_CLIENT_DISCONNECT_EX = 38, 256 WMT_SET_FEC_SPAN = 39, 257 WMT_PREROLL_READY = 40, 258 WMT_PREROLL_COMPLETE = 41, 259 WMT_CLIENT_PROPERTIES = 42, 260 WMT_LICENSEURL_SIGNATURE_STATE = 43, 261 WMT_INIT_PLAYLIST_BURN = 44, 262 WMT_TRANSCRYPTOR_INIT = 45, 263 WMT_TRANSCRYPTOR_SEEKED = 46, 264 WMT_TRANSCRYPTOR_READ = 47, 265 WMT_TRANSCRYPTOR_CLOSED = 48, 266 WMT_PROXIMITY_RESULT = 49, 267 WMT_PROXIMITY_COMPLETED = 50, 268 WMT_CONTENT_ENABLER = 51 269 } WMT_STATUS; 270 typedef enum WMT_STREAM_SELECTION { 271 WMT_OFF = 0, 272 WMT_CLEANPOINT_ONLY = 1, 273 WMT_ON = 2 274 } WMT_STREAM_SELECTION; 275 typedef enum WMT_VERSION { 276 WMT_VER_4_0 = 0x40000, 277 WMT_VER_7_0 = 0x70000, 278 WMT_VER_8_0 = 0x80000, 279 WMT_VER_9_0 = 0x90000 280 } WMT_VERSION; 281 typedef enum WMT_PLAY_MODE { 282 WMT_PLAY_MODE_AUTOSELECT = 0, 283 WMT_PLAY_MODE_LOCAL = 1, 284 WMT_PLAY_MODE_DOWNLOAD = 2, 285 WMT_PLAY_MODE_STREAMING = 3 286 } WMT_PLAY_MODE; 287 typedef enum tagWMT_OFFSET_FORMAT { 288 WMT_OFFSET_FORMAT_100NS = 0, 289 WMT_OFFSET_FORMAT_FRAME_NUMBERS = 1, 290 WMT_OFFSET_FORMAT_PLAYLIST_OFFSET = 2, 291 WMT_OFFSET_FORMAT_TIMECODE = 3, 292 WMT_OFFSET_FORMAT_100NS_APPROXIMATE = 4 293 } WMT_OFFSET_FORMAT; 294 typedef LPCWSTR LPCWSTR_WMSDK_TYPE_SAFE; 295 /***************************************************************************** 296 * IWMStatusCallback interface 297 */ 298 #ifndef __IWMStatusCallback_INTERFACE_DEFINED__ 299 #define __IWMStatusCallback_INTERFACE_DEFINED__ 300 301 DEFINE_GUID(IID_IWMStatusCallback, 0x6d7cdc70, 0x9888, 0x11d3, 0x8e,0xdc, 0x00,0xc0,0x4f,0x61,0x09,0xcf); 302 #if defined(__cplusplus) && !defined(CINTERFACE) 303 MIDL_INTERFACE("6d7cdc70-9888-11d3-8edc-00c04f6109cf") 304 IWMStatusCallback : public IUnknown 305 { 306 virtual HRESULT STDMETHODCALLTYPE OnStatus( 307 WMT_STATUS Status, 308 HRESULT hr, 309 WMT_ATTR_DATATYPE dwType, 310 BYTE *pValue, 311 void *pvContext) = 0; 312 313 }; 314 #ifdef __CRT_UUID_DECL 315 __CRT_UUID_DECL(IWMStatusCallback, 0x6d7cdc70, 0x9888, 0x11d3, 0x8e,0xdc, 0x00,0xc0,0x4f,0x61,0x09,0xcf) 316 #endif 317 #else 318 typedef struct IWMStatusCallbackVtbl { 319 BEGIN_INTERFACE 320 321 /*** IUnknown methods ***/ 322 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 323 IWMStatusCallback* This, 324 REFIID riid, 325 void **ppvObject); 326 327 ULONG (STDMETHODCALLTYPE *AddRef)( 328 IWMStatusCallback* This); 329 330 ULONG (STDMETHODCALLTYPE *Release)( 331 IWMStatusCallback* This); 332 333 /*** IWMStatusCallback methods ***/ 334 HRESULT (STDMETHODCALLTYPE *OnStatus)( 335 IWMStatusCallback* This, 336 WMT_STATUS Status, 337 HRESULT hr, 338 WMT_ATTR_DATATYPE dwType, 339 BYTE *pValue, 340 void *pvContext); 341 342 END_INTERFACE 343 } IWMStatusCallbackVtbl; 344 interface IWMStatusCallback { 345 CONST_VTBL IWMStatusCallbackVtbl* lpVtbl; 346 }; 347 348 #ifdef COBJMACROS 349 #ifndef WIDL_C_INLINE_WRAPPERS 350 /*** IUnknown methods ***/ 351 #define IWMStatusCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 352 #define IWMStatusCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 353 #define IWMStatusCallback_Release(This) (This)->lpVtbl->Release(This) 354 /*** IWMStatusCallback methods ***/ 355 #define IWMStatusCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) (This)->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext) 356 #else 357 /*** IUnknown methods ***/ 358 static FORCEINLINE HRESULT IWMStatusCallback_QueryInterface(IWMStatusCallback* This,REFIID riid,void **ppvObject) { 359 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 360 } 361 static FORCEINLINE ULONG IWMStatusCallback_AddRef(IWMStatusCallback* This) { 362 return This->lpVtbl->AddRef(This); 363 } 364 static FORCEINLINE ULONG IWMStatusCallback_Release(IWMStatusCallback* This) { 365 return This->lpVtbl->Release(This); 366 } 367 /*** IWMStatusCallback methods ***/ 368 static FORCEINLINE HRESULT IWMStatusCallback_OnStatus(IWMStatusCallback* This,WMT_STATUS Status,HRESULT hr,WMT_ATTR_DATATYPE dwType,BYTE *pValue,void *pvContext) { 369 return This->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext); 370 } 371 #endif 372 #endif 373 374 #endif 375 376 HRESULT STDMETHODCALLTYPE IWMStatusCallback_OnStatus_Proxy( 377 IWMStatusCallback* This, 378 WMT_STATUS Status, 379 HRESULT hr, 380 WMT_ATTR_DATATYPE dwType, 381 BYTE *pValue, 382 void *pvContext); 383 void __RPC_STUB IWMStatusCallback_OnStatus_Stub( 384 IRpcStubBuffer* This, 385 IRpcChannelBuffer* pRpcChannelBuffer, 386 PRPC_MESSAGE pRpcMessage, 387 DWORD* pdwStubPhase); 388 389 #endif /* __IWMStatusCallback_INTERFACE_DEFINED__ */ 390 391 /***************************************************************************** 392 * IWMReaderCallback interface 393 */ 394 #ifndef __IWMReaderCallback_INTERFACE_DEFINED__ 395 #define __IWMReaderCallback_INTERFACE_DEFINED__ 396 397 DEFINE_GUID(IID_IWMReaderCallback, 0x96406bd8, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 398 #if defined(__cplusplus) && !defined(CINTERFACE) 399 MIDL_INTERFACE("96406bd8-2b2b-11d3-b36b-00c04f6108ff") 400 IWMReaderCallback : public IWMStatusCallback 401 { 402 virtual HRESULT STDMETHODCALLTYPE OnSample( 403 DWORD dwOutputNum, 404 QWORD cnsSampleTime, 405 QWORD cnsSampleDuration, 406 DWORD dwFlags, 407 INSSBuffer *pSample, 408 void *pvContext) = 0; 409 410 }; 411 #ifdef __CRT_UUID_DECL 412 __CRT_UUID_DECL(IWMReaderCallback, 0x96406bd8, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 413 #endif 414 #else 415 typedef struct IWMReaderCallbackVtbl { 416 BEGIN_INTERFACE 417 418 /*** IUnknown methods ***/ 419 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 420 IWMReaderCallback* This, 421 REFIID riid, 422 void **ppvObject); 423 424 ULONG (STDMETHODCALLTYPE *AddRef)( 425 IWMReaderCallback* This); 426 427 ULONG (STDMETHODCALLTYPE *Release)( 428 IWMReaderCallback* This); 429 430 /*** IWMStatusCallback methods ***/ 431 HRESULT (STDMETHODCALLTYPE *OnStatus)( 432 IWMReaderCallback* This, 433 WMT_STATUS Status, 434 HRESULT hr, 435 WMT_ATTR_DATATYPE dwType, 436 BYTE *pValue, 437 void *pvContext); 438 439 /*** IWMReaderCallback methods ***/ 440 HRESULT (STDMETHODCALLTYPE *OnSample)( 441 IWMReaderCallback* This, 442 DWORD dwOutputNum, 443 QWORD cnsSampleTime, 444 QWORD cnsSampleDuration, 445 DWORD dwFlags, 446 INSSBuffer *pSample, 447 void *pvContext); 448 449 END_INTERFACE 450 } IWMReaderCallbackVtbl; 451 interface IWMReaderCallback { 452 CONST_VTBL IWMReaderCallbackVtbl* lpVtbl; 453 }; 454 455 #ifdef COBJMACROS 456 #ifndef WIDL_C_INLINE_WRAPPERS 457 /*** IUnknown methods ***/ 458 #define IWMReaderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 459 #define IWMReaderCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 460 #define IWMReaderCallback_Release(This) (This)->lpVtbl->Release(This) 461 /*** IWMStatusCallback methods ***/ 462 #define IWMReaderCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) (This)->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext) 463 /*** IWMReaderCallback methods ***/ 464 #define IWMReaderCallback_OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) (This)->lpVtbl->OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) 465 #else 466 /*** IUnknown methods ***/ 467 static FORCEINLINE HRESULT IWMReaderCallback_QueryInterface(IWMReaderCallback* This,REFIID riid,void **ppvObject) { 468 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 469 } 470 static FORCEINLINE ULONG IWMReaderCallback_AddRef(IWMReaderCallback* This) { 471 return This->lpVtbl->AddRef(This); 472 } 473 static FORCEINLINE ULONG IWMReaderCallback_Release(IWMReaderCallback* This) { 474 return This->lpVtbl->Release(This); 475 } 476 /*** IWMStatusCallback methods ***/ 477 static FORCEINLINE HRESULT IWMReaderCallback_OnStatus(IWMReaderCallback* This,WMT_STATUS Status,HRESULT hr,WMT_ATTR_DATATYPE dwType,BYTE *pValue,void *pvContext) { 478 return This->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext); 479 } 480 /*** IWMReaderCallback methods ***/ 481 static FORCEINLINE HRESULT IWMReaderCallback_OnSample(IWMReaderCallback* This,DWORD dwOutputNum,QWORD cnsSampleTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample,void *pvContext) { 482 return This->lpVtbl->OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext); 483 } 484 #endif 485 #endif 486 487 #endif 488 489 HRESULT STDMETHODCALLTYPE IWMReaderCallback_OnSample_Proxy( 490 IWMReaderCallback* This, 491 DWORD dwOutputNum, 492 QWORD cnsSampleTime, 493 QWORD cnsSampleDuration, 494 DWORD dwFlags, 495 INSSBuffer *pSample, 496 void *pvContext); 497 void __RPC_STUB IWMReaderCallback_OnSample_Stub( 498 IRpcStubBuffer* This, 499 IRpcChannelBuffer* pRpcChannelBuffer, 500 PRPC_MESSAGE pRpcMessage, 501 DWORD* pdwStubPhase); 502 503 #endif /* __IWMReaderCallback_INTERFACE_DEFINED__ */ 504 505 /***************************************************************************** 506 * IWMStreamList interface 507 */ 508 #ifndef __IWMStreamList_INTERFACE_DEFINED__ 509 #define __IWMStreamList_INTERFACE_DEFINED__ 510 511 DEFINE_GUID(IID_IWMStreamList, 0x96406bdd, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 512 #if defined(__cplusplus) && !defined(CINTERFACE) 513 MIDL_INTERFACE("96406bdd-2b2b-11d3-b36b-00c04f6108ff") 514 IWMStreamList : public IUnknown 515 { 516 virtual HRESULT STDMETHODCALLTYPE GetStreams( 517 WORD *pwStreamNumArray, 518 WORD *pcStreams) = 0; 519 520 virtual HRESULT STDMETHODCALLTYPE AddStream( 521 WORD wStreamNum) = 0; 522 523 virtual HRESULT STDMETHODCALLTYPE RemoveStream( 524 WORD wStreamNum) = 0; 525 526 }; 527 #ifdef __CRT_UUID_DECL 528 __CRT_UUID_DECL(IWMStreamList, 0x96406bdd, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 529 #endif 530 #else 531 typedef struct IWMStreamListVtbl { 532 BEGIN_INTERFACE 533 534 /*** IUnknown methods ***/ 535 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 536 IWMStreamList* This, 537 REFIID riid, 538 void **ppvObject); 539 540 ULONG (STDMETHODCALLTYPE *AddRef)( 541 IWMStreamList* This); 542 543 ULONG (STDMETHODCALLTYPE *Release)( 544 IWMStreamList* This); 545 546 /*** IWMStreamList methods ***/ 547 HRESULT (STDMETHODCALLTYPE *GetStreams)( 548 IWMStreamList* This, 549 WORD *pwStreamNumArray, 550 WORD *pcStreams); 551 552 HRESULT (STDMETHODCALLTYPE *AddStream)( 553 IWMStreamList* This, 554 WORD wStreamNum); 555 556 HRESULT (STDMETHODCALLTYPE *RemoveStream)( 557 IWMStreamList* This, 558 WORD wStreamNum); 559 560 END_INTERFACE 561 } IWMStreamListVtbl; 562 interface IWMStreamList { 563 CONST_VTBL IWMStreamListVtbl* lpVtbl; 564 }; 565 566 #ifdef COBJMACROS 567 #ifndef WIDL_C_INLINE_WRAPPERS 568 /*** IUnknown methods ***/ 569 #define IWMStreamList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 570 #define IWMStreamList_AddRef(This) (This)->lpVtbl->AddRef(This) 571 #define IWMStreamList_Release(This) (This)->lpVtbl->Release(This) 572 /*** IWMStreamList methods ***/ 573 #define IWMStreamList_GetStreams(This,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams) 574 #define IWMStreamList_AddStream(This,wStreamNum) (This)->lpVtbl->AddStream(This,wStreamNum) 575 #define IWMStreamList_RemoveStream(This,wStreamNum) (This)->lpVtbl->RemoveStream(This,wStreamNum) 576 #else 577 /*** IUnknown methods ***/ 578 static FORCEINLINE HRESULT IWMStreamList_QueryInterface(IWMStreamList* This,REFIID riid,void **ppvObject) { 579 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 580 } 581 static FORCEINLINE ULONG IWMStreamList_AddRef(IWMStreamList* This) { 582 return This->lpVtbl->AddRef(This); 583 } 584 static FORCEINLINE ULONG IWMStreamList_Release(IWMStreamList* This) { 585 return This->lpVtbl->Release(This); 586 } 587 /*** IWMStreamList methods ***/ 588 static FORCEINLINE HRESULT IWMStreamList_GetStreams(IWMStreamList* This,WORD *pwStreamNumArray,WORD *pcStreams) { 589 return This->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams); 590 } 591 static FORCEINLINE HRESULT IWMStreamList_AddStream(IWMStreamList* This,WORD wStreamNum) { 592 return This->lpVtbl->AddStream(This,wStreamNum); 593 } 594 static FORCEINLINE HRESULT IWMStreamList_RemoveStream(IWMStreamList* This,WORD wStreamNum) { 595 return This->lpVtbl->RemoveStream(This,wStreamNum); 596 } 597 #endif 598 #endif 599 600 #endif 601 602 HRESULT STDMETHODCALLTYPE IWMStreamList_GetStreams_Proxy( 603 IWMStreamList* This, 604 WORD *pwStreamNumArray, 605 WORD *pcStreams); 606 void __RPC_STUB IWMStreamList_GetStreams_Stub( 607 IRpcStubBuffer* This, 608 IRpcChannelBuffer* pRpcChannelBuffer, 609 PRPC_MESSAGE pRpcMessage, 610 DWORD* pdwStubPhase); 611 HRESULT STDMETHODCALLTYPE IWMStreamList_AddStream_Proxy( 612 IWMStreamList* This, 613 WORD wStreamNum); 614 void __RPC_STUB IWMStreamList_AddStream_Stub( 615 IRpcStubBuffer* This, 616 IRpcChannelBuffer* pRpcChannelBuffer, 617 PRPC_MESSAGE pRpcMessage, 618 DWORD* pdwStubPhase); 619 HRESULT STDMETHODCALLTYPE IWMStreamList_RemoveStream_Proxy( 620 IWMStreamList* This, 621 WORD wStreamNum); 622 void __RPC_STUB IWMStreamList_RemoveStream_Stub( 623 IRpcStubBuffer* This, 624 IRpcChannelBuffer* pRpcChannelBuffer, 625 PRPC_MESSAGE pRpcMessage, 626 DWORD* pdwStubPhase); 627 628 #endif /* __IWMStreamList_INTERFACE_DEFINED__ */ 629 630 /***************************************************************************** 631 * IWMMutualExclusion interface 632 */ 633 #ifndef __IWMMutualExclusion_INTERFACE_DEFINED__ 634 #define __IWMMutualExclusion_INTERFACE_DEFINED__ 635 636 DEFINE_GUID(IID_IWMMutualExclusion, 0x96406bde, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 637 #if defined(__cplusplus) && !defined(CINTERFACE) 638 MIDL_INTERFACE("96406bde-2b2b-11d3-b36b-00c04f6108ff") 639 IWMMutualExclusion : public IWMStreamList 640 { 641 virtual HRESULT STDMETHODCALLTYPE GetType( 642 GUID *pguidType) = 0; 643 644 virtual HRESULT STDMETHODCALLTYPE SetType( 645 REFGUID guidType) = 0; 646 647 }; 648 #ifdef __CRT_UUID_DECL 649 __CRT_UUID_DECL(IWMMutualExclusion, 0x96406bde, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 650 #endif 651 #else 652 typedef struct IWMMutualExclusionVtbl { 653 BEGIN_INTERFACE 654 655 /*** IUnknown methods ***/ 656 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 657 IWMMutualExclusion* This, 658 REFIID riid, 659 void **ppvObject); 660 661 ULONG (STDMETHODCALLTYPE *AddRef)( 662 IWMMutualExclusion* This); 663 664 ULONG (STDMETHODCALLTYPE *Release)( 665 IWMMutualExclusion* This); 666 667 /*** IWMStreamList methods ***/ 668 HRESULT (STDMETHODCALLTYPE *GetStreams)( 669 IWMMutualExclusion* This, 670 WORD *pwStreamNumArray, 671 WORD *pcStreams); 672 673 HRESULT (STDMETHODCALLTYPE *AddStream)( 674 IWMMutualExclusion* This, 675 WORD wStreamNum); 676 677 HRESULT (STDMETHODCALLTYPE *RemoveStream)( 678 IWMMutualExclusion* This, 679 WORD wStreamNum); 680 681 /*** IWMMutualExclusion methods ***/ 682 HRESULT (STDMETHODCALLTYPE *GetType)( 683 IWMMutualExclusion* This, 684 GUID *pguidType); 685 686 HRESULT (STDMETHODCALLTYPE *SetType)( 687 IWMMutualExclusion* This, 688 REFGUID guidType); 689 690 END_INTERFACE 691 } IWMMutualExclusionVtbl; 692 interface IWMMutualExclusion { 693 CONST_VTBL IWMMutualExclusionVtbl* lpVtbl; 694 }; 695 696 #ifdef COBJMACROS 697 #ifndef WIDL_C_INLINE_WRAPPERS 698 /*** IUnknown methods ***/ 699 #define IWMMutualExclusion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 700 #define IWMMutualExclusion_AddRef(This) (This)->lpVtbl->AddRef(This) 701 #define IWMMutualExclusion_Release(This) (This)->lpVtbl->Release(This) 702 /*** IWMStreamList methods ***/ 703 #define IWMMutualExclusion_GetStreams(This,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams) 704 #define IWMMutualExclusion_AddStream(This,wStreamNum) (This)->lpVtbl->AddStream(This,wStreamNum) 705 #define IWMMutualExclusion_RemoveStream(This,wStreamNum) (This)->lpVtbl->RemoveStream(This,wStreamNum) 706 /*** IWMMutualExclusion methods ***/ 707 #define IWMMutualExclusion_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType) 708 #define IWMMutualExclusion_SetType(This,guidType) (This)->lpVtbl->SetType(This,guidType) 709 #else 710 /*** IUnknown methods ***/ 711 static FORCEINLINE HRESULT IWMMutualExclusion_QueryInterface(IWMMutualExclusion* This,REFIID riid,void **ppvObject) { 712 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 713 } 714 static FORCEINLINE ULONG IWMMutualExclusion_AddRef(IWMMutualExclusion* This) { 715 return This->lpVtbl->AddRef(This); 716 } 717 static FORCEINLINE ULONG IWMMutualExclusion_Release(IWMMutualExclusion* This) { 718 return This->lpVtbl->Release(This); 719 } 720 /*** IWMStreamList methods ***/ 721 static FORCEINLINE HRESULT IWMMutualExclusion_GetStreams(IWMMutualExclusion* This,WORD *pwStreamNumArray,WORD *pcStreams) { 722 return This->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams); 723 } 724 static FORCEINLINE HRESULT IWMMutualExclusion_AddStream(IWMMutualExclusion* This,WORD wStreamNum) { 725 return This->lpVtbl->AddStream(This,wStreamNum); 726 } 727 static FORCEINLINE HRESULT IWMMutualExclusion_RemoveStream(IWMMutualExclusion* This,WORD wStreamNum) { 728 return This->lpVtbl->RemoveStream(This,wStreamNum); 729 } 730 /*** IWMMutualExclusion methods ***/ 731 static FORCEINLINE HRESULT IWMMutualExclusion_GetType(IWMMutualExclusion* This,GUID *pguidType) { 732 return This->lpVtbl->GetType(This,pguidType); 733 } 734 static FORCEINLINE HRESULT IWMMutualExclusion_SetType(IWMMutualExclusion* This,REFGUID guidType) { 735 return This->lpVtbl->SetType(This,guidType); 736 } 737 #endif 738 #endif 739 740 #endif 741 742 HRESULT STDMETHODCALLTYPE IWMMutualExclusion_GetType_Proxy( 743 IWMMutualExclusion* This, 744 GUID *pguidType); 745 void __RPC_STUB IWMMutualExclusion_GetType_Stub( 746 IRpcStubBuffer* This, 747 IRpcChannelBuffer* pRpcChannelBuffer, 748 PRPC_MESSAGE pRpcMessage, 749 DWORD* pdwStubPhase); 750 HRESULT STDMETHODCALLTYPE IWMMutualExclusion_SetType_Proxy( 751 IWMMutualExclusion* This, 752 REFGUID guidType); 753 void __RPC_STUB IWMMutualExclusion_SetType_Stub( 754 IRpcStubBuffer* This, 755 IRpcChannelBuffer* pRpcChannelBuffer, 756 PRPC_MESSAGE pRpcMessage, 757 DWORD* pdwStubPhase); 758 759 #endif /* __IWMMutualExclusion_INTERFACE_DEFINED__ */ 760 761 /***************************************************************************** 762 * IWMStreamConfig interface 763 */ 764 #ifndef __IWMStreamConfig_INTERFACE_DEFINED__ 765 #define __IWMStreamConfig_INTERFACE_DEFINED__ 766 767 DEFINE_GUID(IID_IWMStreamConfig, 0x96406bdc, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 768 #if defined(__cplusplus) && !defined(CINTERFACE) 769 MIDL_INTERFACE("96406bdc-2b2b-11d3-b36b-00c04f6108ff") 770 IWMStreamConfig : public IUnknown 771 { 772 virtual HRESULT STDMETHODCALLTYPE GetStreamType( 773 GUID *pguidStreamType) = 0; 774 775 virtual HRESULT STDMETHODCALLTYPE GetStreamNumber( 776 WORD *pwStreamNum) = 0; 777 778 virtual HRESULT STDMETHODCALLTYPE SetStreamNumber( 779 WORD wStreamNum) = 0; 780 781 virtual HRESULT STDMETHODCALLTYPE GetStreamName( 782 WCHAR *pwszStreamName, 783 WORD *pcchStreamName) = 0; 784 785 virtual HRESULT STDMETHODCALLTYPE SetStreamName( 786 LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName) = 0; 787 788 virtual HRESULT STDMETHODCALLTYPE GetConnectionName( 789 WCHAR *pwszInputName, 790 WORD *pcchInputName) = 0; 791 792 virtual HRESULT STDMETHODCALLTYPE SetConnectionName( 793 LPCWSTR_WMSDK_TYPE_SAFE pwszInputName) = 0; 794 795 virtual HRESULT STDMETHODCALLTYPE GetBitrate( 796 DWORD *pdwBitrate) = 0; 797 798 virtual HRESULT STDMETHODCALLTYPE SetBitrate( 799 DWORD pdwBitrate) = 0; 800 801 virtual HRESULT STDMETHODCALLTYPE GetBufferWindow( 802 DWORD *pmsBufferWindow) = 0; 803 804 virtual HRESULT STDMETHODCALLTYPE SetBufferWindow( 805 DWORD msBufferWindow) = 0; 806 807 }; 808 #ifdef __CRT_UUID_DECL 809 __CRT_UUID_DECL(IWMStreamConfig, 0x96406bdc, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 810 #endif 811 #else 812 typedef struct IWMStreamConfigVtbl { 813 BEGIN_INTERFACE 814 815 /*** IUnknown methods ***/ 816 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 817 IWMStreamConfig* This, 818 REFIID riid, 819 void **ppvObject); 820 821 ULONG (STDMETHODCALLTYPE *AddRef)( 822 IWMStreamConfig* This); 823 824 ULONG (STDMETHODCALLTYPE *Release)( 825 IWMStreamConfig* This); 826 827 /*** IWMStreamConfig methods ***/ 828 HRESULT (STDMETHODCALLTYPE *GetStreamType)( 829 IWMStreamConfig* This, 830 GUID *pguidStreamType); 831 832 HRESULT (STDMETHODCALLTYPE *GetStreamNumber)( 833 IWMStreamConfig* This, 834 WORD *pwStreamNum); 835 836 HRESULT (STDMETHODCALLTYPE *SetStreamNumber)( 837 IWMStreamConfig* This, 838 WORD wStreamNum); 839 840 HRESULT (STDMETHODCALLTYPE *GetStreamName)( 841 IWMStreamConfig* This, 842 WCHAR *pwszStreamName, 843 WORD *pcchStreamName); 844 845 HRESULT (STDMETHODCALLTYPE *SetStreamName)( 846 IWMStreamConfig* This, 847 LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName); 848 849 HRESULT (STDMETHODCALLTYPE *GetConnectionName)( 850 IWMStreamConfig* This, 851 WCHAR *pwszInputName, 852 WORD *pcchInputName); 853 854 HRESULT (STDMETHODCALLTYPE *SetConnectionName)( 855 IWMStreamConfig* This, 856 LPCWSTR_WMSDK_TYPE_SAFE pwszInputName); 857 858 HRESULT (STDMETHODCALLTYPE *GetBitrate)( 859 IWMStreamConfig* This, 860 DWORD *pdwBitrate); 861 862 HRESULT (STDMETHODCALLTYPE *SetBitrate)( 863 IWMStreamConfig* This, 864 DWORD pdwBitrate); 865 866 HRESULT (STDMETHODCALLTYPE *GetBufferWindow)( 867 IWMStreamConfig* This, 868 DWORD *pmsBufferWindow); 869 870 HRESULT (STDMETHODCALLTYPE *SetBufferWindow)( 871 IWMStreamConfig* This, 872 DWORD msBufferWindow); 873 874 END_INTERFACE 875 } IWMStreamConfigVtbl; 876 interface IWMStreamConfig { 877 CONST_VTBL IWMStreamConfigVtbl* lpVtbl; 878 }; 879 880 #ifdef COBJMACROS 881 #ifndef WIDL_C_INLINE_WRAPPERS 882 /*** IUnknown methods ***/ 883 #define IWMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 884 #define IWMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 885 #define IWMStreamConfig_Release(This) (This)->lpVtbl->Release(This) 886 /*** IWMStreamConfig methods ***/ 887 #define IWMStreamConfig_GetStreamType(This,pguidStreamType) (This)->lpVtbl->GetStreamType(This,pguidStreamType) 888 #define IWMStreamConfig_GetStreamNumber(This,pwStreamNum) (This)->lpVtbl->GetStreamNumber(This,pwStreamNum) 889 #define IWMStreamConfig_SetStreamNumber(This,wStreamNum) (This)->lpVtbl->SetStreamNumber(This,wStreamNum) 890 #define IWMStreamConfig_GetStreamName(This,pwszStreamName,pcchStreamName) (This)->lpVtbl->GetStreamName(This,pwszStreamName,pcchStreamName) 891 #define IWMStreamConfig_SetStreamName(This,pwszStreamName) (This)->lpVtbl->SetStreamName(This,pwszStreamName) 892 #define IWMStreamConfig_GetConnectionName(This,pwszInputName,pcchInputName) (This)->lpVtbl->GetConnectionName(This,pwszInputName,pcchInputName) 893 #define IWMStreamConfig_SetConnectionName(This,pwszInputName) (This)->lpVtbl->SetConnectionName(This,pwszInputName) 894 #define IWMStreamConfig_GetBitrate(This,pdwBitrate) (This)->lpVtbl->GetBitrate(This,pdwBitrate) 895 #define IWMStreamConfig_SetBitrate(This,pdwBitrate) (This)->lpVtbl->SetBitrate(This,pdwBitrate) 896 #define IWMStreamConfig_GetBufferWindow(This,pmsBufferWindow) (This)->lpVtbl->GetBufferWindow(This,pmsBufferWindow) 897 #define IWMStreamConfig_SetBufferWindow(This,msBufferWindow) (This)->lpVtbl->SetBufferWindow(This,msBufferWindow) 898 #else 899 /*** IUnknown methods ***/ 900 static FORCEINLINE HRESULT IWMStreamConfig_QueryInterface(IWMStreamConfig* This,REFIID riid,void **ppvObject) { 901 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 902 } 903 static FORCEINLINE ULONG IWMStreamConfig_AddRef(IWMStreamConfig* This) { 904 return This->lpVtbl->AddRef(This); 905 } 906 static FORCEINLINE ULONG IWMStreamConfig_Release(IWMStreamConfig* This) { 907 return This->lpVtbl->Release(This); 908 } 909 /*** IWMStreamConfig methods ***/ 910 static FORCEINLINE HRESULT IWMStreamConfig_GetStreamType(IWMStreamConfig* This,GUID *pguidStreamType) { 911 return This->lpVtbl->GetStreamType(This,pguidStreamType); 912 } 913 static FORCEINLINE HRESULT IWMStreamConfig_GetStreamNumber(IWMStreamConfig* This,WORD *pwStreamNum) { 914 return This->lpVtbl->GetStreamNumber(This,pwStreamNum); 915 } 916 static FORCEINLINE HRESULT IWMStreamConfig_SetStreamNumber(IWMStreamConfig* This,WORD wStreamNum) { 917 return This->lpVtbl->SetStreamNumber(This,wStreamNum); 918 } 919 static FORCEINLINE HRESULT IWMStreamConfig_GetStreamName(IWMStreamConfig* This,WCHAR *pwszStreamName,WORD *pcchStreamName) { 920 return This->lpVtbl->GetStreamName(This,pwszStreamName,pcchStreamName); 921 } 922 static FORCEINLINE HRESULT IWMStreamConfig_SetStreamName(IWMStreamConfig* This,LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName) { 923 return This->lpVtbl->SetStreamName(This,pwszStreamName); 924 } 925 static FORCEINLINE HRESULT IWMStreamConfig_GetConnectionName(IWMStreamConfig* This,WCHAR *pwszInputName,WORD *pcchInputName) { 926 return This->lpVtbl->GetConnectionName(This,pwszInputName,pcchInputName); 927 } 928 static FORCEINLINE HRESULT IWMStreamConfig_SetConnectionName(IWMStreamConfig* This,LPCWSTR_WMSDK_TYPE_SAFE pwszInputName) { 929 return This->lpVtbl->SetConnectionName(This,pwszInputName); 930 } 931 static FORCEINLINE HRESULT IWMStreamConfig_GetBitrate(IWMStreamConfig* This,DWORD *pdwBitrate) { 932 return This->lpVtbl->GetBitrate(This,pdwBitrate); 933 } 934 static FORCEINLINE HRESULT IWMStreamConfig_SetBitrate(IWMStreamConfig* This,DWORD pdwBitrate) { 935 return This->lpVtbl->SetBitrate(This,pdwBitrate); 936 } 937 static FORCEINLINE HRESULT IWMStreamConfig_GetBufferWindow(IWMStreamConfig* This,DWORD *pmsBufferWindow) { 938 return This->lpVtbl->GetBufferWindow(This,pmsBufferWindow); 939 } 940 static FORCEINLINE HRESULT IWMStreamConfig_SetBufferWindow(IWMStreamConfig* This,DWORD msBufferWindow) { 941 return This->lpVtbl->SetBufferWindow(This,msBufferWindow); 942 } 943 #endif 944 #endif 945 946 #endif 947 948 HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamType_Proxy( 949 IWMStreamConfig* This, 950 GUID *pguidStreamType); 951 void __RPC_STUB IWMStreamConfig_GetStreamType_Stub( 952 IRpcStubBuffer* This, 953 IRpcChannelBuffer* pRpcChannelBuffer, 954 PRPC_MESSAGE pRpcMessage, 955 DWORD* pdwStubPhase); 956 HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamNumber_Proxy( 957 IWMStreamConfig* This, 958 WORD *pwStreamNum); 959 void __RPC_STUB IWMStreamConfig_GetStreamNumber_Stub( 960 IRpcStubBuffer* This, 961 IRpcChannelBuffer* pRpcChannelBuffer, 962 PRPC_MESSAGE pRpcMessage, 963 DWORD* pdwStubPhase); 964 HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetStreamNumber_Proxy( 965 IWMStreamConfig* This, 966 WORD wStreamNum); 967 void __RPC_STUB IWMStreamConfig_SetStreamNumber_Stub( 968 IRpcStubBuffer* This, 969 IRpcChannelBuffer* pRpcChannelBuffer, 970 PRPC_MESSAGE pRpcMessage, 971 DWORD* pdwStubPhase); 972 HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamName_Proxy( 973 IWMStreamConfig* This, 974 WCHAR *pwszStreamName, 975 WORD *pcchStreamName); 976 void __RPC_STUB IWMStreamConfig_GetStreamName_Stub( 977 IRpcStubBuffer* This, 978 IRpcChannelBuffer* pRpcChannelBuffer, 979 PRPC_MESSAGE pRpcMessage, 980 DWORD* pdwStubPhase); 981 HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetStreamName_Proxy( 982 IWMStreamConfig* This, 983 LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName); 984 void __RPC_STUB IWMStreamConfig_SetStreamName_Stub( 985 IRpcStubBuffer* This, 986 IRpcChannelBuffer* pRpcChannelBuffer, 987 PRPC_MESSAGE pRpcMessage, 988 DWORD* pdwStubPhase); 989 HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetConnectionName_Proxy( 990 IWMStreamConfig* This, 991 WCHAR *pwszInputName, 992 WORD *pcchInputName); 993 void __RPC_STUB IWMStreamConfig_GetConnectionName_Stub( 994 IRpcStubBuffer* This, 995 IRpcChannelBuffer* pRpcChannelBuffer, 996 PRPC_MESSAGE pRpcMessage, 997 DWORD* pdwStubPhase); 998 HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetConnectionName_Proxy( 999 IWMStreamConfig* This, 1000 LPCWSTR_WMSDK_TYPE_SAFE pwszInputName); 1001 void __RPC_STUB IWMStreamConfig_SetConnectionName_Stub( 1002 IRpcStubBuffer* This, 1003 IRpcChannelBuffer* pRpcChannelBuffer, 1004 PRPC_MESSAGE pRpcMessage, 1005 DWORD* pdwStubPhase); 1006 HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetBitrate_Proxy( 1007 IWMStreamConfig* This, 1008 DWORD *pdwBitrate); 1009 void __RPC_STUB IWMStreamConfig_GetBitrate_Stub( 1010 IRpcStubBuffer* This, 1011 IRpcChannelBuffer* pRpcChannelBuffer, 1012 PRPC_MESSAGE pRpcMessage, 1013 DWORD* pdwStubPhase); 1014 HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetBitrate_Proxy( 1015 IWMStreamConfig* This, 1016 DWORD pdwBitrate); 1017 void __RPC_STUB IWMStreamConfig_SetBitrate_Stub( 1018 IRpcStubBuffer* This, 1019 IRpcChannelBuffer* pRpcChannelBuffer, 1020 PRPC_MESSAGE pRpcMessage, 1021 DWORD* pdwStubPhase); 1022 HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetBufferWindow_Proxy( 1023 IWMStreamConfig* This, 1024 DWORD *pmsBufferWindow); 1025 void __RPC_STUB IWMStreamConfig_GetBufferWindow_Stub( 1026 IRpcStubBuffer* This, 1027 IRpcChannelBuffer* pRpcChannelBuffer, 1028 PRPC_MESSAGE pRpcMessage, 1029 DWORD* pdwStubPhase); 1030 HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetBufferWindow_Proxy( 1031 IWMStreamConfig* This, 1032 DWORD msBufferWindow); 1033 void __RPC_STUB IWMStreamConfig_SetBufferWindow_Stub( 1034 IRpcStubBuffer* This, 1035 IRpcChannelBuffer* pRpcChannelBuffer, 1036 PRPC_MESSAGE pRpcMessage, 1037 DWORD* pdwStubPhase); 1038 1039 #endif /* __IWMStreamConfig_INTERFACE_DEFINED__ */ 1040 1041 /***************************************************************************** 1042 * IWMProfile interface 1043 */ 1044 #ifndef __IWMProfile_INTERFACE_DEFINED__ 1045 #define __IWMProfile_INTERFACE_DEFINED__ 1046 1047 DEFINE_GUID(IID_IWMProfile, 0x96406bdb, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 1048 #if defined(__cplusplus) && !defined(CINTERFACE) 1049 MIDL_INTERFACE("96406bdb-2b2b-11d3-b36b-00c04f6108ff") 1050 IWMProfile : public IUnknown 1051 { 1052 virtual HRESULT STDMETHODCALLTYPE GetVersion( 1053 WMT_VERSION *pdwVersion) = 0; 1054 1055 virtual HRESULT STDMETHODCALLTYPE GetName( 1056 WCHAR *pwszName, 1057 DWORD *pcchName) = 0; 1058 1059 virtual HRESULT STDMETHODCALLTYPE SetName( 1060 const WCHAR *pwszName) = 0; 1061 1062 virtual HRESULT STDMETHODCALLTYPE GetDescription( 1063 WCHAR *pwszDescription, 1064 DWORD *pcchDescription) = 0; 1065 1066 virtual HRESULT STDMETHODCALLTYPE SetDescription( 1067 const WCHAR *pwszDescription) = 0; 1068 1069 virtual HRESULT STDMETHODCALLTYPE GetStreamCount( 1070 DWORD *pcStreams) = 0; 1071 1072 virtual HRESULT STDMETHODCALLTYPE GetStream( 1073 DWORD dwStreamIndex, 1074 IWMStreamConfig **ppConfig) = 0; 1075 1076 virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber( 1077 WORD wStreamNum, 1078 IWMStreamConfig **ppConfig) = 0; 1079 1080 virtual HRESULT STDMETHODCALLTYPE RemoveStream( 1081 IWMStreamConfig *pConfig) = 0; 1082 1083 virtual HRESULT STDMETHODCALLTYPE RemoveStreamByNumber( 1084 WORD wStreamNum) = 0; 1085 1086 virtual HRESULT STDMETHODCALLTYPE AddStream( 1087 IWMStreamConfig *pConfig) = 0; 1088 1089 virtual HRESULT STDMETHODCALLTYPE ReconfigStream( 1090 IWMStreamConfig *pConfig) = 0; 1091 1092 virtual HRESULT STDMETHODCALLTYPE CreateNewStream( 1093 REFGUID guidStreamType, 1094 IWMStreamConfig **ppConfig) = 0; 1095 1096 virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount( 1097 DWORD *pcME) = 0; 1098 1099 virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion( 1100 DWORD dwMEIndex, 1101 IWMMutualExclusion **ppME) = 0; 1102 1103 virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion( 1104 IWMMutualExclusion *pME) = 0; 1105 1106 virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion( 1107 IWMMutualExclusion *pME) = 0; 1108 1109 virtual HRESULT STDMETHODCALLTYPE CreateNewMutualExclusion( 1110 IWMMutualExclusion **ppME) = 0; 1111 1112 }; 1113 #ifdef __CRT_UUID_DECL 1114 __CRT_UUID_DECL(IWMProfile, 0x96406bdb, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 1115 #endif 1116 #else 1117 typedef struct IWMProfileVtbl { 1118 BEGIN_INTERFACE 1119 1120 /*** IUnknown methods ***/ 1121 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1122 IWMProfile* This, 1123 REFIID riid, 1124 void **ppvObject); 1125 1126 ULONG (STDMETHODCALLTYPE *AddRef)( 1127 IWMProfile* This); 1128 1129 ULONG (STDMETHODCALLTYPE *Release)( 1130 IWMProfile* This); 1131 1132 /*** IWMProfile methods ***/ 1133 HRESULT (STDMETHODCALLTYPE *GetVersion)( 1134 IWMProfile* This, 1135 WMT_VERSION *pdwVersion); 1136 1137 HRESULT (STDMETHODCALLTYPE *GetName)( 1138 IWMProfile* This, 1139 WCHAR *pwszName, 1140 DWORD *pcchName); 1141 1142 HRESULT (STDMETHODCALLTYPE *SetName)( 1143 IWMProfile* This, 1144 const WCHAR *pwszName); 1145 1146 HRESULT (STDMETHODCALLTYPE *GetDescription)( 1147 IWMProfile* This, 1148 WCHAR *pwszDescription, 1149 DWORD *pcchDescription); 1150 1151 HRESULT (STDMETHODCALLTYPE *SetDescription)( 1152 IWMProfile* This, 1153 const WCHAR *pwszDescription); 1154 1155 HRESULT (STDMETHODCALLTYPE *GetStreamCount)( 1156 IWMProfile* This, 1157 DWORD *pcStreams); 1158 1159 HRESULT (STDMETHODCALLTYPE *GetStream)( 1160 IWMProfile* This, 1161 DWORD dwStreamIndex, 1162 IWMStreamConfig **ppConfig); 1163 1164 HRESULT (STDMETHODCALLTYPE *GetStreamByNumber)( 1165 IWMProfile* This, 1166 WORD wStreamNum, 1167 IWMStreamConfig **ppConfig); 1168 1169 HRESULT (STDMETHODCALLTYPE *RemoveStream)( 1170 IWMProfile* This, 1171 IWMStreamConfig *pConfig); 1172 1173 HRESULT (STDMETHODCALLTYPE *RemoveStreamByNumber)( 1174 IWMProfile* This, 1175 WORD wStreamNum); 1176 1177 HRESULT (STDMETHODCALLTYPE *AddStream)( 1178 IWMProfile* This, 1179 IWMStreamConfig *pConfig); 1180 1181 HRESULT (STDMETHODCALLTYPE *ReconfigStream)( 1182 IWMProfile* This, 1183 IWMStreamConfig *pConfig); 1184 1185 HRESULT (STDMETHODCALLTYPE *CreateNewStream)( 1186 IWMProfile* This, 1187 REFGUID guidStreamType, 1188 IWMStreamConfig **ppConfig); 1189 1190 HRESULT (STDMETHODCALLTYPE *GetMutualExclusionCount)( 1191 IWMProfile* This, 1192 DWORD *pcME); 1193 1194 HRESULT (STDMETHODCALLTYPE *GetMutualExclusion)( 1195 IWMProfile* This, 1196 DWORD dwMEIndex, 1197 IWMMutualExclusion **ppME); 1198 1199 HRESULT (STDMETHODCALLTYPE *RemoveMutualExclusion)( 1200 IWMProfile* This, 1201 IWMMutualExclusion *pME); 1202 1203 HRESULT (STDMETHODCALLTYPE *AddMutualExclusion)( 1204 IWMProfile* This, 1205 IWMMutualExclusion *pME); 1206 1207 HRESULT (STDMETHODCALLTYPE *CreateNewMutualExclusion)( 1208 IWMProfile* This, 1209 IWMMutualExclusion **ppME); 1210 1211 END_INTERFACE 1212 } IWMProfileVtbl; 1213 interface IWMProfile { 1214 CONST_VTBL IWMProfileVtbl* lpVtbl; 1215 }; 1216 1217 #ifdef COBJMACROS 1218 #ifndef WIDL_C_INLINE_WRAPPERS 1219 /*** IUnknown methods ***/ 1220 #define IWMProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1221 #define IWMProfile_AddRef(This) (This)->lpVtbl->AddRef(This) 1222 #define IWMProfile_Release(This) (This)->lpVtbl->Release(This) 1223 /*** IWMProfile methods ***/ 1224 #define IWMProfile_GetVersion(This,pdwVersion) (This)->lpVtbl->GetVersion(This,pdwVersion) 1225 #define IWMProfile_GetName(This,pwszName,pcchName) (This)->lpVtbl->GetName(This,pwszName,pcchName) 1226 #define IWMProfile_SetName(This,pwszName) (This)->lpVtbl->SetName(This,pwszName) 1227 #define IWMProfile_GetDescription(This,pwszDescription,pcchDescription) (This)->lpVtbl->GetDescription(This,pwszDescription,pcchDescription) 1228 #define IWMProfile_SetDescription(This,pwszDescription) (This)->lpVtbl->SetDescription(This,pwszDescription) 1229 #define IWMProfile_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams) 1230 #define IWMProfile_GetStream(This,dwStreamIndex,ppConfig) (This)->lpVtbl->GetStream(This,dwStreamIndex,ppConfig) 1231 #define IWMProfile_GetStreamByNumber(This,wStreamNum,ppConfig) (This)->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig) 1232 #define IWMProfile_RemoveStream(This,pConfig) (This)->lpVtbl->RemoveStream(This,pConfig) 1233 #define IWMProfile_RemoveStreamByNumber(This,wStreamNum) (This)->lpVtbl->RemoveStreamByNumber(This,wStreamNum) 1234 #define IWMProfile_AddStream(This,pConfig) (This)->lpVtbl->AddStream(This,pConfig) 1235 #define IWMProfile_ReconfigStream(This,pConfig) (This)->lpVtbl->ReconfigStream(This,pConfig) 1236 #define IWMProfile_CreateNewStream(This,guidStreamType,ppConfig) (This)->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig) 1237 #define IWMProfile_GetMutualExclusionCount(This,pcME) (This)->lpVtbl->GetMutualExclusionCount(This,pcME) 1238 #define IWMProfile_GetMutualExclusion(This,dwMEIndex,ppME) (This)->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME) 1239 #define IWMProfile_RemoveMutualExclusion(This,pME) (This)->lpVtbl->RemoveMutualExclusion(This,pME) 1240 #define IWMProfile_AddMutualExclusion(This,pME) (This)->lpVtbl->AddMutualExclusion(This,pME) 1241 #define IWMProfile_CreateNewMutualExclusion(This,ppME) (This)->lpVtbl->CreateNewMutualExclusion(This,ppME) 1242 #else 1243 /*** IUnknown methods ***/ 1244 static FORCEINLINE HRESULT IWMProfile_QueryInterface(IWMProfile* This,REFIID riid,void **ppvObject) { 1245 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1246 } 1247 static FORCEINLINE ULONG IWMProfile_AddRef(IWMProfile* This) { 1248 return This->lpVtbl->AddRef(This); 1249 } 1250 static FORCEINLINE ULONG IWMProfile_Release(IWMProfile* This) { 1251 return This->lpVtbl->Release(This); 1252 } 1253 /*** IWMProfile methods ***/ 1254 static FORCEINLINE HRESULT IWMProfile_GetVersion(IWMProfile* This,WMT_VERSION *pdwVersion) { 1255 return This->lpVtbl->GetVersion(This,pdwVersion); 1256 } 1257 static FORCEINLINE HRESULT IWMProfile_GetName(IWMProfile* This,WCHAR *pwszName,DWORD *pcchName) { 1258 return This->lpVtbl->GetName(This,pwszName,pcchName); 1259 } 1260 static FORCEINLINE HRESULT IWMProfile_SetName(IWMProfile* This,const WCHAR *pwszName) { 1261 return This->lpVtbl->SetName(This,pwszName); 1262 } 1263 static FORCEINLINE HRESULT IWMProfile_GetDescription(IWMProfile* This,WCHAR *pwszDescription,DWORD *pcchDescription) { 1264 return This->lpVtbl->GetDescription(This,pwszDescription,pcchDescription); 1265 } 1266 static FORCEINLINE HRESULT IWMProfile_SetDescription(IWMProfile* This,const WCHAR *pwszDescription) { 1267 return This->lpVtbl->SetDescription(This,pwszDescription); 1268 } 1269 static FORCEINLINE HRESULT IWMProfile_GetStreamCount(IWMProfile* This,DWORD *pcStreams) { 1270 return This->lpVtbl->GetStreamCount(This,pcStreams); 1271 } 1272 static FORCEINLINE HRESULT IWMProfile_GetStream(IWMProfile* This,DWORD dwStreamIndex,IWMStreamConfig **ppConfig) { 1273 return This->lpVtbl->GetStream(This,dwStreamIndex,ppConfig); 1274 } 1275 static FORCEINLINE HRESULT IWMProfile_GetStreamByNumber(IWMProfile* This,WORD wStreamNum,IWMStreamConfig **ppConfig) { 1276 return This->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig); 1277 } 1278 static FORCEINLINE HRESULT IWMProfile_RemoveStream(IWMProfile* This,IWMStreamConfig *pConfig) { 1279 return This->lpVtbl->RemoveStream(This,pConfig); 1280 } 1281 static FORCEINLINE HRESULT IWMProfile_RemoveStreamByNumber(IWMProfile* This,WORD wStreamNum) { 1282 return This->lpVtbl->RemoveStreamByNumber(This,wStreamNum); 1283 } 1284 static FORCEINLINE HRESULT IWMProfile_AddStream(IWMProfile* This,IWMStreamConfig *pConfig) { 1285 return This->lpVtbl->AddStream(This,pConfig); 1286 } 1287 static FORCEINLINE HRESULT IWMProfile_ReconfigStream(IWMProfile* This,IWMStreamConfig *pConfig) { 1288 return This->lpVtbl->ReconfigStream(This,pConfig); 1289 } 1290 static FORCEINLINE HRESULT IWMProfile_CreateNewStream(IWMProfile* This,REFGUID guidStreamType,IWMStreamConfig **ppConfig) { 1291 return This->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig); 1292 } 1293 static FORCEINLINE HRESULT IWMProfile_GetMutualExclusionCount(IWMProfile* This,DWORD *pcME) { 1294 return This->lpVtbl->GetMutualExclusionCount(This,pcME); 1295 } 1296 static FORCEINLINE HRESULT IWMProfile_GetMutualExclusion(IWMProfile* This,DWORD dwMEIndex,IWMMutualExclusion **ppME) { 1297 return This->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME); 1298 } 1299 static FORCEINLINE HRESULT IWMProfile_RemoveMutualExclusion(IWMProfile* This,IWMMutualExclusion *pME) { 1300 return This->lpVtbl->RemoveMutualExclusion(This,pME); 1301 } 1302 static FORCEINLINE HRESULT IWMProfile_AddMutualExclusion(IWMProfile* This,IWMMutualExclusion *pME) { 1303 return This->lpVtbl->AddMutualExclusion(This,pME); 1304 } 1305 static FORCEINLINE HRESULT IWMProfile_CreateNewMutualExclusion(IWMProfile* This,IWMMutualExclusion **ppME) { 1306 return This->lpVtbl->CreateNewMutualExclusion(This,ppME); 1307 } 1308 #endif 1309 #endif 1310 1311 #endif 1312 1313 HRESULT STDMETHODCALLTYPE IWMProfile_GetVersion_Proxy( 1314 IWMProfile* This, 1315 WMT_VERSION *pdwVersion); 1316 void __RPC_STUB IWMProfile_GetVersion_Stub( 1317 IRpcStubBuffer* This, 1318 IRpcChannelBuffer* pRpcChannelBuffer, 1319 PRPC_MESSAGE pRpcMessage, 1320 DWORD* pdwStubPhase); 1321 HRESULT STDMETHODCALLTYPE IWMProfile_GetName_Proxy( 1322 IWMProfile* This, 1323 WCHAR *pwszName, 1324 DWORD *pcchName); 1325 void __RPC_STUB IWMProfile_GetName_Stub( 1326 IRpcStubBuffer* This, 1327 IRpcChannelBuffer* pRpcChannelBuffer, 1328 PRPC_MESSAGE pRpcMessage, 1329 DWORD* pdwStubPhase); 1330 HRESULT STDMETHODCALLTYPE IWMProfile_SetName_Proxy( 1331 IWMProfile* This, 1332 const WCHAR *pwszName); 1333 void __RPC_STUB IWMProfile_SetName_Stub( 1334 IRpcStubBuffer* This, 1335 IRpcChannelBuffer* pRpcChannelBuffer, 1336 PRPC_MESSAGE pRpcMessage, 1337 DWORD* pdwStubPhase); 1338 HRESULT STDMETHODCALLTYPE IWMProfile_GetDescription_Proxy( 1339 IWMProfile* This, 1340 WCHAR *pwszDescription, 1341 DWORD *pcchDescription); 1342 void __RPC_STUB IWMProfile_GetDescription_Stub( 1343 IRpcStubBuffer* This, 1344 IRpcChannelBuffer* pRpcChannelBuffer, 1345 PRPC_MESSAGE pRpcMessage, 1346 DWORD* pdwStubPhase); 1347 HRESULT STDMETHODCALLTYPE IWMProfile_SetDescription_Proxy( 1348 IWMProfile* This, 1349 const WCHAR *pwszDescription); 1350 void __RPC_STUB IWMProfile_SetDescription_Stub( 1351 IRpcStubBuffer* This, 1352 IRpcChannelBuffer* pRpcChannelBuffer, 1353 PRPC_MESSAGE pRpcMessage, 1354 DWORD* pdwStubPhase); 1355 HRESULT STDMETHODCALLTYPE IWMProfile_GetStreamCount_Proxy( 1356 IWMProfile* This, 1357 DWORD *pcStreams); 1358 void __RPC_STUB IWMProfile_GetStreamCount_Stub( 1359 IRpcStubBuffer* This, 1360 IRpcChannelBuffer* pRpcChannelBuffer, 1361 PRPC_MESSAGE pRpcMessage, 1362 DWORD* pdwStubPhase); 1363 HRESULT STDMETHODCALLTYPE IWMProfile_GetStream_Proxy( 1364 IWMProfile* This, 1365 DWORD dwStreamIndex, 1366 IWMStreamConfig **ppConfig); 1367 void __RPC_STUB IWMProfile_GetStream_Stub( 1368 IRpcStubBuffer* This, 1369 IRpcChannelBuffer* pRpcChannelBuffer, 1370 PRPC_MESSAGE pRpcMessage, 1371 DWORD* pdwStubPhase); 1372 HRESULT STDMETHODCALLTYPE IWMProfile_GetStreamByNumber_Proxy( 1373 IWMProfile* This, 1374 WORD wStreamNum, 1375 IWMStreamConfig **ppConfig); 1376 void __RPC_STUB IWMProfile_GetStreamByNumber_Stub( 1377 IRpcStubBuffer* This, 1378 IRpcChannelBuffer* pRpcChannelBuffer, 1379 PRPC_MESSAGE pRpcMessage, 1380 DWORD* pdwStubPhase); 1381 HRESULT STDMETHODCALLTYPE IWMProfile_RemoveStream_Proxy( 1382 IWMProfile* This, 1383 IWMStreamConfig *pConfig); 1384 void __RPC_STUB IWMProfile_RemoveStream_Stub( 1385 IRpcStubBuffer* This, 1386 IRpcChannelBuffer* pRpcChannelBuffer, 1387 PRPC_MESSAGE pRpcMessage, 1388 DWORD* pdwStubPhase); 1389 HRESULT STDMETHODCALLTYPE IWMProfile_RemoveStreamByNumber_Proxy( 1390 IWMProfile* This, 1391 WORD wStreamNum); 1392 void __RPC_STUB IWMProfile_RemoveStreamByNumber_Stub( 1393 IRpcStubBuffer* This, 1394 IRpcChannelBuffer* pRpcChannelBuffer, 1395 PRPC_MESSAGE pRpcMessage, 1396 DWORD* pdwStubPhase); 1397 HRESULT STDMETHODCALLTYPE IWMProfile_AddStream_Proxy( 1398 IWMProfile* This, 1399 IWMStreamConfig *pConfig); 1400 void __RPC_STUB IWMProfile_AddStream_Stub( 1401 IRpcStubBuffer* This, 1402 IRpcChannelBuffer* pRpcChannelBuffer, 1403 PRPC_MESSAGE pRpcMessage, 1404 DWORD* pdwStubPhase); 1405 HRESULT STDMETHODCALLTYPE IWMProfile_ReconfigStream_Proxy( 1406 IWMProfile* This, 1407 IWMStreamConfig *pConfig); 1408 void __RPC_STUB IWMProfile_ReconfigStream_Stub( 1409 IRpcStubBuffer* This, 1410 IRpcChannelBuffer* pRpcChannelBuffer, 1411 PRPC_MESSAGE pRpcMessage, 1412 DWORD* pdwStubPhase); 1413 HRESULT STDMETHODCALLTYPE IWMProfile_CreateNewStream_Proxy( 1414 IWMProfile* This, 1415 REFGUID guidStreamType, 1416 IWMStreamConfig **ppConfig); 1417 void __RPC_STUB IWMProfile_CreateNewStream_Stub( 1418 IRpcStubBuffer* This, 1419 IRpcChannelBuffer* pRpcChannelBuffer, 1420 PRPC_MESSAGE pRpcMessage, 1421 DWORD* pdwStubPhase); 1422 HRESULT STDMETHODCALLTYPE IWMProfile_GetMutualExclusionCount_Proxy( 1423 IWMProfile* This, 1424 DWORD *pcME); 1425 void __RPC_STUB IWMProfile_GetMutualExclusionCount_Stub( 1426 IRpcStubBuffer* This, 1427 IRpcChannelBuffer* pRpcChannelBuffer, 1428 PRPC_MESSAGE pRpcMessage, 1429 DWORD* pdwStubPhase); 1430 HRESULT STDMETHODCALLTYPE IWMProfile_GetMutualExclusion_Proxy( 1431 IWMProfile* This, 1432 DWORD dwMEIndex, 1433 IWMMutualExclusion **ppME); 1434 void __RPC_STUB IWMProfile_GetMutualExclusion_Stub( 1435 IRpcStubBuffer* This, 1436 IRpcChannelBuffer* pRpcChannelBuffer, 1437 PRPC_MESSAGE pRpcMessage, 1438 DWORD* pdwStubPhase); 1439 HRESULT STDMETHODCALLTYPE IWMProfile_RemoveMutualExclusion_Proxy( 1440 IWMProfile* This, 1441 IWMMutualExclusion *pME); 1442 void __RPC_STUB IWMProfile_RemoveMutualExclusion_Stub( 1443 IRpcStubBuffer* This, 1444 IRpcChannelBuffer* pRpcChannelBuffer, 1445 PRPC_MESSAGE pRpcMessage, 1446 DWORD* pdwStubPhase); 1447 HRESULT STDMETHODCALLTYPE IWMProfile_AddMutualExclusion_Proxy( 1448 IWMProfile* This, 1449 IWMMutualExclusion *pME); 1450 void __RPC_STUB IWMProfile_AddMutualExclusion_Stub( 1451 IRpcStubBuffer* This, 1452 IRpcChannelBuffer* pRpcChannelBuffer, 1453 PRPC_MESSAGE pRpcMessage, 1454 DWORD* pdwStubPhase); 1455 HRESULT STDMETHODCALLTYPE IWMProfile_CreateNewMutualExclusion_Proxy( 1456 IWMProfile* This, 1457 IWMMutualExclusion **ppME); 1458 void __RPC_STUB IWMProfile_CreateNewMutualExclusion_Stub( 1459 IRpcStubBuffer* This, 1460 IRpcChannelBuffer* pRpcChannelBuffer, 1461 PRPC_MESSAGE pRpcMessage, 1462 DWORD* pdwStubPhase); 1463 1464 #endif /* __IWMProfile_INTERFACE_DEFINED__ */ 1465 1466 /***************************************************************************** 1467 * IWMProfileManager interface 1468 */ 1469 #ifndef __IWMProfileManager_INTERFACE_DEFINED__ 1470 #define __IWMProfileManager_INTERFACE_DEFINED__ 1471 1472 DEFINE_GUID(IID_IWMProfileManager, 0xd16679f2, 0x6ca0, 0x472d, 0x8d,0x31, 0x2f,0x5d,0x55,0xae,0xe1,0x55); 1473 #if defined(__cplusplus) && !defined(CINTERFACE) 1474 MIDL_INTERFACE("d16679f2-6ca0-472d-8d31-2f5d55aee155") 1475 IWMProfileManager : public IUnknown 1476 { 1477 virtual HRESULT STDMETHODCALLTYPE CreateEmptyProfile( 1478 WMT_VERSION dwVersion, 1479 IWMProfile **ppProfile) = 0; 1480 1481 virtual HRESULT STDMETHODCALLTYPE LoadProfileByID( 1482 REFGUID guidProfile, 1483 IWMProfile **ppProfile) = 0; 1484 1485 virtual HRESULT STDMETHODCALLTYPE LoadProfileByData( 1486 const WCHAR *pwszProfile, 1487 IWMProfile **ppProfile) = 0; 1488 1489 virtual HRESULT STDMETHODCALLTYPE SaveProfile( 1490 IWMProfile *pIWMProfile, 1491 WCHAR *pwszProfile, 1492 DWORD *pdwLength) = 0; 1493 1494 virtual HRESULT STDMETHODCALLTYPE GetSystemProfileCount( 1495 DWORD *pcProfiles) = 0; 1496 1497 virtual HRESULT STDMETHODCALLTYPE LoadSystemProfile( 1498 DWORD dwProfileIndex, 1499 IWMProfile **ppProfile) = 0; 1500 1501 }; 1502 #ifdef __CRT_UUID_DECL 1503 __CRT_UUID_DECL(IWMProfileManager, 0xd16679f2, 0x6ca0, 0x472d, 0x8d,0x31, 0x2f,0x5d,0x55,0xae,0xe1,0x55) 1504 #endif 1505 #else 1506 typedef struct IWMProfileManagerVtbl { 1507 BEGIN_INTERFACE 1508 1509 /*** IUnknown methods ***/ 1510 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1511 IWMProfileManager* This, 1512 REFIID riid, 1513 void **ppvObject); 1514 1515 ULONG (STDMETHODCALLTYPE *AddRef)( 1516 IWMProfileManager* This); 1517 1518 ULONG (STDMETHODCALLTYPE *Release)( 1519 IWMProfileManager* This); 1520 1521 /*** IWMProfileManager methods ***/ 1522 HRESULT (STDMETHODCALLTYPE *CreateEmptyProfile)( 1523 IWMProfileManager* This, 1524 WMT_VERSION dwVersion, 1525 IWMProfile **ppProfile); 1526 1527 HRESULT (STDMETHODCALLTYPE *LoadProfileByID)( 1528 IWMProfileManager* This, 1529 REFGUID guidProfile, 1530 IWMProfile **ppProfile); 1531 1532 HRESULT (STDMETHODCALLTYPE *LoadProfileByData)( 1533 IWMProfileManager* This, 1534 const WCHAR *pwszProfile, 1535 IWMProfile **ppProfile); 1536 1537 HRESULT (STDMETHODCALLTYPE *SaveProfile)( 1538 IWMProfileManager* This, 1539 IWMProfile *pIWMProfile, 1540 WCHAR *pwszProfile, 1541 DWORD *pdwLength); 1542 1543 HRESULT (STDMETHODCALLTYPE *GetSystemProfileCount)( 1544 IWMProfileManager* This, 1545 DWORD *pcProfiles); 1546 1547 HRESULT (STDMETHODCALLTYPE *LoadSystemProfile)( 1548 IWMProfileManager* This, 1549 DWORD dwProfileIndex, 1550 IWMProfile **ppProfile); 1551 1552 END_INTERFACE 1553 } IWMProfileManagerVtbl; 1554 interface IWMProfileManager { 1555 CONST_VTBL IWMProfileManagerVtbl* lpVtbl; 1556 }; 1557 1558 #ifdef COBJMACROS 1559 #ifndef WIDL_C_INLINE_WRAPPERS 1560 /*** IUnknown methods ***/ 1561 #define IWMProfileManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1562 #define IWMProfileManager_AddRef(This) (This)->lpVtbl->AddRef(This) 1563 #define IWMProfileManager_Release(This) (This)->lpVtbl->Release(This) 1564 /*** IWMProfileManager methods ***/ 1565 #define IWMProfileManager_CreateEmptyProfile(This,dwVersion,ppProfile) (This)->lpVtbl->CreateEmptyProfile(This,dwVersion,ppProfile) 1566 #define IWMProfileManager_LoadProfileByID(This,guidProfile,ppProfile) (This)->lpVtbl->LoadProfileByID(This,guidProfile,ppProfile) 1567 #define IWMProfileManager_LoadProfileByData(This,pwszProfile,ppProfile) (This)->lpVtbl->LoadProfileByData(This,pwszProfile,ppProfile) 1568 #define IWMProfileManager_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) (This)->lpVtbl->SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) 1569 #define IWMProfileManager_GetSystemProfileCount(This,pcProfiles) (This)->lpVtbl->GetSystemProfileCount(This,pcProfiles) 1570 #define IWMProfileManager_LoadSystemProfile(This,dwProfileIndex,ppProfile) (This)->lpVtbl->LoadSystemProfile(This,dwProfileIndex,ppProfile) 1571 #else 1572 /*** IUnknown methods ***/ 1573 static FORCEINLINE HRESULT IWMProfileManager_QueryInterface(IWMProfileManager* This,REFIID riid,void **ppvObject) { 1574 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1575 } 1576 static FORCEINLINE ULONG IWMProfileManager_AddRef(IWMProfileManager* This) { 1577 return This->lpVtbl->AddRef(This); 1578 } 1579 static FORCEINLINE ULONG IWMProfileManager_Release(IWMProfileManager* This) { 1580 return This->lpVtbl->Release(This); 1581 } 1582 /*** IWMProfileManager methods ***/ 1583 static FORCEINLINE HRESULT IWMProfileManager_CreateEmptyProfile(IWMProfileManager* This,WMT_VERSION dwVersion,IWMProfile **ppProfile) { 1584 return This->lpVtbl->CreateEmptyProfile(This,dwVersion,ppProfile); 1585 } 1586 static FORCEINLINE HRESULT IWMProfileManager_LoadProfileByID(IWMProfileManager* This,REFGUID guidProfile,IWMProfile **ppProfile) { 1587 return This->lpVtbl->LoadProfileByID(This,guidProfile,ppProfile); 1588 } 1589 static FORCEINLINE HRESULT IWMProfileManager_LoadProfileByData(IWMProfileManager* This,const WCHAR *pwszProfile,IWMProfile **ppProfile) { 1590 return This->lpVtbl->LoadProfileByData(This,pwszProfile,ppProfile); 1591 } 1592 static FORCEINLINE HRESULT IWMProfileManager_SaveProfile(IWMProfileManager* This,IWMProfile *pIWMProfile,WCHAR *pwszProfile,DWORD *pdwLength) { 1593 return This->lpVtbl->SaveProfile(This,pIWMProfile,pwszProfile,pdwLength); 1594 } 1595 static FORCEINLINE HRESULT IWMProfileManager_GetSystemProfileCount(IWMProfileManager* This,DWORD *pcProfiles) { 1596 return This->lpVtbl->GetSystemProfileCount(This,pcProfiles); 1597 } 1598 static FORCEINLINE HRESULT IWMProfileManager_LoadSystemProfile(IWMProfileManager* This,DWORD dwProfileIndex,IWMProfile **ppProfile) { 1599 return This->lpVtbl->LoadSystemProfile(This,dwProfileIndex,ppProfile); 1600 } 1601 #endif 1602 #endif 1603 1604 #endif 1605 1606 HRESULT STDMETHODCALLTYPE IWMProfileManager_CreateEmptyProfile_Proxy( 1607 IWMProfileManager* This, 1608 WMT_VERSION dwVersion, 1609 IWMProfile **ppProfile); 1610 void __RPC_STUB IWMProfileManager_CreateEmptyProfile_Stub( 1611 IRpcStubBuffer* This, 1612 IRpcChannelBuffer* pRpcChannelBuffer, 1613 PRPC_MESSAGE pRpcMessage, 1614 DWORD* pdwStubPhase); 1615 HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadProfileByID_Proxy( 1616 IWMProfileManager* This, 1617 REFGUID guidProfile, 1618 IWMProfile **ppProfile); 1619 void __RPC_STUB IWMProfileManager_LoadProfileByID_Stub( 1620 IRpcStubBuffer* This, 1621 IRpcChannelBuffer* pRpcChannelBuffer, 1622 PRPC_MESSAGE pRpcMessage, 1623 DWORD* pdwStubPhase); 1624 HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadProfileByData_Proxy( 1625 IWMProfileManager* This, 1626 const WCHAR *pwszProfile, 1627 IWMProfile **ppProfile); 1628 void __RPC_STUB IWMProfileManager_LoadProfileByData_Stub( 1629 IRpcStubBuffer* This, 1630 IRpcChannelBuffer* pRpcChannelBuffer, 1631 PRPC_MESSAGE pRpcMessage, 1632 DWORD* pdwStubPhase); 1633 HRESULT STDMETHODCALLTYPE IWMProfileManager_SaveProfile_Proxy( 1634 IWMProfileManager* This, 1635 IWMProfile *pIWMProfile, 1636 WCHAR *pwszProfile, 1637 DWORD *pdwLength); 1638 void __RPC_STUB IWMProfileManager_SaveProfile_Stub( 1639 IRpcStubBuffer* This, 1640 IRpcChannelBuffer* pRpcChannelBuffer, 1641 PRPC_MESSAGE pRpcMessage, 1642 DWORD* pdwStubPhase); 1643 HRESULT STDMETHODCALLTYPE IWMProfileManager_GetSystemProfileCount_Proxy( 1644 IWMProfileManager* This, 1645 DWORD *pcProfiles); 1646 void __RPC_STUB IWMProfileManager_GetSystemProfileCount_Stub( 1647 IRpcStubBuffer* This, 1648 IRpcChannelBuffer* pRpcChannelBuffer, 1649 PRPC_MESSAGE pRpcMessage, 1650 DWORD* pdwStubPhase); 1651 HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadSystemProfile_Proxy( 1652 IWMProfileManager* This, 1653 DWORD dwProfileIndex, 1654 IWMProfile **ppProfile); 1655 void __RPC_STUB IWMProfileManager_LoadSystemProfile_Stub( 1656 IRpcStubBuffer* This, 1657 IRpcChannelBuffer* pRpcChannelBuffer, 1658 PRPC_MESSAGE pRpcMessage, 1659 DWORD* pdwStubPhase); 1660 1661 #endif /* __IWMProfileManager_INTERFACE_DEFINED__ */ 1662 1663 HRESULT WINAPI WMCreateProfileManager(IWMProfileManager**); 1664 /***************************************************************************** 1665 * IWMMediaProps interface 1666 */ 1667 #ifndef __IWMMediaProps_INTERFACE_DEFINED__ 1668 #define __IWMMediaProps_INTERFACE_DEFINED__ 1669 1670 DEFINE_GUID(IID_IWMMediaProps, 0x96406bce, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 1671 #if defined(__cplusplus) && !defined(CINTERFACE) 1672 MIDL_INTERFACE("96406bce-2b2b-11d3-b36b-00c04f6108ff") 1673 IWMMediaProps : public IUnknown 1674 { 1675 virtual HRESULT STDMETHODCALLTYPE GetType( 1676 GUID *pguidType) = 0; 1677 1678 virtual HRESULT STDMETHODCALLTYPE GetMediaType( 1679 WM_MEDIA_TYPE *pType, 1680 DWORD *pcbType) = 0; 1681 1682 virtual HRESULT STDMETHODCALLTYPE SetMediaType( 1683 WM_MEDIA_TYPE *pType) = 0; 1684 1685 }; 1686 #ifdef __CRT_UUID_DECL 1687 __CRT_UUID_DECL(IWMMediaProps, 0x96406bce, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 1688 #endif 1689 #else 1690 typedef struct IWMMediaPropsVtbl { 1691 BEGIN_INTERFACE 1692 1693 /*** IUnknown methods ***/ 1694 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1695 IWMMediaProps* This, 1696 REFIID riid, 1697 void **ppvObject); 1698 1699 ULONG (STDMETHODCALLTYPE *AddRef)( 1700 IWMMediaProps* This); 1701 1702 ULONG (STDMETHODCALLTYPE *Release)( 1703 IWMMediaProps* This); 1704 1705 /*** IWMMediaProps methods ***/ 1706 HRESULT (STDMETHODCALLTYPE *GetType)( 1707 IWMMediaProps* This, 1708 GUID *pguidType); 1709 1710 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 1711 IWMMediaProps* This, 1712 WM_MEDIA_TYPE *pType, 1713 DWORD *pcbType); 1714 1715 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 1716 IWMMediaProps* This, 1717 WM_MEDIA_TYPE *pType); 1718 1719 END_INTERFACE 1720 } IWMMediaPropsVtbl; 1721 interface IWMMediaProps { 1722 CONST_VTBL IWMMediaPropsVtbl* lpVtbl; 1723 }; 1724 1725 #ifdef COBJMACROS 1726 #ifndef WIDL_C_INLINE_WRAPPERS 1727 /*** IUnknown methods ***/ 1728 #define IWMMediaProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1729 #define IWMMediaProps_AddRef(This) (This)->lpVtbl->AddRef(This) 1730 #define IWMMediaProps_Release(This) (This)->lpVtbl->Release(This) 1731 /*** IWMMediaProps methods ***/ 1732 #define IWMMediaProps_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType) 1733 #define IWMMediaProps_GetMediaType(This,pType,pcbType) (This)->lpVtbl->GetMediaType(This,pType,pcbType) 1734 #define IWMMediaProps_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType) 1735 #else 1736 /*** IUnknown methods ***/ 1737 static FORCEINLINE HRESULT IWMMediaProps_QueryInterface(IWMMediaProps* This,REFIID riid,void **ppvObject) { 1738 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1739 } 1740 static FORCEINLINE ULONG IWMMediaProps_AddRef(IWMMediaProps* This) { 1741 return This->lpVtbl->AddRef(This); 1742 } 1743 static FORCEINLINE ULONG IWMMediaProps_Release(IWMMediaProps* This) { 1744 return This->lpVtbl->Release(This); 1745 } 1746 /*** IWMMediaProps methods ***/ 1747 static FORCEINLINE HRESULT IWMMediaProps_GetType(IWMMediaProps* This,GUID *pguidType) { 1748 return This->lpVtbl->GetType(This,pguidType); 1749 } 1750 static FORCEINLINE HRESULT IWMMediaProps_GetMediaType(IWMMediaProps* This,WM_MEDIA_TYPE *pType,DWORD *pcbType) { 1751 return This->lpVtbl->GetMediaType(This,pType,pcbType); 1752 } 1753 static FORCEINLINE HRESULT IWMMediaProps_SetMediaType(IWMMediaProps* This,WM_MEDIA_TYPE *pType) { 1754 return This->lpVtbl->SetMediaType(This,pType); 1755 } 1756 #endif 1757 #endif 1758 1759 #endif 1760 1761 HRESULT STDMETHODCALLTYPE IWMMediaProps_GetType_Proxy( 1762 IWMMediaProps* This, 1763 GUID *pguidType); 1764 void __RPC_STUB IWMMediaProps_GetType_Stub( 1765 IRpcStubBuffer* This, 1766 IRpcChannelBuffer* pRpcChannelBuffer, 1767 PRPC_MESSAGE pRpcMessage, 1768 DWORD* pdwStubPhase); 1769 HRESULT STDMETHODCALLTYPE IWMMediaProps_GetMediaType_Proxy( 1770 IWMMediaProps* This, 1771 WM_MEDIA_TYPE *pType, 1772 DWORD *pcbType); 1773 void __RPC_STUB IWMMediaProps_GetMediaType_Stub( 1774 IRpcStubBuffer* This, 1775 IRpcChannelBuffer* pRpcChannelBuffer, 1776 PRPC_MESSAGE pRpcMessage, 1777 DWORD* pdwStubPhase); 1778 HRESULT STDMETHODCALLTYPE IWMMediaProps_SetMediaType_Proxy( 1779 IWMMediaProps* This, 1780 WM_MEDIA_TYPE *pType); 1781 void __RPC_STUB IWMMediaProps_SetMediaType_Stub( 1782 IRpcStubBuffer* This, 1783 IRpcChannelBuffer* pRpcChannelBuffer, 1784 PRPC_MESSAGE pRpcMessage, 1785 DWORD* pdwStubPhase); 1786 1787 #endif /* __IWMMediaProps_INTERFACE_DEFINED__ */ 1788 1789 /***************************************************************************** 1790 * IWMOutputMediaProps interface 1791 */ 1792 #ifndef __IWMOutputMediaProps_INTERFACE_DEFINED__ 1793 #define __IWMOutputMediaProps_INTERFACE_DEFINED__ 1794 1795 DEFINE_GUID(IID_IWMOutputMediaProps, 0x96406bd7, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 1796 #if defined(__cplusplus) && !defined(CINTERFACE) 1797 MIDL_INTERFACE("96406bd7-2b2b-11d3-b36b-00c04f6108ff") 1798 IWMOutputMediaProps : public IWMMediaProps 1799 { 1800 virtual HRESULT STDMETHODCALLTYPE GetStreamGroupName( 1801 WCHAR *pwszName, 1802 WORD *pcchName) = 0; 1803 1804 virtual HRESULT STDMETHODCALLTYPE GetConnectionName( 1805 WCHAR *pwszName, 1806 WORD *pcchName) = 0; 1807 1808 }; 1809 #ifdef __CRT_UUID_DECL 1810 __CRT_UUID_DECL(IWMOutputMediaProps, 0x96406bd7, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 1811 #endif 1812 #else 1813 typedef struct IWMOutputMediaPropsVtbl { 1814 BEGIN_INTERFACE 1815 1816 /*** IUnknown methods ***/ 1817 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1818 IWMOutputMediaProps* This, 1819 REFIID riid, 1820 void **ppvObject); 1821 1822 ULONG (STDMETHODCALLTYPE *AddRef)( 1823 IWMOutputMediaProps* This); 1824 1825 ULONG (STDMETHODCALLTYPE *Release)( 1826 IWMOutputMediaProps* This); 1827 1828 /*** IWMMediaProps methods ***/ 1829 HRESULT (STDMETHODCALLTYPE *GetType)( 1830 IWMOutputMediaProps* This, 1831 GUID *pguidType); 1832 1833 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 1834 IWMOutputMediaProps* This, 1835 WM_MEDIA_TYPE *pType, 1836 DWORD *pcbType); 1837 1838 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 1839 IWMOutputMediaProps* This, 1840 WM_MEDIA_TYPE *pType); 1841 1842 /*** IWMOutputMediaProps methods ***/ 1843 HRESULT (STDMETHODCALLTYPE *GetStreamGroupName)( 1844 IWMOutputMediaProps* This, 1845 WCHAR *pwszName, 1846 WORD *pcchName); 1847 1848 HRESULT (STDMETHODCALLTYPE *GetConnectionName)( 1849 IWMOutputMediaProps* This, 1850 WCHAR *pwszName, 1851 WORD *pcchName); 1852 1853 END_INTERFACE 1854 } IWMOutputMediaPropsVtbl; 1855 interface IWMOutputMediaProps { 1856 CONST_VTBL IWMOutputMediaPropsVtbl* lpVtbl; 1857 }; 1858 1859 #ifdef COBJMACROS 1860 #ifndef WIDL_C_INLINE_WRAPPERS 1861 /*** IUnknown methods ***/ 1862 #define IWMOutputMediaProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1863 #define IWMOutputMediaProps_AddRef(This) (This)->lpVtbl->AddRef(This) 1864 #define IWMOutputMediaProps_Release(This) (This)->lpVtbl->Release(This) 1865 /*** IWMMediaProps methods ***/ 1866 #define IWMOutputMediaProps_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType) 1867 #define IWMOutputMediaProps_GetMediaType(This,pType,pcbType) (This)->lpVtbl->GetMediaType(This,pType,pcbType) 1868 #define IWMOutputMediaProps_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType) 1869 /*** IWMOutputMediaProps methods ***/ 1870 #define IWMOutputMediaProps_GetStreamGroupName(This,pwszName,pcchName) (This)->lpVtbl->GetStreamGroupName(This,pwszName,pcchName) 1871 #define IWMOutputMediaProps_GetConnectionName(This,pwszName,pcchName) (This)->lpVtbl->GetConnectionName(This,pwszName,pcchName) 1872 #else 1873 /*** IUnknown methods ***/ 1874 static FORCEINLINE HRESULT IWMOutputMediaProps_QueryInterface(IWMOutputMediaProps* This,REFIID riid,void **ppvObject) { 1875 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1876 } 1877 static FORCEINLINE ULONG IWMOutputMediaProps_AddRef(IWMOutputMediaProps* This) { 1878 return This->lpVtbl->AddRef(This); 1879 } 1880 static FORCEINLINE ULONG IWMOutputMediaProps_Release(IWMOutputMediaProps* This) { 1881 return This->lpVtbl->Release(This); 1882 } 1883 /*** IWMMediaProps methods ***/ 1884 static FORCEINLINE HRESULT IWMOutputMediaProps_GetType(IWMOutputMediaProps* This,GUID *pguidType) { 1885 return This->lpVtbl->GetType(This,pguidType); 1886 } 1887 static FORCEINLINE HRESULT IWMOutputMediaProps_GetMediaType(IWMOutputMediaProps* This,WM_MEDIA_TYPE *pType,DWORD *pcbType) { 1888 return This->lpVtbl->GetMediaType(This,pType,pcbType); 1889 } 1890 static FORCEINLINE HRESULT IWMOutputMediaProps_SetMediaType(IWMOutputMediaProps* This,WM_MEDIA_TYPE *pType) { 1891 return This->lpVtbl->SetMediaType(This,pType); 1892 } 1893 /*** IWMOutputMediaProps methods ***/ 1894 static FORCEINLINE HRESULT IWMOutputMediaProps_GetStreamGroupName(IWMOutputMediaProps* This,WCHAR *pwszName,WORD *pcchName) { 1895 return This->lpVtbl->GetStreamGroupName(This,pwszName,pcchName); 1896 } 1897 static FORCEINLINE HRESULT IWMOutputMediaProps_GetConnectionName(IWMOutputMediaProps* This,WCHAR *pwszName,WORD *pcchName) { 1898 return This->lpVtbl->GetConnectionName(This,pwszName,pcchName); 1899 } 1900 #endif 1901 #endif 1902 1903 #endif 1904 1905 HRESULT STDMETHODCALLTYPE IWMOutputMediaProps_GetStreamGroupName_Proxy( 1906 IWMOutputMediaProps* This, 1907 WCHAR *pwszName, 1908 WORD *pcchName); 1909 void __RPC_STUB IWMOutputMediaProps_GetStreamGroupName_Stub( 1910 IRpcStubBuffer* This, 1911 IRpcChannelBuffer* pRpcChannelBuffer, 1912 PRPC_MESSAGE pRpcMessage, 1913 DWORD* pdwStubPhase); 1914 HRESULT STDMETHODCALLTYPE IWMOutputMediaProps_GetConnectionName_Proxy( 1915 IWMOutputMediaProps* This, 1916 WCHAR *pwszName, 1917 WORD *pcchName); 1918 void __RPC_STUB IWMOutputMediaProps_GetConnectionName_Stub( 1919 IRpcStubBuffer* This, 1920 IRpcChannelBuffer* pRpcChannelBuffer, 1921 PRPC_MESSAGE pRpcMessage, 1922 DWORD* pdwStubPhase); 1923 1924 #endif /* __IWMOutputMediaProps_INTERFACE_DEFINED__ */ 1925 1926 /***************************************************************************** 1927 * IWMMetadataEditor interface 1928 */ 1929 #ifndef __IWMMetadataEditor_INTERFACE_DEFINED__ 1930 #define __IWMMetadataEditor_INTERFACE_DEFINED__ 1931 1932 DEFINE_GUID(IID_IWMMetadataEditor, 0x96406bd9, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 1933 #if defined(__cplusplus) && !defined(CINTERFACE) 1934 MIDL_INTERFACE("96406bd9-2b2b-11d3-b36b-00c04f6108ff") 1935 IWMMetadataEditor : public IUnknown 1936 { 1937 virtual HRESULT STDMETHODCALLTYPE Open( 1938 const WCHAR *pwszFilename) = 0; 1939 1940 virtual HRESULT STDMETHODCALLTYPE Close( 1941 ) = 0; 1942 1943 virtual HRESULT STDMETHODCALLTYPE Flush( 1944 ) = 0; 1945 1946 }; 1947 #ifdef __CRT_UUID_DECL 1948 __CRT_UUID_DECL(IWMMetadataEditor, 0x96406bd9, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 1949 #endif 1950 #else 1951 typedef struct IWMMetadataEditorVtbl { 1952 BEGIN_INTERFACE 1953 1954 /*** IUnknown methods ***/ 1955 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1956 IWMMetadataEditor* This, 1957 REFIID riid, 1958 void **ppvObject); 1959 1960 ULONG (STDMETHODCALLTYPE *AddRef)( 1961 IWMMetadataEditor* This); 1962 1963 ULONG (STDMETHODCALLTYPE *Release)( 1964 IWMMetadataEditor* This); 1965 1966 /*** IWMMetadataEditor methods ***/ 1967 HRESULT (STDMETHODCALLTYPE *Open)( 1968 IWMMetadataEditor* This, 1969 const WCHAR *pwszFilename); 1970 1971 HRESULT (STDMETHODCALLTYPE *Close)( 1972 IWMMetadataEditor* This); 1973 1974 HRESULT (STDMETHODCALLTYPE *Flush)( 1975 IWMMetadataEditor* This); 1976 1977 END_INTERFACE 1978 } IWMMetadataEditorVtbl; 1979 interface IWMMetadataEditor { 1980 CONST_VTBL IWMMetadataEditorVtbl* lpVtbl; 1981 }; 1982 1983 #ifdef COBJMACROS 1984 #ifndef WIDL_C_INLINE_WRAPPERS 1985 /*** IUnknown methods ***/ 1986 #define IWMMetadataEditor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1987 #define IWMMetadataEditor_AddRef(This) (This)->lpVtbl->AddRef(This) 1988 #define IWMMetadataEditor_Release(This) (This)->lpVtbl->Release(This) 1989 /*** IWMMetadataEditor methods ***/ 1990 #define IWMMetadataEditor_Open(This,pwszFilename) (This)->lpVtbl->Open(This,pwszFilename) 1991 #define IWMMetadataEditor_Close(This) (This)->lpVtbl->Close(This) 1992 #define IWMMetadataEditor_Flush(This) (This)->lpVtbl->Flush(This) 1993 #else 1994 /*** IUnknown methods ***/ 1995 static FORCEINLINE HRESULT IWMMetadataEditor_QueryInterface(IWMMetadataEditor* This,REFIID riid,void **ppvObject) { 1996 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1997 } 1998 static FORCEINLINE ULONG IWMMetadataEditor_AddRef(IWMMetadataEditor* This) { 1999 return This->lpVtbl->AddRef(This); 2000 } 2001 static FORCEINLINE ULONG IWMMetadataEditor_Release(IWMMetadataEditor* This) { 2002 return This->lpVtbl->Release(This); 2003 } 2004 /*** IWMMetadataEditor methods ***/ 2005 static FORCEINLINE HRESULT IWMMetadataEditor_Open(IWMMetadataEditor* This,const WCHAR *pwszFilename) { 2006 return This->lpVtbl->Open(This,pwszFilename); 2007 } 2008 static FORCEINLINE HRESULT IWMMetadataEditor_Close(IWMMetadataEditor* This) { 2009 return This->lpVtbl->Close(This); 2010 } 2011 static FORCEINLINE HRESULT IWMMetadataEditor_Flush(IWMMetadataEditor* This) { 2012 return This->lpVtbl->Flush(This); 2013 } 2014 #endif 2015 #endif 2016 2017 #endif 2018 2019 HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Open_Proxy( 2020 IWMMetadataEditor* This, 2021 const WCHAR *pwszFilename); 2022 void __RPC_STUB IWMMetadataEditor_Open_Stub( 2023 IRpcStubBuffer* This, 2024 IRpcChannelBuffer* pRpcChannelBuffer, 2025 PRPC_MESSAGE pRpcMessage, 2026 DWORD* pdwStubPhase); 2027 HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Close_Proxy( 2028 IWMMetadataEditor* This); 2029 void __RPC_STUB IWMMetadataEditor_Close_Stub( 2030 IRpcStubBuffer* This, 2031 IRpcChannelBuffer* pRpcChannelBuffer, 2032 PRPC_MESSAGE pRpcMessage, 2033 DWORD* pdwStubPhase); 2034 HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Flush_Proxy( 2035 IWMMetadataEditor* This); 2036 void __RPC_STUB IWMMetadataEditor_Flush_Stub( 2037 IRpcStubBuffer* This, 2038 IRpcChannelBuffer* pRpcChannelBuffer, 2039 PRPC_MESSAGE pRpcMessage, 2040 DWORD* pdwStubPhase); 2041 2042 #endif /* __IWMMetadataEditor_INTERFACE_DEFINED__ */ 2043 2044 /***************************************************************************** 2045 * IWMReader interface 2046 */ 2047 #ifndef __IWMReader_INTERFACE_DEFINED__ 2048 #define __IWMReader_INTERFACE_DEFINED__ 2049 2050 DEFINE_GUID(IID_IWMReader, 0x96406bd6, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 2051 #if defined(__cplusplus) && !defined(CINTERFACE) 2052 MIDL_INTERFACE("96406bd6-2b2b-11d3-b36b-00c04f6108ff") 2053 IWMReader : public IUnknown 2054 { 2055 virtual HRESULT STDMETHODCALLTYPE Open( 2056 const WCHAR *pwszURL, 2057 IWMReaderCallback *pCallback, 2058 void *pvContext) = 0; 2059 2060 virtual HRESULT STDMETHODCALLTYPE Close( 2061 ) = 0; 2062 2063 virtual HRESULT STDMETHODCALLTYPE GetOutputCount( 2064 DWORD *pcOutputs) = 0; 2065 2066 virtual HRESULT STDMETHODCALLTYPE GetOutputProps( 2067 DWORD dwOutputNum, 2068 IWMOutputMediaProps **ppOutput) = 0; 2069 2070 virtual HRESULT STDMETHODCALLTYPE SetOutputProps( 2071 DWORD dwOutputNum, 2072 IWMOutputMediaProps *pOutput) = 0; 2073 2074 virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount( 2075 DWORD dwOutputNumber, 2076 DWORD *pcFormats) = 0; 2077 2078 virtual HRESULT STDMETHODCALLTYPE GetOutputFormat( 2079 DWORD dwOutputNumber, 2080 DWORD dwFormatNumber, 2081 IWMOutputMediaProps **ppProps) = 0; 2082 2083 virtual HRESULT STDMETHODCALLTYPE Start( 2084 QWORD cnsStart, 2085 QWORD cnsDuration, 2086 float fRate, 2087 void *pvContext) = 0; 2088 2089 virtual HRESULT STDMETHODCALLTYPE Stop( 2090 ) = 0; 2091 2092 virtual HRESULT STDMETHODCALLTYPE Pause( 2093 ) = 0; 2094 2095 virtual HRESULT STDMETHODCALLTYPE Resume( 2096 ) = 0; 2097 2098 }; 2099 #ifdef __CRT_UUID_DECL 2100 __CRT_UUID_DECL(IWMReader, 0x96406bd6, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 2101 #endif 2102 #else 2103 typedef struct IWMReaderVtbl { 2104 BEGIN_INTERFACE 2105 2106 /*** IUnknown methods ***/ 2107 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2108 IWMReader* This, 2109 REFIID riid, 2110 void **ppvObject); 2111 2112 ULONG (STDMETHODCALLTYPE *AddRef)( 2113 IWMReader* This); 2114 2115 ULONG (STDMETHODCALLTYPE *Release)( 2116 IWMReader* This); 2117 2118 /*** IWMReader methods ***/ 2119 HRESULT (STDMETHODCALLTYPE *Open)( 2120 IWMReader* This, 2121 const WCHAR *pwszURL, 2122 IWMReaderCallback *pCallback, 2123 void *pvContext); 2124 2125 HRESULT (STDMETHODCALLTYPE *Close)( 2126 IWMReader* This); 2127 2128 HRESULT (STDMETHODCALLTYPE *GetOutputCount)( 2129 IWMReader* This, 2130 DWORD *pcOutputs); 2131 2132 HRESULT (STDMETHODCALLTYPE *GetOutputProps)( 2133 IWMReader* This, 2134 DWORD dwOutputNum, 2135 IWMOutputMediaProps **ppOutput); 2136 2137 HRESULT (STDMETHODCALLTYPE *SetOutputProps)( 2138 IWMReader* This, 2139 DWORD dwOutputNum, 2140 IWMOutputMediaProps *pOutput); 2141 2142 HRESULT (STDMETHODCALLTYPE *GetOutputFormatCount)( 2143 IWMReader* This, 2144 DWORD dwOutputNumber, 2145 DWORD *pcFormats); 2146 2147 HRESULT (STDMETHODCALLTYPE *GetOutputFormat)( 2148 IWMReader* This, 2149 DWORD dwOutputNumber, 2150 DWORD dwFormatNumber, 2151 IWMOutputMediaProps **ppProps); 2152 2153 HRESULT (STDMETHODCALLTYPE *Start)( 2154 IWMReader* This, 2155 QWORD cnsStart, 2156 QWORD cnsDuration, 2157 float fRate, 2158 void *pvContext); 2159 2160 HRESULT (STDMETHODCALLTYPE *Stop)( 2161 IWMReader* This); 2162 2163 HRESULT (STDMETHODCALLTYPE *Pause)( 2164 IWMReader* This); 2165 2166 HRESULT (STDMETHODCALLTYPE *Resume)( 2167 IWMReader* This); 2168 2169 END_INTERFACE 2170 } IWMReaderVtbl; 2171 interface IWMReader { 2172 CONST_VTBL IWMReaderVtbl* lpVtbl; 2173 }; 2174 2175 #ifdef COBJMACROS 2176 #ifndef WIDL_C_INLINE_WRAPPERS 2177 /*** IUnknown methods ***/ 2178 #define IWMReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2179 #define IWMReader_AddRef(This) (This)->lpVtbl->AddRef(This) 2180 #define IWMReader_Release(This) (This)->lpVtbl->Release(This) 2181 /*** IWMReader methods ***/ 2182 #define IWMReader_Open(This,pwszURL,pCallback,pvContext) (This)->lpVtbl->Open(This,pwszURL,pCallback,pvContext) 2183 #define IWMReader_Close(This) (This)->lpVtbl->Close(This) 2184 #define IWMReader_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs) 2185 #define IWMReader_GetOutputProps(This,dwOutputNum,ppOutput) (This)->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput) 2186 #define IWMReader_SetOutputProps(This,dwOutputNum,pOutput) (This)->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput) 2187 #define IWMReader_GetOutputFormatCount(This,dwOutputNumber,pcFormats) (This)->lpVtbl->GetOutputFormatCount(This,dwOutputNumber,pcFormats) 2188 #define IWMReader_GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps) (This)->lpVtbl->GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps) 2189 #define IWMReader_Start(This,cnsStart,cnsDuration,fRate,pvContext) (This)->lpVtbl->Start(This,cnsStart,cnsDuration,fRate,pvContext) 2190 #define IWMReader_Stop(This) (This)->lpVtbl->Stop(This) 2191 #define IWMReader_Pause(This) (This)->lpVtbl->Pause(This) 2192 #define IWMReader_Resume(This) (This)->lpVtbl->Resume(This) 2193 #else 2194 /*** IUnknown methods ***/ 2195 static FORCEINLINE HRESULT IWMReader_QueryInterface(IWMReader* This,REFIID riid,void **ppvObject) { 2196 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2197 } 2198 static FORCEINLINE ULONG IWMReader_AddRef(IWMReader* This) { 2199 return This->lpVtbl->AddRef(This); 2200 } 2201 static FORCEINLINE ULONG IWMReader_Release(IWMReader* This) { 2202 return This->lpVtbl->Release(This); 2203 } 2204 /*** IWMReader methods ***/ 2205 static FORCEINLINE HRESULT IWMReader_Open(IWMReader* This,const WCHAR *pwszURL,IWMReaderCallback *pCallback,void *pvContext) { 2206 return This->lpVtbl->Open(This,pwszURL,pCallback,pvContext); 2207 } 2208 static FORCEINLINE HRESULT IWMReader_Close(IWMReader* This) { 2209 return This->lpVtbl->Close(This); 2210 } 2211 static FORCEINLINE HRESULT IWMReader_GetOutputCount(IWMReader* This,DWORD *pcOutputs) { 2212 return This->lpVtbl->GetOutputCount(This,pcOutputs); 2213 } 2214 static FORCEINLINE HRESULT IWMReader_GetOutputProps(IWMReader* This,DWORD dwOutputNum,IWMOutputMediaProps **ppOutput) { 2215 return This->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput); 2216 } 2217 static FORCEINLINE HRESULT IWMReader_SetOutputProps(IWMReader* This,DWORD dwOutputNum,IWMOutputMediaProps *pOutput) { 2218 return This->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput); 2219 } 2220 static FORCEINLINE HRESULT IWMReader_GetOutputFormatCount(IWMReader* This,DWORD dwOutputNumber,DWORD *pcFormats) { 2221 return This->lpVtbl->GetOutputFormatCount(This,dwOutputNumber,pcFormats); 2222 } 2223 static FORCEINLINE HRESULT IWMReader_GetOutputFormat(IWMReader* This,DWORD dwOutputNumber,DWORD dwFormatNumber,IWMOutputMediaProps **ppProps) { 2224 return This->lpVtbl->GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps); 2225 } 2226 static FORCEINLINE HRESULT IWMReader_Start(IWMReader* This,QWORD cnsStart,QWORD cnsDuration,float fRate,void *pvContext) { 2227 return This->lpVtbl->Start(This,cnsStart,cnsDuration,fRate,pvContext); 2228 } 2229 static FORCEINLINE HRESULT IWMReader_Stop(IWMReader* This) { 2230 return This->lpVtbl->Stop(This); 2231 } 2232 static FORCEINLINE HRESULT IWMReader_Pause(IWMReader* This) { 2233 return This->lpVtbl->Pause(This); 2234 } 2235 static FORCEINLINE HRESULT IWMReader_Resume(IWMReader* This) { 2236 return This->lpVtbl->Resume(This); 2237 } 2238 #endif 2239 #endif 2240 2241 #endif 2242 2243 HRESULT STDMETHODCALLTYPE IWMReader_Open_Proxy( 2244 IWMReader* This, 2245 const WCHAR *pwszURL, 2246 IWMReaderCallback *pCallback, 2247 void *pvContext); 2248 void __RPC_STUB IWMReader_Open_Stub( 2249 IRpcStubBuffer* This, 2250 IRpcChannelBuffer* pRpcChannelBuffer, 2251 PRPC_MESSAGE pRpcMessage, 2252 DWORD* pdwStubPhase); 2253 HRESULT STDMETHODCALLTYPE IWMReader_Close_Proxy( 2254 IWMReader* This); 2255 void __RPC_STUB IWMReader_Close_Stub( 2256 IRpcStubBuffer* This, 2257 IRpcChannelBuffer* pRpcChannelBuffer, 2258 PRPC_MESSAGE pRpcMessage, 2259 DWORD* pdwStubPhase); 2260 HRESULT STDMETHODCALLTYPE IWMReader_GetOutputCount_Proxy( 2261 IWMReader* This, 2262 DWORD *pcOutputs); 2263 void __RPC_STUB IWMReader_GetOutputCount_Stub( 2264 IRpcStubBuffer* This, 2265 IRpcChannelBuffer* pRpcChannelBuffer, 2266 PRPC_MESSAGE pRpcMessage, 2267 DWORD* pdwStubPhase); 2268 HRESULT STDMETHODCALLTYPE IWMReader_GetOutputProps_Proxy( 2269 IWMReader* This, 2270 DWORD dwOutputNum, 2271 IWMOutputMediaProps **ppOutput); 2272 void __RPC_STUB IWMReader_GetOutputProps_Stub( 2273 IRpcStubBuffer* This, 2274 IRpcChannelBuffer* pRpcChannelBuffer, 2275 PRPC_MESSAGE pRpcMessage, 2276 DWORD* pdwStubPhase); 2277 HRESULT STDMETHODCALLTYPE IWMReader_SetOutputProps_Proxy( 2278 IWMReader* This, 2279 DWORD dwOutputNum, 2280 IWMOutputMediaProps *pOutput); 2281 void __RPC_STUB IWMReader_SetOutputProps_Stub( 2282 IRpcStubBuffer* This, 2283 IRpcChannelBuffer* pRpcChannelBuffer, 2284 PRPC_MESSAGE pRpcMessage, 2285 DWORD* pdwStubPhase); 2286 HRESULT STDMETHODCALLTYPE IWMReader_GetOutputFormatCount_Proxy( 2287 IWMReader* This, 2288 DWORD dwOutputNumber, 2289 DWORD *pcFormats); 2290 void __RPC_STUB IWMReader_GetOutputFormatCount_Stub( 2291 IRpcStubBuffer* This, 2292 IRpcChannelBuffer* pRpcChannelBuffer, 2293 PRPC_MESSAGE pRpcMessage, 2294 DWORD* pdwStubPhase); 2295 HRESULT STDMETHODCALLTYPE IWMReader_GetOutputFormat_Proxy( 2296 IWMReader* This, 2297 DWORD dwOutputNumber, 2298 DWORD dwFormatNumber, 2299 IWMOutputMediaProps **ppProps); 2300 void __RPC_STUB IWMReader_GetOutputFormat_Stub( 2301 IRpcStubBuffer* This, 2302 IRpcChannelBuffer* pRpcChannelBuffer, 2303 PRPC_MESSAGE pRpcMessage, 2304 DWORD* pdwStubPhase); 2305 HRESULT STDMETHODCALLTYPE IWMReader_Start_Proxy( 2306 IWMReader* This, 2307 QWORD cnsStart, 2308 QWORD cnsDuration, 2309 float fRate, 2310 void *pvContext); 2311 void __RPC_STUB IWMReader_Start_Stub( 2312 IRpcStubBuffer* This, 2313 IRpcChannelBuffer* pRpcChannelBuffer, 2314 PRPC_MESSAGE pRpcMessage, 2315 DWORD* pdwStubPhase); 2316 HRESULT STDMETHODCALLTYPE IWMReader_Stop_Proxy( 2317 IWMReader* This); 2318 void __RPC_STUB IWMReader_Stop_Stub( 2319 IRpcStubBuffer* This, 2320 IRpcChannelBuffer* pRpcChannelBuffer, 2321 PRPC_MESSAGE pRpcMessage, 2322 DWORD* pdwStubPhase); 2323 HRESULT STDMETHODCALLTYPE IWMReader_Pause_Proxy( 2324 IWMReader* This); 2325 void __RPC_STUB IWMReader_Pause_Stub( 2326 IRpcStubBuffer* This, 2327 IRpcChannelBuffer* pRpcChannelBuffer, 2328 PRPC_MESSAGE pRpcMessage, 2329 DWORD* pdwStubPhase); 2330 HRESULT STDMETHODCALLTYPE IWMReader_Resume_Proxy( 2331 IWMReader* This); 2332 void __RPC_STUB IWMReader_Resume_Stub( 2333 IRpcStubBuffer* This, 2334 IRpcChannelBuffer* pRpcChannelBuffer, 2335 PRPC_MESSAGE pRpcMessage, 2336 DWORD* pdwStubPhase); 2337 2338 #endif /* __IWMReader_INTERFACE_DEFINED__ */ 2339 2340 /***************************************************************************** 2341 * IWMPlayerHook interface 2342 */ 2343 #ifndef __IWMPlayerHook_INTERFACE_DEFINED__ 2344 #define __IWMPlayerHook_INTERFACE_DEFINED__ 2345 2346 DEFINE_GUID(IID_IWMPlayerHook, 0xe5b7ca9a, 0x0f1c, 0x4f66, 0x90,0x02, 0x74,0xec,0x50,0xd8,0xb3,0x04); 2347 #if defined(__cplusplus) && !defined(CINTERFACE) 2348 MIDL_INTERFACE("e5b7ca9a-0f1c-4f66-9002-74ec50d8b304") 2349 IWMPlayerHook : public IUnknown 2350 { 2351 virtual HRESULT STDMETHODCALLTYPE PreDecode( 2352 ) = 0; 2353 2354 }; 2355 #ifdef __CRT_UUID_DECL 2356 __CRT_UUID_DECL(IWMPlayerHook, 0xe5b7ca9a, 0x0f1c, 0x4f66, 0x90,0x02, 0x74,0xec,0x50,0xd8,0xb3,0x04) 2357 #endif 2358 #else 2359 typedef struct IWMPlayerHookVtbl { 2360 BEGIN_INTERFACE 2361 2362 /*** IUnknown methods ***/ 2363 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2364 IWMPlayerHook* This, 2365 REFIID riid, 2366 void **ppvObject); 2367 2368 ULONG (STDMETHODCALLTYPE *AddRef)( 2369 IWMPlayerHook* This); 2370 2371 ULONG (STDMETHODCALLTYPE *Release)( 2372 IWMPlayerHook* This); 2373 2374 /*** IWMPlayerHook methods ***/ 2375 HRESULT (STDMETHODCALLTYPE *PreDecode)( 2376 IWMPlayerHook* This); 2377 2378 END_INTERFACE 2379 } IWMPlayerHookVtbl; 2380 interface IWMPlayerHook { 2381 CONST_VTBL IWMPlayerHookVtbl* lpVtbl; 2382 }; 2383 2384 #ifdef COBJMACROS 2385 #ifndef WIDL_C_INLINE_WRAPPERS 2386 /*** IUnknown methods ***/ 2387 #define IWMPlayerHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2388 #define IWMPlayerHook_AddRef(This) (This)->lpVtbl->AddRef(This) 2389 #define IWMPlayerHook_Release(This) (This)->lpVtbl->Release(This) 2390 /*** IWMPlayerHook methods ***/ 2391 #define IWMPlayerHook_PreDecode(This) (This)->lpVtbl->PreDecode(This) 2392 #else 2393 /*** IUnknown methods ***/ 2394 static FORCEINLINE HRESULT IWMPlayerHook_QueryInterface(IWMPlayerHook* This,REFIID riid,void **ppvObject) { 2395 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2396 } 2397 static FORCEINLINE ULONG IWMPlayerHook_AddRef(IWMPlayerHook* This) { 2398 return This->lpVtbl->AddRef(This); 2399 } 2400 static FORCEINLINE ULONG IWMPlayerHook_Release(IWMPlayerHook* This) { 2401 return This->lpVtbl->Release(This); 2402 } 2403 /*** IWMPlayerHook methods ***/ 2404 static FORCEINLINE HRESULT IWMPlayerHook_PreDecode(IWMPlayerHook* This) { 2405 return This->lpVtbl->PreDecode(This); 2406 } 2407 #endif 2408 #endif 2409 2410 #endif 2411 2412 HRESULT STDMETHODCALLTYPE IWMPlayerHook_PreDecode_Proxy( 2413 IWMPlayerHook* This); 2414 void __RPC_STUB IWMPlayerHook_PreDecode_Stub( 2415 IRpcStubBuffer* This, 2416 IRpcChannelBuffer* pRpcChannelBuffer, 2417 PRPC_MESSAGE pRpcMessage, 2418 DWORD* pdwStubPhase); 2419 2420 #endif /* __IWMPlayerHook_INTERFACE_DEFINED__ */ 2421 2422 /***************************************************************************** 2423 * IWMReaderAdvanced interface 2424 */ 2425 #ifndef __IWMReaderAdvanced_INTERFACE_DEFINED__ 2426 #define __IWMReaderAdvanced_INTERFACE_DEFINED__ 2427 2428 DEFINE_GUID(IID_IWMReaderAdvanced, 0x96406bea, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 2429 #if defined(__cplusplus) && !defined(CINTERFACE) 2430 MIDL_INTERFACE("96406bea-2b2b-11d3-b36b-00c04f6108ff") 2431 IWMReaderAdvanced : public IUnknown 2432 { 2433 virtual HRESULT STDMETHODCALLTYPE SetUserProvidedClock( 2434 WINBOOL fUserClock) = 0; 2435 2436 virtual HRESULT STDMETHODCALLTYPE GetUserProvidedClock( 2437 WINBOOL *pfUserClock) = 0; 2438 2439 virtual HRESULT STDMETHODCALLTYPE DeliverTime( 2440 QWORD cnsTime) = 0; 2441 2442 virtual HRESULT STDMETHODCALLTYPE SetManualStreamSelection( 2443 WINBOOL fSelection) = 0; 2444 2445 virtual HRESULT STDMETHODCALLTYPE GetManualStreamSelection( 2446 WINBOOL *pfSelection) = 0; 2447 2448 virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected( 2449 WORD cStreamCount, 2450 WORD *pwStreamNumbers, 2451 WMT_STREAM_SELECTION *pSelections) = 0; 2452 2453 virtual HRESULT STDMETHODCALLTYPE GetStreamSelected( 2454 WORD wStreamNum, 2455 WMT_STREAM_SELECTION *pSelection) = 0; 2456 2457 virtual HRESULT STDMETHODCALLTYPE SetReceiveSelectionCallbacks( 2458 WINBOOL fGetCallbacks) = 0; 2459 2460 virtual HRESULT STDMETHODCALLTYPE GetReceiveSelectionCallbacks( 2461 WINBOOL *pfGetCallbacks) = 0; 2462 2463 virtual HRESULT STDMETHODCALLTYPE SetReceiveStreamSamples( 2464 WORD wStreamNum, 2465 WINBOOL fReceiveStreamSamples) = 0; 2466 2467 virtual HRESULT STDMETHODCALLTYPE GetReceiveStreamSamples( 2468 WORD wStreamNum, 2469 WINBOOL *pfReceiveStreamSamples) = 0; 2470 2471 virtual HRESULT STDMETHODCALLTYPE SetAllocateForOutput( 2472 DWORD dwOutputNum, 2473 WINBOOL fAllocate) = 0; 2474 2475 virtual HRESULT STDMETHODCALLTYPE GetAllocateForOutput( 2476 DWORD dwOutputNum, 2477 WINBOOL *pfAllocate) = 0; 2478 2479 virtual HRESULT STDMETHODCALLTYPE SetAllocateForStream( 2480 WORD wStreamNum, 2481 WINBOOL fAllocate) = 0; 2482 2483 virtual HRESULT STDMETHODCALLTYPE GetAllocateForStream( 2484 WORD dwSreamNum, 2485 WINBOOL *pfAllocate) = 0; 2486 2487 virtual HRESULT STDMETHODCALLTYPE GetStatistics( 2488 WM_READER_STATISTICS *pStatistics) = 0; 2489 2490 virtual HRESULT STDMETHODCALLTYPE SetClientInfo( 2491 WM_READER_CLIENTINFO *pClientInfo) = 0; 2492 2493 virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize( 2494 DWORD dwOutput, 2495 DWORD *pcbMax) = 0; 2496 2497 virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize( 2498 WORD wStream, 2499 DWORD *pcbMax) = 0; 2500 2501 virtual HRESULT STDMETHODCALLTYPE NotifyLateDelivery( 2502 QWORD cnsLateness) = 0; 2503 2504 }; 2505 #ifdef __CRT_UUID_DECL 2506 __CRT_UUID_DECL(IWMReaderAdvanced, 0x96406bea, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 2507 #endif 2508 #else 2509 typedef struct IWMReaderAdvancedVtbl { 2510 BEGIN_INTERFACE 2511 2512 /*** IUnknown methods ***/ 2513 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2514 IWMReaderAdvanced* This, 2515 REFIID riid, 2516 void **ppvObject); 2517 2518 ULONG (STDMETHODCALLTYPE *AddRef)( 2519 IWMReaderAdvanced* This); 2520 2521 ULONG (STDMETHODCALLTYPE *Release)( 2522 IWMReaderAdvanced* This); 2523 2524 /*** IWMReaderAdvanced methods ***/ 2525 HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( 2526 IWMReaderAdvanced* This, 2527 WINBOOL fUserClock); 2528 2529 HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( 2530 IWMReaderAdvanced* This, 2531 WINBOOL *pfUserClock); 2532 2533 HRESULT (STDMETHODCALLTYPE *DeliverTime)( 2534 IWMReaderAdvanced* This, 2535 QWORD cnsTime); 2536 2537 HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( 2538 IWMReaderAdvanced* This, 2539 WINBOOL fSelection); 2540 2541 HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( 2542 IWMReaderAdvanced* This, 2543 WINBOOL *pfSelection); 2544 2545 HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( 2546 IWMReaderAdvanced* This, 2547 WORD cStreamCount, 2548 WORD *pwStreamNumbers, 2549 WMT_STREAM_SELECTION *pSelections); 2550 2551 HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( 2552 IWMReaderAdvanced* This, 2553 WORD wStreamNum, 2554 WMT_STREAM_SELECTION *pSelection); 2555 2556 HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( 2557 IWMReaderAdvanced* This, 2558 WINBOOL fGetCallbacks); 2559 2560 HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( 2561 IWMReaderAdvanced* This, 2562 WINBOOL *pfGetCallbacks); 2563 2564 HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( 2565 IWMReaderAdvanced* This, 2566 WORD wStreamNum, 2567 WINBOOL fReceiveStreamSamples); 2568 2569 HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( 2570 IWMReaderAdvanced* This, 2571 WORD wStreamNum, 2572 WINBOOL *pfReceiveStreamSamples); 2573 2574 HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( 2575 IWMReaderAdvanced* This, 2576 DWORD dwOutputNum, 2577 WINBOOL fAllocate); 2578 2579 HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( 2580 IWMReaderAdvanced* This, 2581 DWORD dwOutputNum, 2582 WINBOOL *pfAllocate); 2583 2584 HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( 2585 IWMReaderAdvanced* This, 2586 WORD wStreamNum, 2587 WINBOOL fAllocate); 2588 2589 HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( 2590 IWMReaderAdvanced* This, 2591 WORD dwSreamNum, 2592 WINBOOL *pfAllocate); 2593 2594 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 2595 IWMReaderAdvanced* This, 2596 WM_READER_STATISTICS *pStatistics); 2597 2598 HRESULT (STDMETHODCALLTYPE *SetClientInfo)( 2599 IWMReaderAdvanced* This, 2600 WM_READER_CLIENTINFO *pClientInfo); 2601 2602 HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( 2603 IWMReaderAdvanced* This, 2604 DWORD dwOutput, 2605 DWORD *pcbMax); 2606 2607 HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( 2608 IWMReaderAdvanced* This, 2609 WORD wStream, 2610 DWORD *pcbMax); 2611 2612 HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( 2613 IWMReaderAdvanced* This, 2614 QWORD cnsLateness); 2615 2616 END_INTERFACE 2617 } IWMReaderAdvancedVtbl; 2618 interface IWMReaderAdvanced { 2619 CONST_VTBL IWMReaderAdvancedVtbl* lpVtbl; 2620 }; 2621 2622 #ifdef COBJMACROS 2623 #ifndef WIDL_C_INLINE_WRAPPERS 2624 /*** IUnknown methods ***/ 2625 #define IWMReaderAdvanced_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2626 #define IWMReaderAdvanced_AddRef(This) (This)->lpVtbl->AddRef(This) 2627 #define IWMReaderAdvanced_Release(This) (This)->lpVtbl->Release(This) 2628 /*** IWMReaderAdvanced methods ***/ 2629 #define IWMReaderAdvanced_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) 2630 #define IWMReaderAdvanced_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) 2631 #define IWMReaderAdvanced_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) 2632 #define IWMReaderAdvanced_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) 2633 #define IWMReaderAdvanced_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) 2634 #define IWMReaderAdvanced_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) 2635 #define IWMReaderAdvanced_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) 2636 #define IWMReaderAdvanced_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) 2637 #define IWMReaderAdvanced_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) 2638 #define IWMReaderAdvanced_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) 2639 #define IWMReaderAdvanced_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) 2640 #define IWMReaderAdvanced_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) 2641 #define IWMReaderAdvanced_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) 2642 #define IWMReaderAdvanced_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) 2643 #define IWMReaderAdvanced_GetAllocateForStream(This,dwSreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate) 2644 #define IWMReaderAdvanced_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) 2645 #define IWMReaderAdvanced_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) 2646 #define IWMReaderAdvanced_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) 2647 #define IWMReaderAdvanced_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) 2648 #define IWMReaderAdvanced_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) 2649 #else 2650 /*** IUnknown methods ***/ 2651 static FORCEINLINE HRESULT IWMReaderAdvanced_QueryInterface(IWMReaderAdvanced* This,REFIID riid,void **ppvObject) { 2652 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2653 } 2654 static FORCEINLINE ULONG IWMReaderAdvanced_AddRef(IWMReaderAdvanced* This) { 2655 return This->lpVtbl->AddRef(This); 2656 } 2657 static FORCEINLINE ULONG IWMReaderAdvanced_Release(IWMReaderAdvanced* This) { 2658 return This->lpVtbl->Release(This); 2659 } 2660 /*** IWMReaderAdvanced methods ***/ 2661 static FORCEINLINE HRESULT IWMReaderAdvanced_SetUserProvidedClock(IWMReaderAdvanced* This,WINBOOL fUserClock) { 2662 return This->lpVtbl->SetUserProvidedClock(This,fUserClock); 2663 } 2664 static FORCEINLINE HRESULT IWMReaderAdvanced_GetUserProvidedClock(IWMReaderAdvanced* This,WINBOOL *pfUserClock) { 2665 return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); 2666 } 2667 static FORCEINLINE HRESULT IWMReaderAdvanced_DeliverTime(IWMReaderAdvanced* This,QWORD cnsTime) { 2668 return This->lpVtbl->DeliverTime(This,cnsTime); 2669 } 2670 static FORCEINLINE HRESULT IWMReaderAdvanced_SetManualStreamSelection(IWMReaderAdvanced* This,WINBOOL fSelection) { 2671 return This->lpVtbl->SetManualStreamSelection(This,fSelection); 2672 } 2673 static FORCEINLINE HRESULT IWMReaderAdvanced_GetManualStreamSelection(IWMReaderAdvanced* This,WINBOOL *pfSelection) { 2674 return This->lpVtbl->GetManualStreamSelection(This,pfSelection); 2675 } 2676 static FORCEINLINE HRESULT IWMReaderAdvanced_SetStreamsSelected(IWMReaderAdvanced* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { 2677 return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); 2678 } 2679 static FORCEINLINE HRESULT IWMReaderAdvanced_GetStreamSelected(IWMReaderAdvanced* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { 2680 return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); 2681 } 2682 static FORCEINLINE HRESULT IWMReaderAdvanced_SetReceiveSelectionCallbacks(IWMReaderAdvanced* This,WINBOOL fGetCallbacks) { 2683 return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); 2684 } 2685 static FORCEINLINE HRESULT IWMReaderAdvanced_GetReceiveSelectionCallbacks(IWMReaderAdvanced* This,WINBOOL *pfGetCallbacks) { 2686 return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); 2687 } 2688 static FORCEINLINE HRESULT IWMReaderAdvanced_SetReceiveStreamSamples(IWMReaderAdvanced* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { 2689 return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); 2690 } 2691 static FORCEINLINE HRESULT IWMReaderAdvanced_GetReceiveStreamSamples(IWMReaderAdvanced* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { 2692 return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); 2693 } 2694 static FORCEINLINE HRESULT IWMReaderAdvanced_SetAllocateForOutput(IWMReaderAdvanced* This,DWORD dwOutputNum,WINBOOL fAllocate) { 2695 return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); 2696 } 2697 static FORCEINLINE HRESULT IWMReaderAdvanced_GetAllocateForOutput(IWMReaderAdvanced* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { 2698 return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); 2699 } 2700 static FORCEINLINE HRESULT IWMReaderAdvanced_SetAllocateForStream(IWMReaderAdvanced* This,WORD wStreamNum,WINBOOL fAllocate) { 2701 return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); 2702 } 2703 static FORCEINLINE HRESULT IWMReaderAdvanced_GetAllocateForStream(IWMReaderAdvanced* This,WORD dwSreamNum,WINBOOL *pfAllocate) { 2704 return This->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate); 2705 } 2706 static FORCEINLINE HRESULT IWMReaderAdvanced_GetStatistics(IWMReaderAdvanced* This,WM_READER_STATISTICS *pStatistics) { 2707 return This->lpVtbl->GetStatistics(This,pStatistics); 2708 } 2709 static FORCEINLINE HRESULT IWMReaderAdvanced_SetClientInfo(IWMReaderAdvanced* This,WM_READER_CLIENTINFO *pClientInfo) { 2710 return This->lpVtbl->SetClientInfo(This,pClientInfo); 2711 } 2712 static FORCEINLINE HRESULT IWMReaderAdvanced_GetMaxOutputSampleSize(IWMReaderAdvanced* This,DWORD dwOutput,DWORD *pcbMax) { 2713 return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); 2714 } 2715 static FORCEINLINE HRESULT IWMReaderAdvanced_GetMaxStreamSampleSize(IWMReaderAdvanced* This,WORD wStream,DWORD *pcbMax) { 2716 return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); 2717 } 2718 static FORCEINLINE HRESULT IWMReaderAdvanced_NotifyLateDelivery(IWMReaderAdvanced* This,QWORD cnsLateness) { 2719 return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); 2720 } 2721 #endif 2722 #endif 2723 2724 #endif 2725 2726 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetUserProvidedClock_Proxy( 2727 IWMReaderAdvanced* This, 2728 WINBOOL fUserClock); 2729 void __RPC_STUB IWMReaderAdvanced_SetUserProvidedClock_Stub( 2730 IRpcStubBuffer* This, 2731 IRpcChannelBuffer* pRpcChannelBuffer, 2732 PRPC_MESSAGE pRpcMessage, 2733 DWORD* pdwStubPhase); 2734 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetUserProvidedClock_Proxy( 2735 IWMReaderAdvanced* This, 2736 WINBOOL *pfUserClock); 2737 void __RPC_STUB IWMReaderAdvanced_GetUserProvidedClock_Stub( 2738 IRpcStubBuffer* This, 2739 IRpcChannelBuffer* pRpcChannelBuffer, 2740 PRPC_MESSAGE pRpcMessage, 2741 DWORD* pdwStubPhase); 2742 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_DeliverTime_Proxy( 2743 IWMReaderAdvanced* This, 2744 QWORD cnsTime); 2745 void __RPC_STUB IWMReaderAdvanced_DeliverTime_Stub( 2746 IRpcStubBuffer* This, 2747 IRpcChannelBuffer* pRpcChannelBuffer, 2748 PRPC_MESSAGE pRpcMessage, 2749 DWORD* pdwStubPhase); 2750 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetManualStreamSelection_Proxy( 2751 IWMReaderAdvanced* This, 2752 WINBOOL fSelection); 2753 void __RPC_STUB IWMReaderAdvanced_SetManualStreamSelection_Stub( 2754 IRpcStubBuffer* This, 2755 IRpcChannelBuffer* pRpcChannelBuffer, 2756 PRPC_MESSAGE pRpcMessage, 2757 DWORD* pdwStubPhase); 2758 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetManualStreamSelection_Proxy( 2759 IWMReaderAdvanced* This, 2760 WINBOOL *pfSelection); 2761 void __RPC_STUB IWMReaderAdvanced_GetManualStreamSelection_Stub( 2762 IRpcStubBuffer* This, 2763 IRpcChannelBuffer* pRpcChannelBuffer, 2764 PRPC_MESSAGE pRpcMessage, 2765 DWORD* pdwStubPhase); 2766 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetStreamsSelected_Proxy( 2767 IWMReaderAdvanced* This, 2768 WORD cStreamCount, 2769 WORD *pwStreamNumbers, 2770 WMT_STREAM_SELECTION *pSelections); 2771 void __RPC_STUB IWMReaderAdvanced_SetStreamsSelected_Stub( 2772 IRpcStubBuffer* This, 2773 IRpcChannelBuffer* pRpcChannelBuffer, 2774 PRPC_MESSAGE pRpcMessage, 2775 DWORD* pdwStubPhase); 2776 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetStreamSelected_Proxy( 2777 IWMReaderAdvanced* This, 2778 WORD wStreamNum, 2779 WMT_STREAM_SELECTION *pSelection); 2780 void __RPC_STUB IWMReaderAdvanced_GetStreamSelected_Stub( 2781 IRpcStubBuffer* This, 2782 IRpcChannelBuffer* pRpcChannelBuffer, 2783 PRPC_MESSAGE pRpcMessage, 2784 DWORD* pdwStubPhase); 2785 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetReceiveSelectionCallbacks_Proxy( 2786 IWMReaderAdvanced* This, 2787 WINBOOL fGetCallbacks); 2788 void __RPC_STUB IWMReaderAdvanced_SetReceiveSelectionCallbacks_Stub( 2789 IRpcStubBuffer* This, 2790 IRpcChannelBuffer* pRpcChannelBuffer, 2791 PRPC_MESSAGE pRpcMessage, 2792 DWORD* pdwStubPhase); 2793 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetReceiveSelectionCallbacks_Proxy( 2794 IWMReaderAdvanced* This, 2795 WINBOOL *pfGetCallbacks); 2796 void __RPC_STUB IWMReaderAdvanced_GetReceiveSelectionCallbacks_Stub( 2797 IRpcStubBuffer* This, 2798 IRpcChannelBuffer* pRpcChannelBuffer, 2799 PRPC_MESSAGE pRpcMessage, 2800 DWORD* pdwStubPhase); 2801 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetReceiveStreamSamples_Proxy( 2802 IWMReaderAdvanced* This, 2803 WORD wStreamNum, 2804 WINBOOL fReceiveStreamSamples); 2805 void __RPC_STUB IWMReaderAdvanced_SetReceiveStreamSamples_Stub( 2806 IRpcStubBuffer* This, 2807 IRpcChannelBuffer* pRpcChannelBuffer, 2808 PRPC_MESSAGE pRpcMessage, 2809 DWORD* pdwStubPhase); 2810 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetReceiveStreamSamples_Proxy( 2811 IWMReaderAdvanced* This, 2812 WORD wStreamNum, 2813 WINBOOL *pfReceiveStreamSamples); 2814 void __RPC_STUB IWMReaderAdvanced_GetReceiveStreamSamples_Stub( 2815 IRpcStubBuffer* This, 2816 IRpcChannelBuffer* pRpcChannelBuffer, 2817 PRPC_MESSAGE pRpcMessage, 2818 DWORD* pdwStubPhase); 2819 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetAllocateForOutput_Proxy( 2820 IWMReaderAdvanced* This, 2821 DWORD dwOutputNum, 2822 WINBOOL fAllocate); 2823 void __RPC_STUB IWMReaderAdvanced_SetAllocateForOutput_Stub( 2824 IRpcStubBuffer* This, 2825 IRpcChannelBuffer* pRpcChannelBuffer, 2826 PRPC_MESSAGE pRpcMessage, 2827 DWORD* pdwStubPhase); 2828 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetAllocateForOutput_Proxy( 2829 IWMReaderAdvanced* This, 2830 DWORD dwOutputNum, 2831 WINBOOL *pfAllocate); 2832 void __RPC_STUB IWMReaderAdvanced_GetAllocateForOutput_Stub( 2833 IRpcStubBuffer* This, 2834 IRpcChannelBuffer* pRpcChannelBuffer, 2835 PRPC_MESSAGE pRpcMessage, 2836 DWORD* pdwStubPhase); 2837 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetAllocateForStream_Proxy( 2838 IWMReaderAdvanced* This, 2839 WORD wStreamNum, 2840 WINBOOL fAllocate); 2841 void __RPC_STUB IWMReaderAdvanced_SetAllocateForStream_Stub( 2842 IRpcStubBuffer* This, 2843 IRpcChannelBuffer* pRpcChannelBuffer, 2844 PRPC_MESSAGE pRpcMessage, 2845 DWORD* pdwStubPhase); 2846 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetAllocateForStream_Proxy( 2847 IWMReaderAdvanced* This, 2848 WORD dwSreamNum, 2849 WINBOOL *pfAllocate); 2850 void __RPC_STUB IWMReaderAdvanced_GetAllocateForStream_Stub( 2851 IRpcStubBuffer* This, 2852 IRpcChannelBuffer* pRpcChannelBuffer, 2853 PRPC_MESSAGE pRpcMessage, 2854 DWORD* pdwStubPhase); 2855 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetStatistics_Proxy( 2856 IWMReaderAdvanced* This, 2857 WM_READER_STATISTICS *pStatistics); 2858 void __RPC_STUB IWMReaderAdvanced_GetStatistics_Stub( 2859 IRpcStubBuffer* This, 2860 IRpcChannelBuffer* pRpcChannelBuffer, 2861 PRPC_MESSAGE pRpcMessage, 2862 DWORD* pdwStubPhase); 2863 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetClientInfo_Proxy( 2864 IWMReaderAdvanced* This, 2865 WM_READER_CLIENTINFO *pClientInfo); 2866 void __RPC_STUB IWMReaderAdvanced_SetClientInfo_Stub( 2867 IRpcStubBuffer* This, 2868 IRpcChannelBuffer* pRpcChannelBuffer, 2869 PRPC_MESSAGE pRpcMessage, 2870 DWORD* pdwStubPhase); 2871 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetMaxOutputSampleSize_Proxy( 2872 IWMReaderAdvanced* This, 2873 DWORD dwOutput, 2874 DWORD *pcbMax); 2875 void __RPC_STUB IWMReaderAdvanced_GetMaxOutputSampleSize_Stub( 2876 IRpcStubBuffer* This, 2877 IRpcChannelBuffer* pRpcChannelBuffer, 2878 PRPC_MESSAGE pRpcMessage, 2879 DWORD* pdwStubPhase); 2880 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetMaxStreamSampleSize_Proxy( 2881 IWMReaderAdvanced* This, 2882 WORD wStream, 2883 DWORD *pcbMax); 2884 void __RPC_STUB IWMReaderAdvanced_GetMaxStreamSampleSize_Stub( 2885 IRpcStubBuffer* This, 2886 IRpcChannelBuffer* pRpcChannelBuffer, 2887 PRPC_MESSAGE pRpcMessage, 2888 DWORD* pdwStubPhase); 2889 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_NotifyLateDelivery_Proxy( 2890 IWMReaderAdvanced* This, 2891 QWORD cnsLateness); 2892 void __RPC_STUB IWMReaderAdvanced_NotifyLateDelivery_Stub( 2893 IRpcStubBuffer* This, 2894 IRpcChannelBuffer* pRpcChannelBuffer, 2895 PRPC_MESSAGE pRpcMessage, 2896 DWORD* pdwStubPhase); 2897 2898 #endif /* __IWMReaderAdvanced_INTERFACE_DEFINED__ */ 2899 2900 /***************************************************************************** 2901 * IWMReaderAdvanced2 interface 2902 */ 2903 #ifndef __IWMReaderAdvanced2_INTERFACE_DEFINED__ 2904 #define __IWMReaderAdvanced2_INTERFACE_DEFINED__ 2905 2906 DEFINE_GUID(IID_IWMReaderAdvanced2, 0xae14a945, 0xb90c, 0x4d0d, 0x91,0x27, 0x80,0xd6,0x65,0xf7,0xd7,0x3e); 2907 #if defined(__cplusplus) && !defined(CINTERFACE) 2908 MIDL_INTERFACE("ae14a945-b90c-4d0d-9127-80d665f7d73e") 2909 IWMReaderAdvanced2 : public IWMReaderAdvanced 2910 { 2911 virtual HRESULT STDMETHODCALLTYPE SetPlayMode( 2912 WMT_PLAY_MODE Mode) = 0; 2913 2914 virtual HRESULT STDMETHODCALLTYPE GetPlayMode( 2915 WMT_PLAY_MODE *pMode) = 0; 2916 2917 virtual HRESULT STDMETHODCALLTYPE GetBufferProgress( 2918 DWORD *pdwPercent, 2919 QWORD *pcnsBuffering) = 0; 2920 2921 virtual HRESULT STDMETHODCALLTYPE GetDownloadProgress( 2922 DWORD *pdwPercent, 2923 QWORD *pqwBytesDownloaded, 2924 QWORD *pcnsDownload) = 0; 2925 2926 virtual HRESULT STDMETHODCALLTYPE GetSaveAsProgress( 2927 DWORD *pdwPercent) = 0; 2928 2929 virtual HRESULT STDMETHODCALLTYPE SaveFileAs( 2930 const WCHAR *pwszFilename) = 0; 2931 2932 virtual HRESULT STDMETHODCALLTYPE GetProtocolName( 2933 WCHAR *pwszProtocol, 2934 DWORD *pcchProtocol) = 0; 2935 2936 virtual HRESULT STDMETHODCALLTYPE StartAtMarker( 2937 WORD wMarkerIndex, 2938 QWORD cnsDuration, 2939 float fRate, 2940 void *pvContext) = 0; 2941 2942 virtual HRESULT STDMETHODCALLTYPE GetOutputSetting( 2943 DWORD dwOutputNum, 2944 LPCWSTR pszName, 2945 WMT_ATTR_DATATYPE *pType, 2946 BYTE *pValue, 2947 WORD *pcbLength) = 0; 2948 2949 virtual HRESULT STDMETHODCALLTYPE SetOutputSetting( 2950 DWORD dwOutputNum, 2951 LPCWSTR pszName, 2952 WMT_ATTR_DATATYPE Type, 2953 const BYTE *pValue, 2954 WORD cbLength) = 0; 2955 2956 virtual HRESULT STDMETHODCALLTYPE Preroll( 2957 QWORD cnsStart, 2958 QWORD cnsDuration, 2959 float fRate) = 0; 2960 2961 virtual HRESULT STDMETHODCALLTYPE SetLogClientID( 2962 WINBOOL fLogClientID) = 0; 2963 2964 virtual HRESULT STDMETHODCALLTYPE GetLogClientID( 2965 WINBOOL *pfLogClientID) = 0; 2966 2967 virtual HRESULT STDMETHODCALLTYPE StopBuffering( 2968 ) = 0; 2969 2970 virtual HRESULT STDMETHODCALLTYPE OpenStream( 2971 IStream *pStream, 2972 IWMReaderCallback *pCallback, 2973 void *pvContext) = 0; 2974 2975 }; 2976 #ifdef __CRT_UUID_DECL 2977 __CRT_UUID_DECL(IWMReaderAdvanced2, 0xae14a945, 0xb90c, 0x4d0d, 0x91,0x27, 0x80,0xd6,0x65,0xf7,0xd7,0x3e) 2978 #endif 2979 #else 2980 typedef struct IWMReaderAdvanced2Vtbl { 2981 BEGIN_INTERFACE 2982 2983 /*** IUnknown methods ***/ 2984 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2985 IWMReaderAdvanced2* This, 2986 REFIID riid, 2987 void **ppvObject); 2988 2989 ULONG (STDMETHODCALLTYPE *AddRef)( 2990 IWMReaderAdvanced2* This); 2991 2992 ULONG (STDMETHODCALLTYPE *Release)( 2993 IWMReaderAdvanced2* This); 2994 2995 /*** IWMReaderAdvanced methods ***/ 2996 HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( 2997 IWMReaderAdvanced2* This, 2998 WINBOOL fUserClock); 2999 3000 HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( 3001 IWMReaderAdvanced2* This, 3002 WINBOOL *pfUserClock); 3003 3004 HRESULT (STDMETHODCALLTYPE *DeliverTime)( 3005 IWMReaderAdvanced2* This, 3006 QWORD cnsTime); 3007 3008 HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( 3009 IWMReaderAdvanced2* This, 3010 WINBOOL fSelection); 3011 3012 HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( 3013 IWMReaderAdvanced2* This, 3014 WINBOOL *pfSelection); 3015 3016 HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( 3017 IWMReaderAdvanced2* This, 3018 WORD cStreamCount, 3019 WORD *pwStreamNumbers, 3020 WMT_STREAM_SELECTION *pSelections); 3021 3022 HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( 3023 IWMReaderAdvanced2* This, 3024 WORD wStreamNum, 3025 WMT_STREAM_SELECTION *pSelection); 3026 3027 HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( 3028 IWMReaderAdvanced2* This, 3029 WINBOOL fGetCallbacks); 3030 3031 HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( 3032 IWMReaderAdvanced2* This, 3033 WINBOOL *pfGetCallbacks); 3034 3035 HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( 3036 IWMReaderAdvanced2* This, 3037 WORD wStreamNum, 3038 WINBOOL fReceiveStreamSamples); 3039 3040 HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( 3041 IWMReaderAdvanced2* This, 3042 WORD wStreamNum, 3043 WINBOOL *pfReceiveStreamSamples); 3044 3045 HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( 3046 IWMReaderAdvanced2* This, 3047 DWORD dwOutputNum, 3048 WINBOOL fAllocate); 3049 3050 HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( 3051 IWMReaderAdvanced2* This, 3052 DWORD dwOutputNum, 3053 WINBOOL *pfAllocate); 3054 3055 HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( 3056 IWMReaderAdvanced2* This, 3057 WORD wStreamNum, 3058 WINBOOL fAllocate); 3059 3060 HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( 3061 IWMReaderAdvanced2* This, 3062 WORD dwSreamNum, 3063 WINBOOL *pfAllocate); 3064 3065 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 3066 IWMReaderAdvanced2* This, 3067 WM_READER_STATISTICS *pStatistics); 3068 3069 HRESULT (STDMETHODCALLTYPE *SetClientInfo)( 3070 IWMReaderAdvanced2* This, 3071 WM_READER_CLIENTINFO *pClientInfo); 3072 3073 HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( 3074 IWMReaderAdvanced2* This, 3075 DWORD dwOutput, 3076 DWORD *pcbMax); 3077 3078 HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( 3079 IWMReaderAdvanced2* This, 3080 WORD wStream, 3081 DWORD *pcbMax); 3082 3083 HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( 3084 IWMReaderAdvanced2* This, 3085 QWORD cnsLateness); 3086 3087 /*** IWMReaderAdvanced2 methods ***/ 3088 HRESULT (STDMETHODCALLTYPE *SetPlayMode)( 3089 IWMReaderAdvanced2* This, 3090 WMT_PLAY_MODE Mode); 3091 3092 HRESULT (STDMETHODCALLTYPE *GetPlayMode)( 3093 IWMReaderAdvanced2* This, 3094 WMT_PLAY_MODE *pMode); 3095 3096 HRESULT (STDMETHODCALLTYPE *GetBufferProgress)( 3097 IWMReaderAdvanced2* This, 3098 DWORD *pdwPercent, 3099 QWORD *pcnsBuffering); 3100 3101 HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)( 3102 IWMReaderAdvanced2* This, 3103 DWORD *pdwPercent, 3104 QWORD *pqwBytesDownloaded, 3105 QWORD *pcnsDownload); 3106 3107 HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)( 3108 IWMReaderAdvanced2* This, 3109 DWORD *pdwPercent); 3110 3111 HRESULT (STDMETHODCALLTYPE *SaveFileAs)( 3112 IWMReaderAdvanced2* This, 3113 const WCHAR *pwszFilename); 3114 3115 HRESULT (STDMETHODCALLTYPE *GetProtocolName)( 3116 IWMReaderAdvanced2* This, 3117 WCHAR *pwszProtocol, 3118 DWORD *pcchProtocol); 3119 3120 HRESULT (STDMETHODCALLTYPE *StartAtMarker)( 3121 IWMReaderAdvanced2* This, 3122 WORD wMarkerIndex, 3123 QWORD cnsDuration, 3124 float fRate, 3125 void *pvContext); 3126 3127 HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( 3128 IWMReaderAdvanced2* This, 3129 DWORD dwOutputNum, 3130 LPCWSTR pszName, 3131 WMT_ATTR_DATATYPE *pType, 3132 BYTE *pValue, 3133 WORD *pcbLength); 3134 3135 HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( 3136 IWMReaderAdvanced2* This, 3137 DWORD dwOutputNum, 3138 LPCWSTR pszName, 3139 WMT_ATTR_DATATYPE Type, 3140 const BYTE *pValue, 3141 WORD cbLength); 3142 3143 HRESULT (STDMETHODCALLTYPE *Preroll)( 3144 IWMReaderAdvanced2* This, 3145 QWORD cnsStart, 3146 QWORD cnsDuration, 3147 float fRate); 3148 3149 HRESULT (STDMETHODCALLTYPE *SetLogClientID)( 3150 IWMReaderAdvanced2* This, 3151 WINBOOL fLogClientID); 3152 3153 HRESULT (STDMETHODCALLTYPE *GetLogClientID)( 3154 IWMReaderAdvanced2* This, 3155 WINBOOL *pfLogClientID); 3156 3157 HRESULT (STDMETHODCALLTYPE *StopBuffering)( 3158 IWMReaderAdvanced2* This); 3159 3160 HRESULT (STDMETHODCALLTYPE *OpenStream)( 3161 IWMReaderAdvanced2* This, 3162 IStream *pStream, 3163 IWMReaderCallback *pCallback, 3164 void *pvContext); 3165 3166 END_INTERFACE 3167 } IWMReaderAdvanced2Vtbl; 3168 interface IWMReaderAdvanced2 { 3169 CONST_VTBL IWMReaderAdvanced2Vtbl* lpVtbl; 3170 }; 3171 3172 #ifdef COBJMACROS 3173 #ifndef WIDL_C_INLINE_WRAPPERS 3174 /*** IUnknown methods ***/ 3175 #define IWMReaderAdvanced2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3176 #define IWMReaderAdvanced2_AddRef(This) (This)->lpVtbl->AddRef(This) 3177 #define IWMReaderAdvanced2_Release(This) (This)->lpVtbl->Release(This) 3178 /*** IWMReaderAdvanced methods ***/ 3179 #define IWMReaderAdvanced2_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) 3180 #define IWMReaderAdvanced2_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) 3181 #define IWMReaderAdvanced2_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) 3182 #define IWMReaderAdvanced2_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) 3183 #define IWMReaderAdvanced2_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) 3184 #define IWMReaderAdvanced2_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) 3185 #define IWMReaderAdvanced2_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) 3186 #define IWMReaderAdvanced2_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) 3187 #define IWMReaderAdvanced2_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) 3188 #define IWMReaderAdvanced2_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) 3189 #define IWMReaderAdvanced2_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) 3190 #define IWMReaderAdvanced2_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) 3191 #define IWMReaderAdvanced2_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) 3192 #define IWMReaderAdvanced2_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) 3193 #define IWMReaderAdvanced2_GetAllocateForStream(This,dwSreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate) 3194 #define IWMReaderAdvanced2_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) 3195 #define IWMReaderAdvanced2_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) 3196 #define IWMReaderAdvanced2_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) 3197 #define IWMReaderAdvanced2_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) 3198 #define IWMReaderAdvanced2_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) 3199 /*** IWMReaderAdvanced2 methods ***/ 3200 #define IWMReaderAdvanced2_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode) 3201 #define IWMReaderAdvanced2_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode) 3202 #define IWMReaderAdvanced2_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering) 3203 #define IWMReaderAdvanced2_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) 3204 #define IWMReaderAdvanced2_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent) 3205 #define IWMReaderAdvanced2_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename) 3206 #define IWMReaderAdvanced2_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol) 3207 #define IWMReaderAdvanced2_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) 3208 #define IWMReaderAdvanced2_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) 3209 #define IWMReaderAdvanced2_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) 3210 #define IWMReaderAdvanced2_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate) 3211 #define IWMReaderAdvanced2_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID) 3212 #define IWMReaderAdvanced2_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID) 3213 #define IWMReaderAdvanced2_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) 3214 #define IWMReaderAdvanced2_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext) 3215 #else 3216 /*** IUnknown methods ***/ 3217 static FORCEINLINE HRESULT IWMReaderAdvanced2_QueryInterface(IWMReaderAdvanced2* This,REFIID riid,void **ppvObject) { 3218 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3219 } 3220 static FORCEINLINE ULONG IWMReaderAdvanced2_AddRef(IWMReaderAdvanced2* This) { 3221 return This->lpVtbl->AddRef(This); 3222 } 3223 static FORCEINLINE ULONG IWMReaderAdvanced2_Release(IWMReaderAdvanced2* This) { 3224 return This->lpVtbl->Release(This); 3225 } 3226 /*** IWMReaderAdvanced methods ***/ 3227 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetUserProvidedClock(IWMReaderAdvanced2* This,WINBOOL fUserClock) { 3228 return This->lpVtbl->SetUserProvidedClock(This,fUserClock); 3229 } 3230 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetUserProvidedClock(IWMReaderAdvanced2* This,WINBOOL *pfUserClock) { 3231 return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); 3232 } 3233 static FORCEINLINE HRESULT IWMReaderAdvanced2_DeliverTime(IWMReaderAdvanced2* This,QWORD cnsTime) { 3234 return This->lpVtbl->DeliverTime(This,cnsTime); 3235 } 3236 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetManualStreamSelection(IWMReaderAdvanced2* This,WINBOOL fSelection) { 3237 return This->lpVtbl->SetManualStreamSelection(This,fSelection); 3238 } 3239 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetManualStreamSelection(IWMReaderAdvanced2* This,WINBOOL *pfSelection) { 3240 return This->lpVtbl->GetManualStreamSelection(This,pfSelection); 3241 } 3242 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetStreamsSelected(IWMReaderAdvanced2* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { 3243 return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); 3244 } 3245 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetStreamSelected(IWMReaderAdvanced2* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { 3246 return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); 3247 } 3248 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetReceiveSelectionCallbacks(IWMReaderAdvanced2* This,WINBOOL fGetCallbacks) { 3249 return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); 3250 } 3251 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetReceiveSelectionCallbacks(IWMReaderAdvanced2* This,WINBOOL *pfGetCallbacks) { 3252 return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); 3253 } 3254 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetReceiveStreamSamples(IWMReaderAdvanced2* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { 3255 return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); 3256 } 3257 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetReceiveStreamSamples(IWMReaderAdvanced2* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { 3258 return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); 3259 } 3260 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetAllocateForOutput(IWMReaderAdvanced2* This,DWORD dwOutputNum,WINBOOL fAllocate) { 3261 return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); 3262 } 3263 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetAllocateForOutput(IWMReaderAdvanced2* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { 3264 return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); 3265 } 3266 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetAllocateForStream(IWMReaderAdvanced2* This,WORD wStreamNum,WINBOOL fAllocate) { 3267 return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); 3268 } 3269 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetAllocateForStream(IWMReaderAdvanced2* This,WORD dwSreamNum,WINBOOL *pfAllocate) { 3270 return This->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate); 3271 } 3272 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetStatistics(IWMReaderAdvanced2* This,WM_READER_STATISTICS *pStatistics) { 3273 return This->lpVtbl->GetStatistics(This,pStatistics); 3274 } 3275 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetClientInfo(IWMReaderAdvanced2* This,WM_READER_CLIENTINFO *pClientInfo) { 3276 return This->lpVtbl->SetClientInfo(This,pClientInfo); 3277 } 3278 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetMaxOutputSampleSize(IWMReaderAdvanced2* This,DWORD dwOutput,DWORD *pcbMax) { 3279 return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); 3280 } 3281 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetMaxStreamSampleSize(IWMReaderAdvanced2* This,WORD wStream,DWORD *pcbMax) { 3282 return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); 3283 } 3284 static FORCEINLINE HRESULT IWMReaderAdvanced2_NotifyLateDelivery(IWMReaderAdvanced2* This,QWORD cnsLateness) { 3285 return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); 3286 } 3287 /*** IWMReaderAdvanced2 methods ***/ 3288 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetPlayMode(IWMReaderAdvanced2* This,WMT_PLAY_MODE Mode) { 3289 return This->lpVtbl->SetPlayMode(This,Mode); 3290 } 3291 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetPlayMode(IWMReaderAdvanced2* This,WMT_PLAY_MODE *pMode) { 3292 return This->lpVtbl->GetPlayMode(This,pMode); 3293 } 3294 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetBufferProgress(IWMReaderAdvanced2* This,DWORD *pdwPercent,QWORD *pcnsBuffering) { 3295 return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering); 3296 } 3297 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetDownloadProgress(IWMReaderAdvanced2* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) { 3298 return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload); 3299 } 3300 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetSaveAsProgress(IWMReaderAdvanced2* This,DWORD *pdwPercent) { 3301 return This->lpVtbl->GetSaveAsProgress(This,pdwPercent); 3302 } 3303 static FORCEINLINE HRESULT IWMReaderAdvanced2_SaveFileAs(IWMReaderAdvanced2* This,const WCHAR *pwszFilename) { 3304 return This->lpVtbl->SaveFileAs(This,pwszFilename); 3305 } 3306 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetProtocolName(IWMReaderAdvanced2* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) { 3307 return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol); 3308 } 3309 static FORCEINLINE HRESULT IWMReaderAdvanced2_StartAtMarker(IWMReaderAdvanced2* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) { 3310 return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext); 3311 } 3312 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetOutputSetting(IWMReaderAdvanced2* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { 3313 return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); 3314 } 3315 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetOutputSetting(IWMReaderAdvanced2* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { 3316 return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); 3317 } 3318 static FORCEINLINE HRESULT IWMReaderAdvanced2_Preroll(IWMReaderAdvanced2* This,QWORD cnsStart,QWORD cnsDuration,float fRate) { 3319 return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate); 3320 } 3321 static FORCEINLINE HRESULT IWMReaderAdvanced2_SetLogClientID(IWMReaderAdvanced2* This,WINBOOL fLogClientID) { 3322 return This->lpVtbl->SetLogClientID(This,fLogClientID); 3323 } 3324 static FORCEINLINE HRESULT IWMReaderAdvanced2_GetLogClientID(IWMReaderAdvanced2* This,WINBOOL *pfLogClientID) { 3325 return This->lpVtbl->GetLogClientID(This,pfLogClientID); 3326 } 3327 static FORCEINLINE HRESULT IWMReaderAdvanced2_StopBuffering(IWMReaderAdvanced2* This) { 3328 return This->lpVtbl->StopBuffering(This); 3329 } 3330 static FORCEINLINE HRESULT IWMReaderAdvanced2_OpenStream(IWMReaderAdvanced2* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) { 3331 return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext); 3332 } 3333 #endif 3334 #endif 3335 3336 #endif 3337 3338 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetPlayMode_Proxy( 3339 IWMReaderAdvanced2* This, 3340 WMT_PLAY_MODE Mode); 3341 void __RPC_STUB IWMReaderAdvanced2_SetPlayMode_Stub( 3342 IRpcStubBuffer* This, 3343 IRpcChannelBuffer* pRpcChannelBuffer, 3344 PRPC_MESSAGE pRpcMessage, 3345 DWORD* pdwStubPhase); 3346 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetPlayMode_Proxy( 3347 IWMReaderAdvanced2* This, 3348 WMT_PLAY_MODE *pMode); 3349 void __RPC_STUB IWMReaderAdvanced2_GetPlayMode_Stub( 3350 IRpcStubBuffer* This, 3351 IRpcChannelBuffer* pRpcChannelBuffer, 3352 PRPC_MESSAGE pRpcMessage, 3353 DWORD* pdwStubPhase); 3354 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetBufferProgress_Proxy( 3355 IWMReaderAdvanced2* This, 3356 DWORD *pdwPercent, 3357 QWORD *pcnsBuffering); 3358 void __RPC_STUB IWMReaderAdvanced2_GetBufferProgress_Stub( 3359 IRpcStubBuffer* This, 3360 IRpcChannelBuffer* pRpcChannelBuffer, 3361 PRPC_MESSAGE pRpcMessage, 3362 DWORD* pdwStubPhase); 3363 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetDownloadProgress_Proxy( 3364 IWMReaderAdvanced2* This, 3365 DWORD *pdwPercent, 3366 QWORD *pqwBytesDownloaded, 3367 QWORD *pcnsDownload); 3368 void __RPC_STUB IWMReaderAdvanced2_GetDownloadProgress_Stub( 3369 IRpcStubBuffer* This, 3370 IRpcChannelBuffer* pRpcChannelBuffer, 3371 PRPC_MESSAGE pRpcMessage, 3372 DWORD* pdwStubPhase); 3373 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetSaveAsProgress_Proxy( 3374 IWMReaderAdvanced2* This, 3375 DWORD *pdwPercent); 3376 void __RPC_STUB IWMReaderAdvanced2_GetSaveAsProgress_Stub( 3377 IRpcStubBuffer* This, 3378 IRpcChannelBuffer* pRpcChannelBuffer, 3379 PRPC_MESSAGE pRpcMessage, 3380 DWORD* pdwStubPhase); 3381 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SaveFileAs_Proxy( 3382 IWMReaderAdvanced2* This, 3383 const WCHAR *pwszFilename); 3384 void __RPC_STUB IWMReaderAdvanced2_SaveFileAs_Stub( 3385 IRpcStubBuffer* This, 3386 IRpcChannelBuffer* pRpcChannelBuffer, 3387 PRPC_MESSAGE pRpcMessage, 3388 DWORD* pdwStubPhase); 3389 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetProtocolName_Proxy( 3390 IWMReaderAdvanced2* This, 3391 WCHAR *pwszProtocol, 3392 DWORD *pcchProtocol); 3393 void __RPC_STUB IWMReaderAdvanced2_GetProtocolName_Stub( 3394 IRpcStubBuffer* This, 3395 IRpcChannelBuffer* pRpcChannelBuffer, 3396 PRPC_MESSAGE pRpcMessage, 3397 DWORD* pdwStubPhase); 3398 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_StartAtMarker_Proxy( 3399 IWMReaderAdvanced2* This, 3400 WORD wMarkerIndex, 3401 QWORD cnsDuration, 3402 float fRate, 3403 void *pvContext); 3404 void __RPC_STUB IWMReaderAdvanced2_StartAtMarker_Stub( 3405 IRpcStubBuffer* This, 3406 IRpcChannelBuffer* pRpcChannelBuffer, 3407 PRPC_MESSAGE pRpcMessage, 3408 DWORD* pdwStubPhase); 3409 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetOutputSetting_Proxy( 3410 IWMReaderAdvanced2* This, 3411 DWORD dwOutputNum, 3412 LPCWSTR pszName, 3413 WMT_ATTR_DATATYPE *pType, 3414 BYTE *pValue, 3415 WORD *pcbLength); 3416 void __RPC_STUB IWMReaderAdvanced2_GetOutputSetting_Stub( 3417 IRpcStubBuffer* This, 3418 IRpcChannelBuffer* pRpcChannelBuffer, 3419 PRPC_MESSAGE pRpcMessage, 3420 DWORD* pdwStubPhase); 3421 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetOutputSetting_Proxy( 3422 IWMReaderAdvanced2* This, 3423 DWORD dwOutputNum, 3424 LPCWSTR pszName, 3425 WMT_ATTR_DATATYPE Type, 3426 const BYTE *pValue, 3427 WORD cbLength); 3428 void __RPC_STUB IWMReaderAdvanced2_SetOutputSetting_Stub( 3429 IRpcStubBuffer* This, 3430 IRpcChannelBuffer* pRpcChannelBuffer, 3431 PRPC_MESSAGE pRpcMessage, 3432 DWORD* pdwStubPhase); 3433 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_Preroll_Proxy( 3434 IWMReaderAdvanced2* This, 3435 QWORD cnsStart, 3436 QWORD cnsDuration, 3437 float fRate); 3438 void __RPC_STUB IWMReaderAdvanced2_Preroll_Stub( 3439 IRpcStubBuffer* This, 3440 IRpcChannelBuffer* pRpcChannelBuffer, 3441 PRPC_MESSAGE pRpcMessage, 3442 DWORD* pdwStubPhase); 3443 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetLogClientID_Proxy( 3444 IWMReaderAdvanced2* This, 3445 WINBOOL fLogClientID); 3446 void __RPC_STUB IWMReaderAdvanced2_SetLogClientID_Stub( 3447 IRpcStubBuffer* This, 3448 IRpcChannelBuffer* pRpcChannelBuffer, 3449 PRPC_MESSAGE pRpcMessage, 3450 DWORD* pdwStubPhase); 3451 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetLogClientID_Proxy( 3452 IWMReaderAdvanced2* This, 3453 WINBOOL *pfLogClientID); 3454 void __RPC_STUB IWMReaderAdvanced2_GetLogClientID_Stub( 3455 IRpcStubBuffer* This, 3456 IRpcChannelBuffer* pRpcChannelBuffer, 3457 PRPC_MESSAGE pRpcMessage, 3458 DWORD* pdwStubPhase); 3459 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_StopBuffering_Proxy( 3460 IWMReaderAdvanced2* This); 3461 void __RPC_STUB IWMReaderAdvanced2_StopBuffering_Stub( 3462 IRpcStubBuffer* This, 3463 IRpcChannelBuffer* pRpcChannelBuffer, 3464 PRPC_MESSAGE pRpcMessage, 3465 DWORD* pdwStubPhase); 3466 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_OpenStream_Proxy( 3467 IWMReaderAdvanced2* This, 3468 IStream *pStream, 3469 IWMReaderCallback *pCallback, 3470 void *pvContext); 3471 void __RPC_STUB IWMReaderAdvanced2_OpenStream_Stub( 3472 IRpcStubBuffer* This, 3473 IRpcChannelBuffer* pRpcChannelBuffer, 3474 PRPC_MESSAGE pRpcMessage, 3475 DWORD* pdwStubPhase); 3476 3477 #endif /* __IWMReaderAdvanced2_INTERFACE_DEFINED__ */ 3478 3479 /***************************************************************************** 3480 * IWMReaderAdvanced3 interface 3481 */ 3482 #ifndef __IWMReaderAdvanced3_INTERFACE_DEFINED__ 3483 #define __IWMReaderAdvanced3_INTERFACE_DEFINED__ 3484 3485 DEFINE_GUID(IID_IWMReaderAdvanced3, 0x5dc0674b, 0xf04b, 0x4a4e, 0x9f,0x2a, 0xb1,0xaf,0xde,0x2c,0x81,0x00); 3486 #if defined(__cplusplus) && !defined(CINTERFACE) 3487 MIDL_INTERFACE("5dc0674b-f04b-4a4e-9f2a-b1afde2c8100") 3488 IWMReaderAdvanced3 : public IWMReaderAdvanced2 3489 { 3490 virtual HRESULT STDMETHODCALLTYPE StopNetStreaming( 3491 ) = 0; 3492 3493 virtual HRESULT STDMETHODCALLTYPE StartAtPosition( 3494 WORD wStreamNum, 3495 void *pvOffsetStart, 3496 void *pvDuration, 3497 WMT_OFFSET_FORMAT dwOffsetFormat, 3498 float fRate, 3499 void *pvContext) = 0; 3500 3501 }; 3502 #ifdef __CRT_UUID_DECL 3503 __CRT_UUID_DECL(IWMReaderAdvanced3, 0x5dc0674b, 0xf04b, 0x4a4e, 0x9f,0x2a, 0xb1,0xaf,0xde,0x2c,0x81,0x00) 3504 #endif 3505 #else 3506 typedef struct IWMReaderAdvanced3Vtbl { 3507 BEGIN_INTERFACE 3508 3509 /*** IUnknown methods ***/ 3510 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3511 IWMReaderAdvanced3* This, 3512 REFIID riid, 3513 void **ppvObject); 3514 3515 ULONG (STDMETHODCALLTYPE *AddRef)( 3516 IWMReaderAdvanced3* This); 3517 3518 ULONG (STDMETHODCALLTYPE *Release)( 3519 IWMReaderAdvanced3* This); 3520 3521 /*** IWMReaderAdvanced methods ***/ 3522 HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( 3523 IWMReaderAdvanced3* This, 3524 WINBOOL fUserClock); 3525 3526 HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( 3527 IWMReaderAdvanced3* This, 3528 WINBOOL *pfUserClock); 3529 3530 HRESULT (STDMETHODCALLTYPE *DeliverTime)( 3531 IWMReaderAdvanced3* This, 3532 QWORD cnsTime); 3533 3534 HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( 3535 IWMReaderAdvanced3* This, 3536 WINBOOL fSelection); 3537 3538 HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( 3539 IWMReaderAdvanced3* This, 3540 WINBOOL *pfSelection); 3541 3542 HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( 3543 IWMReaderAdvanced3* This, 3544 WORD cStreamCount, 3545 WORD *pwStreamNumbers, 3546 WMT_STREAM_SELECTION *pSelections); 3547 3548 HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( 3549 IWMReaderAdvanced3* This, 3550 WORD wStreamNum, 3551 WMT_STREAM_SELECTION *pSelection); 3552 3553 HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( 3554 IWMReaderAdvanced3* This, 3555 WINBOOL fGetCallbacks); 3556 3557 HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( 3558 IWMReaderAdvanced3* This, 3559 WINBOOL *pfGetCallbacks); 3560 3561 HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( 3562 IWMReaderAdvanced3* This, 3563 WORD wStreamNum, 3564 WINBOOL fReceiveStreamSamples); 3565 3566 HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( 3567 IWMReaderAdvanced3* This, 3568 WORD wStreamNum, 3569 WINBOOL *pfReceiveStreamSamples); 3570 3571 HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( 3572 IWMReaderAdvanced3* This, 3573 DWORD dwOutputNum, 3574 WINBOOL fAllocate); 3575 3576 HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( 3577 IWMReaderAdvanced3* This, 3578 DWORD dwOutputNum, 3579 WINBOOL *pfAllocate); 3580 3581 HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( 3582 IWMReaderAdvanced3* This, 3583 WORD wStreamNum, 3584 WINBOOL fAllocate); 3585 3586 HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( 3587 IWMReaderAdvanced3* This, 3588 WORD dwSreamNum, 3589 WINBOOL *pfAllocate); 3590 3591 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 3592 IWMReaderAdvanced3* This, 3593 WM_READER_STATISTICS *pStatistics); 3594 3595 HRESULT (STDMETHODCALLTYPE *SetClientInfo)( 3596 IWMReaderAdvanced3* This, 3597 WM_READER_CLIENTINFO *pClientInfo); 3598 3599 HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( 3600 IWMReaderAdvanced3* This, 3601 DWORD dwOutput, 3602 DWORD *pcbMax); 3603 3604 HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( 3605 IWMReaderAdvanced3* This, 3606 WORD wStream, 3607 DWORD *pcbMax); 3608 3609 HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( 3610 IWMReaderAdvanced3* This, 3611 QWORD cnsLateness); 3612 3613 /*** IWMReaderAdvanced2 methods ***/ 3614 HRESULT (STDMETHODCALLTYPE *SetPlayMode)( 3615 IWMReaderAdvanced3* This, 3616 WMT_PLAY_MODE Mode); 3617 3618 HRESULT (STDMETHODCALLTYPE *GetPlayMode)( 3619 IWMReaderAdvanced3* This, 3620 WMT_PLAY_MODE *pMode); 3621 3622 HRESULT (STDMETHODCALLTYPE *GetBufferProgress)( 3623 IWMReaderAdvanced3* This, 3624 DWORD *pdwPercent, 3625 QWORD *pcnsBuffering); 3626 3627 HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)( 3628 IWMReaderAdvanced3* This, 3629 DWORD *pdwPercent, 3630 QWORD *pqwBytesDownloaded, 3631 QWORD *pcnsDownload); 3632 3633 HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)( 3634 IWMReaderAdvanced3* This, 3635 DWORD *pdwPercent); 3636 3637 HRESULT (STDMETHODCALLTYPE *SaveFileAs)( 3638 IWMReaderAdvanced3* This, 3639 const WCHAR *pwszFilename); 3640 3641 HRESULT (STDMETHODCALLTYPE *GetProtocolName)( 3642 IWMReaderAdvanced3* This, 3643 WCHAR *pwszProtocol, 3644 DWORD *pcchProtocol); 3645 3646 HRESULT (STDMETHODCALLTYPE *StartAtMarker)( 3647 IWMReaderAdvanced3* This, 3648 WORD wMarkerIndex, 3649 QWORD cnsDuration, 3650 float fRate, 3651 void *pvContext); 3652 3653 HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( 3654 IWMReaderAdvanced3* This, 3655 DWORD dwOutputNum, 3656 LPCWSTR pszName, 3657 WMT_ATTR_DATATYPE *pType, 3658 BYTE *pValue, 3659 WORD *pcbLength); 3660 3661 HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( 3662 IWMReaderAdvanced3* This, 3663 DWORD dwOutputNum, 3664 LPCWSTR pszName, 3665 WMT_ATTR_DATATYPE Type, 3666 const BYTE *pValue, 3667 WORD cbLength); 3668 3669 HRESULT (STDMETHODCALLTYPE *Preroll)( 3670 IWMReaderAdvanced3* This, 3671 QWORD cnsStart, 3672 QWORD cnsDuration, 3673 float fRate); 3674 3675 HRESULT (STDMETHODCALLTYPE *SetLogClientID)( 3676 IWMReaderAdvanced3* This, 3677 WINBOOL fLogClientID); 3678 3679 HRESULT (STDMETHODCALLTYPE *GetLogClientID)( 3680 IWMReaderAdvanced3* This, 3681 WINBOOL *pfLogClientID); 3682 3683 HRESULT (STDMETHODCALLTYPE *StopBuffering)( 3684 IWMReaderAdvanced3* This); 3685 3686 HRESULT (STDMETHODCALLTYPE *OpenStream)( 3687 IWMReaderAdvanced3* This, 3688 IStream *pStream, 3689 IWMReaderCallback *pCallback, 3690 void *pvContext); 3691 3692 /*** IWMReaderAdvanced3 methods ***/ 3693 HRESULT (STDMETHODCALLTYPE *StopNetStreaming)( 3694 IWMReaderAdvanced3* This); 3695 3696 HRESULT (STDMETHODCALLTYPE *StartAtPosition)( 3697 IWMReaderAdvanced3* This, 3698 WORD wStreamNum, 3699 void *pvOffsetStart, 3700 void *pvDuration, 3701 WMT_OFFSET_FORMAT dwOffsetFormat, 3702 float fRate, 3703 void *pvContext); 3704 3705 END_INTERFACE 3706 } IWMReaderAdvanced3Vtbl; 3707 interface IWMReaderAdvanced3 { 3708 CONST_VTBL IWMReaderAdvanced3Vtbl* lpVtbl; 3709 }; 3710 3711 #ifdef COBJMACROS 3712 #ifndef WIDL_C_INLINE_WRAPPERS 3713 /*** IUnknown methods ***/ 3714 #define IWMReaderAdvanced3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3715 #define IWMReaderAdvanced3_AddRef(This) (This)->lpVtbl->AddRef(This) 3716 #define IWMReaderAdvanced3_Release(This) (This)->lpVtbl->Release(This) 3717 /*** IWMReaderAdvanced methods ***/ 3718 #define IWMReaderAdvanced3_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) 3719 #define IWMReaderAdvanced3_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) 3720 #define IWMReaderAdvanced3_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) 3721 #define IWMReaderAdvanced3_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) 3722 #define IWMReaderAdvanced3_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) 3723 #define IWMReaderAdvanced3_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) 3724 #define IWMReaderAdvanced3_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) 3725 #define IWMReaderAdvanced3_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) 3726 #define IWMReaderAdvanced3_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) 3727 #define IWMReaderAdvanced3_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) 3728 #define IWMReaderAdvanced3_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) 3729 #define IWMReaderAdvanced3_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) 3730 #define IWMReaderAdvanced3_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) 3731 #define IWMReaderAdvanced3_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) 3732 #define IWMReaderAdvanced3_GetAllocateForStream(This,dwSreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate) 3733 #define IWMReaderAdvanced3_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) 3734 #define IWMReaderAdvanced3_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) 3735 #define IWMReaderAdvanced3_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) 3736 #define IWMReaderAdvanced3_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) 3737 #define IWMReaderAdvanced3_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) 3738 /*** IWMReaderAdvanced2 methods ***/ 3739 #define IWMReaderAdvanced3_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode) 3740 #define IWMReaderAdvanced3_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode) 3741 #define IWMReaderAdvanced3_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering) 3742 #define IWMReaderAdvanced3_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) 3743 #define IWMReaderAdvanced3_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent) 3744 #define IWMReaderAdvanced3_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename) 3745 #define IWMReaderAdvanced3_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol) 3746 #define IWMReaderAdvanced3_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) 3747 #define IWMReaderAdvanced3_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) 3748 #define IWMReaderAdvanced3_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) 3749 #define IWMReaderAdvanced3_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate) 3750 #define IWMReaderAdvanced3_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID) 3751 #define IWMReaderAdvanced3_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID) 3752 #define IWMReaderAdvanced3_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) 3753 #define IWMReaderAdvanced3_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext) 3754 /*** IWMReaderAdvanced3 methods ***/ 3755 #define IWMReaderAdvanced3_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This) 3756 #define IWMReaderAdvanced3_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) 3757 #else 3758 /*** IUnknown methods ***/ 3759 static FORCEINLINE HRESULT IWMReaderAdvanced3_QueryInterface(IWMReaderAdvanced3* This,REFIID riid,void **ppvObject) { 3760 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3761 } 3762 static FORCEINLINE ULONG IWMReaderAdvanced3_AddRef(IWMReaderAdvanced3* This) { 3763 return This->lpVtbl->AddRef(This); 3764 } 3765 static FORCEINLINE ULONG IWMReaderAdvanced3_Release(IWMReaderAdvanced3* This) { 3766 return This->lpVtbl->Release(This); 3767 } 3768 /*** IWMReaderAdvanced methods ***/ 3769 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetUserProvidedClock(IWMReaderAdvanced3* This,WINBOOL fUserClock) { 3770 return This->lpVtbl->SetUserProvidedClock(This,fUserClock); 3771 } 3772 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetUserProvidedClock(IWMReaderAdvanced3* This,WINBOOL *pfUserClock) { 3773 return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); 3774 } 3775 static FORCEINLINE HRESULT IWMReaderAdvanced3_DeliverTime(IWMReaderAdvanced3* This,QWORD cnsTime) { 3776 return This->lpVtbl->DeliverTime(This,cnsTime); 3777 } 3778 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetManualStreamSelection(IWMReaderAdvanced3* This,WINBOOL fSelection) { 3779 return This->lpVtbl->SetManualStreamSelection(This,fSelection); 3780 } 3781 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetManualStreamSelection(IWMReaderAdvanced3* This,WINBOOL *pfSelection) { 3782 return This->lpVtbl->GetManualStreamSelection(This,pfSelection); 3783 } 3784 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetStreamsSelected(IWMReaderAdvanced3* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { 3785 return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); 3786 } 3787 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetStreamSelected(IWMReaderAdvanced3* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { 3788 return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); 3789 } 3790 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetReceiveSelectionCallbacks(IWMReaderAdvanced3* This,WINBOOL fGetCallbacks) { 3791 return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); 3792 } 3793 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetReceiveSelectionCallbacks(IWMReaderAdvanced3* This,WINBOOL *pfGetCallbacks) { 3794 return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); 3795 } 3796 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetReceiveStreamSamples(IWMReaderAdvanced3* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { 3797 return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); 3798 } 3799 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetReceiveStreamSamples(IWMReaderAdvanced3* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { 3800 return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); 3801 } 3802 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetAllocateForOutput(IWMReaderAdvanced3* This,DWORD dwOutputNum,WINBOOL fAllocate) { 3803 return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); 3804 } 3805 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetAllocateForOutput(IWMReaderAdvanced3* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { 3806 return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); 3807 } 3808 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetAllocateForStream(IWMReaderAdvanced3* This,WORD wStreamNum,WINBOOL fAllocate) { 3809 return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); 3810 } 3811 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetAllocateForStream(IWMReaderAdvanced3* This,WORD dwSreamNum,WINBOOL *pfAllocate) { 3812 return This->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate); 3813 } 3814 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetStatistics(IWMReaderAdvanced3* This,WM_READER_STATISTICS *pStatistics) { 3815 return This->lpVtbl->GetStatistics(This,pStatistics); 3816 } 3817 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetClientInfo(IWMReaderAdvanced3* This,WM_READER_CLIENTINFO *pClientInfo) { 3818 return This->lpVtbl->SetClientInfo(This,pClientInfo); 3819 } 3820 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetMaxOutputSampleSize(IWMReaderAdvanced3* This,DWORD dwOutput,DWORD *pcbMax) { 3821 return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); 3822 } 3823 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetMaxStreamSampleSize(IWMReaderAdvanced3* This,WORD wStream,DWORD *pcbMax) { 3824 return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); 3825 } 3826 static FORCEINLINE HRESULT IWMReaderAdvanced3_NotifyLateDelivery(IWMReaderAdvanced3* This,QWORD cnsLateness) { 3827 return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); 3828 } 3829 /*** IWMReaderAdvanced2 methods ***/ 3830 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetPlayMode(IWMReaderAdvanced3* This,WMT_PLAY_MODE Mode) { 3831 return This->lpVtbl->SetPlayMode(This,Mode); 3832 } 3833 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetPlayMode(IWMReaderAdvanced3* This,WMT_PLAY_MODE *pMode) { 3834 return This->lpVtbl->GetPlayMode(This,pMode); 3835 } 3836 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetBufferProgress(IWMReaderAdvanced3* This,DWORD *pdwPercent,QWORD *pcnsBuffering) { 3837 return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering); 3838 } 3839 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetDownloadProgress(IWMReaderAdvanced3* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) { 3840 return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload); 3841 } 3842 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetSaveAsProgress(IWMReaderAdvanced3* This,DWORD *pdwPercent) { 3843 return This->lpVtbl->GetSaveAsProgress(This,pdwPercent); 3844 } 3845 static FORCEINLINE HRESULT IWMReaderAdvanced3_SaveFileAs(IWMReaderAdvanced3* This,const WCHAR *pwszFilename) { 3846 return This->lpVtbl->SaveFileAs(This,pwszFilename); 3847 } 3848 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetProtocolName(IWMReaderAdvanced3* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) { 3849 return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol); 3850 } 3851 static FORCEINLINE HRESULT IWMReaderAdvanced3_StartAtMarker(IWMReaderAdvanced3* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) { 3852 return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext); 3853 } 3854 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetOutputSetting(IWMReaderAdvanced3* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { 3855 return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); 3856 } 3857 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetOutputSetting(IWMReaderAdvanced3* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { 3858 return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); 3859 } 3860 static FORCEINLINE HRESULT IWMReaderAdvanced3_Preroll(IWMReaderAdvanced3* This,QWORD cnsStart,QWORD cnsDuration,float fRate) { 3861 return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate); 3862 } 3863 static FORCEINLINE HRESULT IWMReaderAdvanced3_SetLogClientID(IWMReaderAdvanced3* This,WINBOOL fLogClientID) { 3864 return This->lpVtbl->SetLogClientID(This,fLogClientID); 3865 } 3866 static FORCEINLINE HRESULT IWMReaderAdvanced3_GetLogClientID(IWMReaderAdvanced3* This,WINBOOL *pfLogClientID) { 3867 return This->lpVtbl->GetLogClientID(This,pfLogClientID); 3868 } 3869 static FORCEINLINE HRESULT IWMReaderAdvanced3_StopBuffering(IWMReaderAdvanced3* This) { 3870 return This->lpVtbl->StopBuffering(This); 3871 } 3872 static FORCEINLINE HRESULT IWMReaderAdvanced3_OpenStream(IWMReaderAdvanced3* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) { 3873 return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext); 3874 } 3875 /*** IWMReaderAdvanced3 methods ***/ 3876 static FORCEINLINE HRESULT IWMReaderAdvanced3_StopNetStreaming(IWMReaderAdvanced3* This) { 3877 return This->lpVtbl->StopNetStreaming(This); 3878 } 3879 static FORCEINLINE HRESULT IWMReaderAdvanced3_StartAtPosition(IWMReaderAdvanced3* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) { 3880 return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext); 3881 } 3882 #endif 3883 #endif 3884 3885 #endif 3886 3887 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced3_StopNetStreaming_Proxy( 3888 IWMReaderAdvanced3* This); 3889 void __RPC_STUB IWMReaderAdvanced3_StopNetStreaming_Stub( 3890 IRpcStubBuffer* This, 3891 IRpcChannelBuffer* pRpcChannelBuffer, 3892 PRPC_MESSAGE pRpcMessage, 3893 DWORD* pdwStubPhase); 3894 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced3_StartAtPosition_Proxy( 3895 IWMReaderAdvanced3* This, 3896 WORD wStreamNum, 3897 void *pvOffsetStart, 3898 void *pvDuration, 3899 WMT_OFFSET_FORMAT dwOffsetFormat, 3900 float fRate, 3901 void *pvContext); 3902 void __RPC_STUB IWMReaderAdvanced3_StartAtPosition_Stub( 3903 IRpcStubBuffer* This, 3904 IRpcChannelBuffer* pRpcChannelBuffer, 3905 PRPC_MESSAGE pRpcMessage, 3906 DWORD* pdwStubPhase); 3907 3908 #endif /* __IWMReaderAdvanced3_INTERFACE_DEFINED__ */ 3909 3910 /***************************************************************************** 3911 * IWMReaderAdvanced4 interface 3912 */ 3913 #ifndef __IWMReaderAdvanced4_INTERFACE_DEFINED__ 3914 #define __IWMReaderAdvanced4_INTERFACE_DEFINED__ 3915 3916 DEFINE_GUID(IID_IWMReaderAdvanced4, 0x945a76a2, 0x12ae, 0x4d48, 0xbd,0x3c, 0xcd,0x1d,0x90,0x39,0x9b,0x85); 3917 #if defined(__cplusplus) && !defined(CINTERFACE) 3918 MIDL_INTERFACE("945a76a2-12ae-4d48-bd3c-cd1d90399b85") 3919 IWMReaderAdvanced4 : public IWMReaderAdvanced3 3920 { 3921 virtual HRESULT STDMETHODCALLTYPE GetLanguageCount( 3922 DWORD dwOutputNum, 3923 WORD *pwLanguageCount) = 0; 3924 3925 virtual HRESULT STDMETHODCALLTYPE GetLanguage( 3926 DWORD dwOutputNum, 3927 WORD wLanguage, 3928 WCHAR *pwszLanguageString, 3929 WORD *pcchLanguageStringLength) = 0; 3930 3931 virtual HRESULT STDMETHODCALLTYPE GetMaxSpeedFactor( 3932 double *pdblFactor) = 0; 3933 3934 virtual HRESULT STDMETHODCALLTYPE IsUsingFastCache( 3935 WINBOOL *pfUsingFastCache) = 0; 3936 3937 virtual HRESULT STDMETHODCALLTYPE AddLogParam( 3938 LPCWSTR wszNameSpace, 3939 LPCWSTR wszName, 3940 LPCWSTR wszValue) = 0; 3941 3942 virtual HRESULT STDMETHODCALLTYPE SendLogParams( 3943 ) = 0; 3944 3945 virtual HRESULT STDMETHODCALLTYPE CanSaveFileAs( 3946 WINBOOL *pfCanSave) = 0; 3947 3948 virtual HRESULT STDMETHODCALLTYPE CancelSaveFileAs( 3949 ) = 0; 3950 3951 virtual HRESULT STDMETHODCALLTYPE GetURL( 3952 WCHAR *pwszURL, 3953 DWORD *pcchURL) = 0; 3954 3955 }; 3956 #ifdef __CRT_UUID_DECL 3957 __CRT_UUID_DECL(IWMReaderAdvanced4, 0x945a76a2, 0x12ae, 0x4d48, 0xbd,0x3c, 0xcd,0x1d,0x90,0x39,0x9b,0x85) 3958 #endif 3959 #else 3960 typedef struct IWMReaderAdvanced4Vtbl { 3961 BEGIN_INTERFACE 3962 3963 /*** IUnknown methods ***/ 3964 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3965 IWMReaderAdvanced4* This, 3966 REFIID riid, 3967 void **ppvObject); 3968 3969 ULONG (STDMETHODCALLTYPE *AddRef)( 3970 IWMReaderAdvanced4* This); 3971 3972 ULONG (STDMETHODCALLTYPE *Release)( 3973 IWMReaderAdvanced4* This); 3974 3975 /*** IWMReaderAdvanced methods ***/ 3976 HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( 3977 IWMReaderAdvanced4* This, 3978 WINBOOL fUserClock); 3979 3980 HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( 3981 IWMReaderAdvanced4* This, 3982 WINBOOL *pfUserClock); 3983 3984 HRESULT (STDMETHODCALLTYPE *DeliverTime)( 3985 IWMReaderAdvanced4* This, 3986 QWORD cnsTime); 3987 3988 HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( 3989 IWMReaderAdvanced4* This, 3990 WINBOOL fSelection); 3991 3992 HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( 3993 IWMReaderAdvanced4* This, 3994 WINBOOL *pfSelection); 3995 3996 HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( 3997 IWMReaderAdvanced4* This, 3998 WORD cStreamCount, 3999 WORD *pwStreamNumbers, 4000 WMT_STREAM_SELECTION *pSelections); 4001 4002 HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( 4003 IWMReaderAdvanced4* This, 4004 WORD wStreamNum, 4005 WMT_STREAM_SELECTION *pSelection); 4006 4007 HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( 4008 IWMReaderAdvanced4* This, 4009 WINBOOL fGetCallbacks); 4010 4011 HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( 4012 IWMReaderAdvanced4* This, 4013 WINBOOL *pfGetCallbacks); 4014 4015 HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( 4016 IWMReaderAdvanced4* This, 4017 WORD wStreamNum, 4018 WINBOOL fReceiveStreamSamples); 4019 4020 HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( 4021 IWMReaderAdvanced4* This, 4022 WORD wStreamNum, 4023 WINBOOL *pfReceiveStreamSamples); 4024 4025 HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( 4026 IWMReaderAdvanced4* This, 4027 DWORD dwOutputNum, 4028 WINBOOL fAllocate); 4029 4030 HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( 4031 IWMReaderAdvanced4* This, 4032 DWORD dwOutputNum, 4033 WINBOOL *pfAllocate); 4034 4035 HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( 4036 IWMReaderAdvanced4* This, 4037 WORD wStreamNum, 4038 WINBOOL fAllocate); 4039 4040 HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( 4041 IWMReaderAdvanced4* This, 4042 WORD dwSreamNum, 4043 WINBOOL *pfAllocate); 4044 4045 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 4046 IWMReaderAdvanced4* This, 4047 WM_READER_STATISTICS *pStatistics); 4048 4049 HRESULT (STDMETHODCALLTYPE *SetClientInfo)( 4050 IWMReaderAdvanced4* This, 4051 WM_READER_CLIENTINFO *pClientInfo); 4052 4053 HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( 4054 IWMReaderAdvanced4* This, 4055 DWORD dwOutput, 4056 DWORD *pcbMax); 4057 4058 HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( 4059 IWMReaderAdvanced4* This, 4060 WORD wStream, 4061 DWORD *pcbMax); 4062 4063 HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( 4064 IWMReaderAdvanced4* This, 4065 QWORD cnsLateness); 4066 4067 /*** IWMReaderAdvanced2 methods ***/ 4068 HRESULT (STDMETHODCALLTYPE *SetPlayMode)( 4069 IWMReaderAdvanced4* This, 4070 WMT_PLAY_MODE Mode); 4071 4072 HRESULT (STDMETHODCALLTYPE *GetPlayMode)( 4073 IWMReaderAdvanced4* This, 4074 WMT_PLAY_MODE *pMode); 4075 4076 HRESULT (STDMETHODCALLTYPE *GetBufferProgress)( 4077 IWMReaderAdvanced4* This, 4078 DWORD *pdwPercent, 4079 QWORD *pcnsBuffering); 4080 4081 HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)( 4082 IWMReaderAdvanced4* This, 4083 DWORD *pdwPercent, 4084 QWORD *pqwBytesDownloaded, 4085 QWORD *pcnsDownload); 4086 4087 HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)( 4088 IWMReaderAdvanced4* This, 4089 DWORD *pdwPercent); 4090 4091 HRESULT (STDMETHODCALLTYPE *SaveFileAs)( 4092 IWMReaderAdvanced4* This, 4093 const WCHAR *pwszFilename); 4094 4095 HRESULT (STDMETHODCALLTYPE *GetProtocolName)( 4096 IWMReaderAdvanced4* This, 4097 WCHAR *pwszProtocol, 4098 DWORD *pcchProtocol); 4099 4100 HRESULT (STDMETHODCALLTYPE *StartAtMarker)( 4101 IWMReaderAdvanced4* This, 4102 WORD wMarkerIndex, 4103 QWORD cnsDuration, 4104 float fRate, 4105 void *pvContext); 4106 4107 HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( 4108 IWMReaderAdvanced4* This, 4109 DWORD dwOutputNum, 4110 LPCWSTR pszName, 4111 WMT_ATTR_DATATYPE *pType, 4112 BYTE *pValue, 4113 WORD *pcbLength); 4114 4115 HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( 4116 IWMReaderAdvanced4* This, 4117 DWORD dwOutputNum, 4118 LPCWSTR pszName, 4119 WMT_ATTR_DATATYPE Type, 4120 const BYTE *pValue, 4121 WORD cbLength); 4122 4123 HRESULT (STDMETHODCALLTYPE *Preroll)( 4124 IWMReaderAdvanced4* This, 4125 QWORD cnsStart, 4126 QWORD cnsDuration, 4127 float fRate); 4128 4129 HRESULT (STDMETHODCALLTYPE *SetLogClientID)( 4130 IWMReaderAdvanced4* This, 4131 WINBOOL fLogClientID); 4132 4133 HRESULT (STDMETHODCALLTYPE *GetLogClientID)( 4134 IWMReaderAdvanced4* This, 4135 WINBOOL *pfLogClientID); 4136 4137 HRESULT (STDMETHODCALLTYPE *StopBuffering)( 4138 IWMReaderAdvanced4* This); 4139 4140 HRESULT (STDMETHODCALLTYPE *OpenStream)( 4141 IWMReaderAdvanced4* This, 4142 IStream *pStream, 4143 IWMReaderCallback *pCallback, 4144 void *pvContext); 4145 4146 /*** IWMReaderAdvanced3 methods ***/ 4147 HRESULT (STDMETHODCALLTYPE *StopNetStreaming)( 4148 IWMReaderAdvanced4* This); 4149 4150 HRESULT (STDMETHODCALLTYPE *StartAtPosition)( 4151 IWMReaderAdvanced4* This, 4152 WORD wStreamNum, 4153 void *pvOffsetStart, 4154 void *pvDuration, 4155 WMT_OFFSET_FORMAT dwOffsetFormat, 4156 float fRate, 4157 void *pvContext); 4158 4159 /*** IWMReaderAdvanced4 methods ***/ 4160 HRESULT (STDMETHODCALLTYPE *GetLanguageCount)( 4161 IWMReaderAdvanced4* This, 4162 DWORD dwOutputNum, 4163 WORD *pwLanguageCount); 4164 4165 HRESULT (STDMETHODCALLTYPE *GetLanguage)( 4166 IWMReaderAdvanced4* This, 4167 DWORD dwOutputNum, 4168 WORD wLanguage, 4169 WCHAR *pwszLanguageString, 4170 WORD *pcchLanguageStringLength); 4171 4172 HRESULT (STDMETHODCALLTYPE *GetMaxSpeedFactor)( 4173 IWMReaderAdvanced4* This, 4174 double *pdblFactor); 4175 4176 HRESULT (STDMETHODCALLTYPE *IsUsingFastCache)( 4177 IWMReaderAdvanced4* This, 4178 WINBOOL *pfUsingFastCache); 4179 4180 HRESULT (STDMETHODCALLTYPE *AddLogParam)( 4181 IWMReaderAdvanced4* This, 4182 LPCWSTR wszNameSpace, 4183 LPCWSTR wszName, 4184 LPCWSTR wszValue); 4185 4186 HRESULT (STDMETHODCALLTYPE *SendLogParams)( 4187 IWMReaderAdvanced4* This); 4188 4189 HRESULT (STDMETHODCALLTYPE *CanSaveFileAs)( 4190 IWMReaderAdvanced4* This, 4191 WINBOOL *pfCanSave); 4192 4193 HRESULT (STDMETHODCALLTYPE *CancelSaveFileAs)( 4194 IWMReaderAdvanced4* This); 4195 4196 HRESULT (STDMETHODCALLTYPE *GetURL)( 4197 IWMReaderAdvanced4* This, 4198 WCHAR *pwszURL, 4199 DWORD *pcchURL); 4200 4201 END_INTERFACE 4202 } IWMReaderAdvanced4Vtbl; 4203 interface IWMReaderAdvanced4 { 4204 CONST_VTBL IWMReaderAdvanced4Vtbl* lpVtbl; 4205 }; 4206 4207 #ifdef COBJMACROS 4208 #ifndef WIDL_C_INLINE_WRAPPERS 4209 /*** IUnknown methods ***/ 4210 #define IWMReaderAdvanced4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4211 #define IWMReaderAdvanced4_AddRef(This) (This)->lpVtbl->AddRef(This) 4212 #define IWMReaderAdvanced4_Release(This) (This)->lpVtbl->Release(This) 4213 /*** IWMReaderAdvanced methods ***/ 4214 #define IWMReaderAdvanced4_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) 4215 #define IWMReaderAdvanced4_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) 4216 #define IWMReaderAdvanced4_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) 4217 #define IWMReaderAdvanced4_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) 4218 #define IWMReaderAdvanced4_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) 4219 #define IWMReaderAdvanced4_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) 4220 #define IWMReaderAdvanced4_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) 4221 #define IWMReaderAdvanced4_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) 4222 #define IWMReaderAdvanced4_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) 4223 #define IWMReaderAdvanced4_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) 4224 #define IWMReaderAdvanced4_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) 4225 #define IWMReaderAdvanced4_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) 4226 #define IWMReaderAdvanced4_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) 4227 #define IWMReaderAdvanced4_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) 4228 #define IWMReaderAdvanced4_GetAllocateForStream(This,dwSreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate) 4229 #define IWMReaderAdvanced4_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) 4230 #define IWMReaderAdvanced4_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) 4231 #define IWMReaderAdvanced4_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) 4232 #define IWMReaderAdvanced4_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) 4233 #define IWMReaderAdvanced4_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) 4234 /*** IWMReaderAdvanced2 methods ***/ 4235 #define IWMReaderAdvanced4_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode) 4236 #define IWMReaderAdvanced4_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode) 4237 #define IWMReaderAdvanced4_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering) 4238 #define IWMReaderAdvanced4_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) 4239 #define IWMReaderAdvanced4_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent) 4240 #define IWMReaderAdvanced4_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename) 4241 #define IWMReaderAdvanced4_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol) 4242 #define IWMReaderAdvanced4_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) 4243 #define IWMReaderAdvanced4_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) 4244 #define IWMReaderAdvanced4_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) 4245 #define IWMReaderAdvanced4_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate) 4246 #define IWMReaderAdvanced4_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID) 4247 #define IWMReaderAdvanced4_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID) 4248 #define IWMReaderAdvanced4_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) 4249 #define IWMReaderAdvanced4_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext) 4250 /*** IWMReaderAdvanced3 methods ***/ 4251 #define IWMReaderAdvanced4_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This) 4252 #define IWMReaderAdvanced4_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) 4253 /*** IWMReaderAdvanced4 methods ***/ 4254 #define IWMReaderAdvanced4_GetLanguageCount(This,dwOutputNum,pwLanguageCount) (This)->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount) 4255 #define IWMReaderAdvanced4_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) (This)->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) 4256 #define IWMReaderAdvanced4_GetMaxSpeedFactor(This,pdblFactor) (This)->lpVtbl->GetMaxSpeedFactor(This,pdblFactor) 4257 #define IWMReaderAdvanced4_IsUsingFastCache(This,pfUsingFastCache) (This)->lpVtbl->IsUsingFastCache(This,pfUsingFastCache) 4258 #define IWMReaderAdvanced4_AddLogParam(This,wszNameSpace,wszName,wszValue) (This)->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue) 4259 #define IWMReaderAdvanced4_SendLogParams(This) (This)->lpVtbl->SendLogParams(This) 4260 #define IWMReaderAdvanced4_CanSaveFileAs(This,pfCanSave) (This)->lpVtbl->CanSaveFileAs(This,pfCanSave) 4261 #define IWMReaderAdvanced4_CancelSaveFileAs(This) (This)->lpVtbl->CancelSaveFileAs(This) 4262 #define IWMReaderAdvanced4_GetURL(This,pwszURL,pcchURL) (This)->lpVtbl->GetURL(This,pwszURL,pcchURL) 4263 #else 4264 /*** IUnknown methods ***/ 4265 static FORCEINLINE HRESULT IWMReaderAdvanced4_QueryInterface(IWMReaderAdvanced4* This,REFIID riid,void **ppvObject) { 4266 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4267 } 4268 static FORCEINLINE ULONG IWMReaderAdvanced4_AddRef(IWMReaderAdvanced4* This) { 4269 return This->lpVtbl->AddRef(This); 4270 } 4271 static FORCEINLINE ULONG IWMReaderAdvanced4_Release(IWMReaderAdvanced4* This) { 4272 return This->lpVtbl->Release(This); 4273 } 4274 /*** IWMReaderAdvanced methods ***/ 4275 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetUserProvidedClock(IWMReaderAdvanced4* This,WINBOOL fUserClock) { 4276 return This->lpVtbl->SetUserProvidedClock(This,fUserClock); 4277 } 4278 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetUserProvidedClock(IWMReaderAdvanced4* This,WINBOOL *pfUserClock) { 4279 return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); 4280 } 4281 static FORCEINLINE HRESULT IWMReaderAdvanced4_DeliverTime(IWMReaderAdvanced4* This,QWORD cnsTime) { 4282 return This->lpVtbl->DeliverTime(This,cnsTime); 4283 } 4284 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetManualStreamSelection(IWMReaderAdvanced4* This,WINBOOL fSelection) { 4285 return This->lpVtbl->SetManualStreamSelection(This,fSelection); 4286 } 4287 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetManualStreamSelection(IWMReaderAdvanced4* This,WINBOOL *pfSelection) { 4288 return This->lpVtbl->GetManualStreamSelection(This,pfSelection); 4289 } 4290 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetStreamsSelected(IWMReaderAdvanced4* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { 4291 return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); 4292 } 4293 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetStreamSelected(IWMReaderAdvanced4* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { 4294 return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); 4295 } 4296 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetReceiveSelectionCallbacks(IWMReaderAdvanced4* This,WINBOOL fGetCallbacks) { 4297 return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); 4298 } 4299 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetReceiveSelectionCallbacks(IWMReaderAdvanced4* This,WINBOOL *pfGetCallbacks) { 4300 return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); 4301 } 4302 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetReceiveStreamSamples(IWMReaderAdvanced4* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { 4303 return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); 4304 } 4305 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetReceiveStreamSamples(IWMReaderAdvanced4* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { 4306 return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); 4307 } 4308 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetAllocateForOutput(IWMReaderAdvanced4* This,DWORD dwOutputNum,WINBOOL fAllocate) { 4309 return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); 4310 } 4311 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetAllocateForOutput(IWMReaderAdvanced4* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { 4312 return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); 4313 } 4314 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetAllocateForStream(IWMReaderAdvanced4* This,WORD wStreamNum,WINBOOL fAllocate) { 4315 return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); 4316 } 4317 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetAllocateForStream(IWMReaderAdvanced4* This,WORD dwSreamNum,WINBOOL *pfAllocate) { 4318 return This->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate); 4319 } 4320 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetStatistics(IWMReaderAdvanced4* This,WM_READER_STATISTICS *pStatistics) { 4321 return This->lpVtbl->GetStatistics(This,pStatistics); 4322 } 4323 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetClientInfo(IWMReaderAdvanced4* This,WM_READER_CLIENTINFO *pClientInfo) { 4324 return This->lpVtbl->SetClientInfo(This,pClientInfo); 4325 } 4326 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetMaxOutputSampleSize(IWMReaderAdvanced4* This,DWORD dwOutput,DWORD *pcbMax) { 4327 return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); 4328 } 4329 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetMaxStreamSampleSize(IWMReaderAdvanced4* This,WORD wStream,DWORD *pcbMax) { 4330 return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); 4331 } 4332 static FORCEINLINE HRESULT IWMReaderAdvanced4_NotifyLateDelivery(IWMReaderAdvanced4* This,QWORD cnsLateness) { 4333 return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); 4334 } 4335 /*** IWMReaderAdvanced2 methods ***/ 4336 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetPlayMode(IWMReaderAdvanced4* This,WMT_PLAY_MODE Mode) { 4337 return This->lpVtbl->SetPlayMode(This,Mode); 4338 } 4339 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetPlayMode(IWMReaderAdvanced4* This,WMT_PLAY_MODE *pMode) { 4340 return This->lpVtbl->GetPlayMode(This,pMode); 4341 } 4342 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetBufferProgress(IWMReaderAdvanced4* This,DWORD *pdwPercent,QWORD *pcnsBuffering) { 4343 return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering); 4344 } 4345 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetDownloadProgress(IWMReaderAdvanced4* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) { 4346 return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload); 4347 } 4348 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetSaveAsProgress(IWMReaderAdvanced4* This,DWORD *pdwPercent) { 4349 return This->lpVtbl->GetSaveAsProgress(This,pdwPercent); 4350 } 4351 static FORCEINLINE HRESULT IWMReaderAdvanced4_SaveFileAs(IWMReaderAdvanced4* This,const WCHAR *pwszFilename) { 4352 return This->lpVtbl->SaveFileAs(This,pwszFilename); 4353 } 4354 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetProtocolName(IWMReaderAdvanced4* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) { 4355 return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol); 4356 } 4357 static FORCEINLINE HRESULT IWMReaderAdvanced4_StartAtMarker(IWMReaderAdvanced4* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) { 4358 return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext); 4359 } 4360 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetOutputSetting(IWMReaderAdvanced4* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { 4361 return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); 4362 } 4363 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetOutputSetting(IWMReaderAdvanced4* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { 4364 return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); 4365 } 4366 static FORCEINLINE HRESULT IWMReaderAdvanced4_Preroll(IWMReaderAdvanced4* This,QWORD cnsStart,QWORD cnsDuration,float fRate) { 4367 return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate); 4368 } 4369 static FORCEINLINE HRESULT IWMReaderAdvanced4_SetLogClientID(IWMReaderAdvanced4* This,WINBOOL fLogClientID) { 4370 return This->lpVtbl->SetLogClientID(This,fLogClientID); 4371 } 4372 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetLogClientID(IWMReaderAdvanced4* This,WINBOOL *pfLogClientID) { 4373 return This->lpVtbl->GetLogClientID(This,pfLogClientID); 4374 } 4375 static FORCEINLINE HRESULT IWMReaderAdvanced4_StopBuffering(IWMReaderAdvanced4* This) { 4376 return This->lpVtbl->StopBuffering(This); 4377 } 4378 static FORCEINLINE HRESULT IWMReaderAdvanced4_OpenStream(IWMReaderAdvanced4* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) { 4379 return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext); 4380 } 4381 /*** IWMReaderAdvanced3 methods ***/ 4382 static FORCEINLINE HRESULT IWMReaderAdvanced4_StopNetStreaming(IWMReaderAdvanced4* This) { 4383 return This->lpVtbl->StopNetStreaming(This); 4384 } 4385 static FORCEINLINE HRESULT IWMReaderAdvanced4_StartAtPosition(IWMReaderAdvanced4* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) { 4386 return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext); 4387 } 4388 /*** IWMReaderAdvanced4 methods ***/ 4389 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetLanguageCount(IWMReaderAdvanced4* This,DWORD dwOutputNum,WORD *pwLanguageCount) { 4390 return This->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount); 4391 } 4392 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetLanguage(IWMReaderAdvanced4* This,DWORD dwOutputNum,WORD wLanguage,WCHAR *pwszLanguageString,WORD *pcchLanguageStringLength) { 4393 return This->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength); 4394 } 4395 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetMaxSpeedFactor(IWMReaderAdvanced4* This,double *pdblFactor) { 4396 return This->lpVtbl->GetMaxSpeedFactor(This,pdblFactor); 4397 } 4398 static FORCEINLINE HRESULT IWMReaderAdvanced4_IsUsingFastCache(IWMReaderAdvanced4* This,WINBOOL *pfUsingFastCache) { 4399 return This->lpVtbl->IsUsingFastCache(This,pfUsingFastCache); 4400 } 4401 static FORCEINLINE HRESULT IWMReaderAdvanced4_AddLogParam(IWMReaderAdvanced4* This,LPCWSTR wszNameSpace,LPCWSTR wszName,LPCWSTR wszValue) { 4402 return This->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue); 4403 } 4404 static FORCEINLINE HRESULT IWMReaderAdvanced4_SendLogParams(IWMReaderAdvanced4* This) { 4405 return This->lpVtbl->SendLogParams(This); 4406 } 4407 static FORCEINLINE HRESULT IWMReaderAdvanced4_CanSaveFileAs(IWMReaderAdvanced4* This,WINBOOL *pfCanSave) { 4408 return This->lpVtbl->CanSaveFileAs(This,pfCanSave); 4409 } 4410 static FORCEINLINE HRESULT IWMReaderAdvanced4_CancelSaveFileAs(IWMReaderAdvanced4* This) { 4411 return This->lpVtbl->CancelSaveFileAs(This); 4412 } 4413 static FORCEINLINE HRESULT IWMReaderAdvanced4_GetURL(IWMReaderAdvanced4* This,WCHAR *pwszURL,DWORD *pcchURL) { 4414 return This->lpVtbl->GetURL(This,pwszURL,pcchURL); 4415 } 4416 #endif 4417 #endif 4418 4419 #endif 4420 4421 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetLanguageCount_Proxy( 4422 IWMReaderAdvanced4* This, 4423 DWORD dwOutputNum, 4424 WORD *pwLanguageCount); 4425 void __RPC_STUB IWMReaderAdvanced4_GetLanguageCount_Stub( 4426 IRpcStubBuffer* This, 4427 IRpcChannelBuffer* pRpcChannelBuffer, 4428 PRPC_MESSAGE pRpcMessage, 4429 DWORD* pdwStubPhase); 4430 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetLanguage_Proxy( 4431 IWMReaderAdvanced4* This, 4432 DWORD dwOutputNum, 4433 WORD wLanguage, 4434 WCHAR *pwszLanguageString, 4435 WORD *pcchLanguageStringLength); 4436 void __RPC_STUB IWMReaderAdvanced4_GetLanguage_Stub( 4437 IRpcStubBuffer* This, 4438 IRpcChannelBuffer* pRpcChannelBuffer, 4439 PRPC_MESSAGE pRpcMessage, 4440 DWORD* pdwStubPhase); 4441 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetMaxSpeedFactor_Proxy( 4442 IWMReaderAdvanced4* This, 4443 double *pdblFactor); 4444 void __RPC_STUB IWMReaderAdvanced4_GetMaxSpeedFactor_Stub( 4445 IRpcStubBuffer* This, 4446 IRpcChannelBuffer* pRpcChannelBuffer, 4447 PRPC_MESSAGE pRpcMessage, 4448 DWORD* pdwStubPhase); 4449 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_IsUsingFastCache_Proxy( 4450 IWMReaderAdvanced4* This, 4451 WINBOOL *pfUsingFastCache); 4452 void __RPC_STUB IWMReaderAdvanced4_IsUsingFastCache_Stub( 4453 IRpcStubBuffer* This, 4454 IRpcChannelBuffer* pRpcChannelBuffer, 4455 PRPC_MESSAGE pRpcMessage, 4456 DWORD* pdwStubPhase); 4457 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_AddLogParam_Proxy( 4458 IWMReaderAdvanced4* This, 4459 LPCWSTR wszNameSpace, 4460 LPCWSTR wszName, 4461 LPCWSTR wszValue); 4462 void __RPC_STUB IWMReaderAdvanced4_AddLogParam_Stub( 4463 IRpcStubBuffer* This, 4464 IRpcChannelBuffer* pRpcChannelBuffer, 4465 PRPC_MESSAGE pRpcMessage, 4466 DWORD* pdwStubPhase); 4467 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_SendLogParams_Proxy( 4468 IWMReaderAdvanced4* This); 4469 void __RPC_STUB IWMReaderAdvanced4_SendLogParams_Stub( 4470 IRpcStubBuffer* This, 4471 IRpcChannelBuffer* pRpcChannelBuffer, 4472 PRPC_MESSAGE pRpcMessage, 4473 DWORD* pdwStubPhase); 4474 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_CanSaveFileAs_Proxy( 4475 IWMReaderAdvanced4* This, 4476 WINBOOL *pfCanSave); 4477 void __RPC_STUB IWMReaderAdvanced4_CanSaveFileAs_Stub( 4478 IRpcStubBuffer* This, 4479 IRpcChannelBuffer* pRpcChannelBuffer, 4480 PRPC_MESSAGE pRpcMessage, 4481 DWORD* pdwStubPhase); 4482 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_CancelSaveFileAs_Proxy( 4483 IWMReaderAdvanced4* This); 4484 void __RPC_STUB IWMReaderAdvanced4_CancelSaveFileAs_Stub( 4485 IRpcStubBuffer* This, 4486 IRpcChannelBuffer* pRpcChannelBuffer, 4487 PRPC_MESSAGE pRpcMessage, 4488 DWORD* pdwStubPhase); 4489 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetURL_Proxy( 4490 IWMReaderAdvanced4* This, 4491 WCHAR *pwszURL, 4492 DWORD *pcchURL); 4493 void __RPC_STUB IWMReaderAdvanced4_GetURL_Stub( 4494 IRpcStubBuffer* This, 4495 IRpcChannelBuffer* pRpcChannelBuffer, 4496 PRPC_MESSAGE pRpcMessage, 4497 DWORD* pdwStubPhase); 4498 4499 #endif /* __IWMReaderAdvanced4_INTERFACE_DEFINED__ */ 4500 4501 /***************************************************************************** 4502 * IWMReaderAdvanced5 interface 4503 */ 4504 #ifndef __IWMReaderAdvanced5_INTERFACE_DEFINED__ 4505 #define __IWMReaderAdvanced5_INTERFACE_DEFINED__ 4506 4507 DEFINE_GUID(IID_IWMReaderAdvanced5, 0x24c44db0, 0x55d1, 0x49ae, 0xa5,0xcc, 0xf1,0x38,0x15,0xe3,0x63,0x63); 4508 #if defined(__cplusplus) && !defined(CINTERFACE) 4509 MIDL_INTERFACE("24c44db0-55d1-49ae-a5cc-f13815e36363") 4510 IWMReaderAdvanced5 : public IWMReaderAdvanced4 4511 { 4512 virtual HRESULT STDMETHODCALLTYPE SetPlayerHook( 4513 DWORD dwOutputNum, 4514 IWMPlayerHook *pHook) = 0; 4515 4516 }; 4517 #ifdef __CRT_UUID_DECL 4518 __CRT_UUID_DECL(IWMReaderAdvanced5, 0x24c44db0, 0x55d1, 0x49ae, 0xa5,0xcc, 0xf1,0x38,0x15,0xe3,0x63,0x63) 4519 #endif 4520 #else 4521 typedef struct IWMReaderAdvanced5Vtbl { 4522 BEGIN_INTERFACE 4523 4524 /*** IUnknown methods ***/ 4525 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4526 IWMReaderAdvanced5* This, 4527 REFIID riid, 4528 void **ppvObject); 4529 4530 ULONG (STDMETHODCALLTYPE *AddRef)( 4531 IWMReaderAdvanced5* This); 4532 4533 ULONG (STDMETHODCALLTYPE *Release)( 4534 IWMReaderAdvanced5* This); 4535 4536 /*** IWMReaderAdvanced methods ***/ 4537 HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( 4538 IWMReaderAdvanced5* This, 4539 WINBOOL fUserClock); 4540 4541 HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( 4542 IWMReaderAdvanced5* This, 4543 WINBOOL *pfUserClock); 4544 4545 HRESULT (STDMETHODCALLTYPE *DeliverTime)( 4546 IWMReaderAdvanced5* This, 4547 QWORD cnsTime); 4548 4549 HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( 4550 IWMReaderAdvanced5* This, 4551 WINBOOL fSelection); 4552 4553 HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( 4554 IWMReaderAdvanced5* This, 4555 WINBOOL *pfSelection); 4556 4557 HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( 4558 IWMReaderAdvanced5* This, 4559 WORD cStreamCount, 4560 WORD *pwStreamNumbers, 4561 WMT_STREAM_SELECTION *pSelections); 4562 4563 HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( 4564 IWMReaderAdvanced5* This, 4565 WORD wStreamNum, 4566 WMT_STREAM_SELECTION *pSelection); 4567 4568 HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( 4569 IWMReaderAdvanced5* This, 4570 WINBOOL fGetCallbacks); 4571 4572 HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( 4573 IWMReaderAdvanced5* This, 4574 WINBOOL *pfGetCallbacks); 4575 4576 HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( 4577 IWMReaderAdvanced5* This, 4578 WORD wStreamNum, 4579 WINBOOL fReceiveStreamSamples); 4580 4581 HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( 4582 IWMReaderAdvanced5* This, 4583 WORD wStreamNum, 4584 WINBOOL *pfReceiveStreamSamples); 4585 4586 HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( 4587 IWMReaderAdvanced5* This, 4588 DWORD dwOutputNum, 4589 WINBOOL fAllocate); 4590 4591 HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( 4592 IWMReaderAdvanced5* This, 4593 DWORD dwOutputNum, 4594 WINBOOL *pfAllocate); 4595 4596 HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( 4597 IWMReaderAdvanced5* This, 4598 WORD wStreamNum, 4599 WINBOOL fAllocate); 4600 4601 HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( 4602 IWMReaderAdvanced5* This, 4603 WORD dwSreamNum, 4604 WINBOOL *pfAllocate); 4605 4606 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 4607 IWMReaderAdvanced5* This, 4608 WM_READER_STATISTICS *pStatistics); 4609 4610 HRESULT (STDMETHODCALLTYPE *SetClientInfo)( 4611 IWMReaderAdvanced5* This, 4612 WM_READER_CLIENTINFO *pClientInfo); 4613 4614 HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( 4615 IWMReaderAdvanced5* This, 4616 DWORD dwOutput, 4617 DWORD *pcbMax); 4618 4619 HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( 4620 IWMReaderAdvanced5* This, 4621 WORD wStream, 4622 DWORD *pcbMax); 4623 4624 HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( 4625 IWMReaderAdvanced5* This, 4626 QWORD cnsLateness); 4627 4628 /*** IWMReaderAdvanced2 methods ***/ 4629 HRESULT (STDMETHODCALLTYPE *SetPlayMode)( 4630 IWMReaderAdvanced5* This, 4631 WMT_PLAY_MODE Mode); 4632 4633 HRESULT (STDMETHODCALLTYPE *GetPlayMode)( 4634 IWMReaderAdvanced5* This, 4635 WMT_PLAY_MODE *pMode); 4636 4637 HRESULT (STDMETHODCALLTYPE *GetBufferProgress)( 4638 IWMReaderAdvanced5* This, 4639 DWORD *pdwPercent, 4640 QWORD *pcnsBuffering); 4641 4642 HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)( 4643 IWMReaderAdvanced5* This, 4644 DWORD *pdwPercent, 4645 QWORD *pqwBytesDownloaded, 4646 QWORD *pcnsDownload); 4647 4648 HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)( 4649 IWMReaderAdvanced5* This, 4650 DWORD *pdwPercent); 4651 4652 HRESULT (STDMETHODCALLTYPE *SaveFileAs)( 4653 IWMReaderAdvanced5* This, 4654 const WCHAR *pwszFilename); 4655 4656 HRESULT (STDMETHODCALLTYPE *GetProtocolName)( 4657 IWMReaderAdvanced5* This, 4658 WCHAR *pwszProtocol, 4659 DWORD *pcchProtocol); 4660 4661 HRESULT (STDMETHODCALLTYPE *StartAtMarker)( 4662 IWMReaderAdvanced5* This, 4663 WORD wMarkerIndex, 4664 QWORD cnsDuration, 4665 float fRate, 4666 void *pvContext); 4667 4668 HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( 4669 IWMReaderAdvanced5* This, 4670 DWORD dwOutputNum, 4671 LPCWSTR pszName, 4672 WMT_ATTR_DATATYPE *pType, 4673 BYTE *pValue, 4674 WORD *pcbLength); 4675 4676 HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( 4677 IWMReaderAdvanced5* This, 4678 DWORD dwOutputNum, 4679 LPCWSTR pszName, 4680 WMT_ATTR_DATATYPE Type, 4681 const BYTE *pValue, 4682 WORD cbLength); 4683 4684 HRESULT (STDMETHODCALLTYPE *Preroll)( 4685 IWMReaderAdvanced5* This, 4686 QWORD cnsStart, 4687 QWORD cnsDuration, 4688 float fRate); 4689 4690 HRESULT (STDMETHODCALLTYPE *SetLogClientID)( 4691 IWMReaderAdvanced5* This, 4692 WINBOOL fLogClientID); 4693 4694 HRESULT (STDMETHODCALLTYPE *GetLogClientID)( 4695 IWMReaderAdvanced5* This, 4696 WINBOOL *pfLogClientID); 4697 4698 HRESULT (STDMETHODCALLTYPE *StopBuffering)( 4699 IWMReaderAdvanced5* This); 4700 4701 HRESULT (STDMETHODCALLTYPE *OpenStream)( 4702 IWMReaderAdvanced5* This, 4703 IStream *pStream, 4704 IWMReaderCallback *pCallback, 4705 void *pvContext); 4706 4707 /*** IWMReaderAdvanced3 methods ***/ 4708 HRESULT (STDMETHODCALLTYPE *StopNetStreaming)( 4709 IWMReaderAdvanced5* This); 4710 4711 HRESULT (STDMETHODCALLTYPE *StartAtPosition)( 4712 IWMReaderAdvanced5* This, 4713 WORD wStreamNum, 4714 void *pvOffsetStart, 4715 void *pvDuration, 4716 WMT_OFFSET_FORMAT dwOffsetFormat, 4717 float fRate, 4718 void *pvContext); 4719 4720 /*** IWMReaderAdvanced4 methods ***/ 4721 HRESULT (STDMETHODCALLTYPE *GetLanguageCount)( 4722 IWMReaderAdvanced5* This, 4723 DWORD dwOutputNum, 4724 WORD *pwLanguageCount); 4725 4726 HRESULT (STDMETHODCALLTYPE *GetLanguage)( 4727 IWMReaderAdvanced5* This, 4728 DWORD dwOutputNum, 4729 WORD wLanguage, 4730 WCHAR *pwszLanguageString, 4731 WORD *pcchLanguageStringLength); 4732 4733 HRESULT (STDMETHODCALLTYPE *GetMaxSpeedFactor)( 4734 IWMReaderAdvanced5* This, 4735 double *pdblFactor); 4736 4737 HRESULT (STDMETHODCALLTYPE *IsUsingFastCache)( 4738 IWMReaderAdvanced5* This, 4739 WINBOOL *pfUsingFastCache); 4740 4741 HRESULT (STDMETHODCALLTYPE *AddLogParam)( 4742 IWMReaderAdvanced5* This, 4743 LPCWSTR wszNameSpace, 4744 LPCWSTR wszName, 4745 LPCWSTR wszValue); 4746 4747 HRESULT (STDMETHODCALLTYPE *SendLogParams)( 4748 IWMReaderAdvanced5* This); 4749 4750 HRESULT (STDMETHODCALLTYPE *CanSaveFileAs)( 4751 IWMReaderAdvanced5* This, 4752 WINBOOL *pfCanSave); 4753 4754 HRESULT (STDMETHODCALLTYPE *CancelSaveFileAs)( 4755 IWMReaderAdvanced5* This); 4756 4757 HRESULT (STDMETHODCALLTYPE *GetURL)( 4758 IWMReaderAdvanced5* This, 4759 WCHAR *pwszURL, 4760 DWORD *pcchURL); 4761 4762 /*** IWMReaderAdvanced5 methods ***/ 4763 HRESULT (STDMETHODCALLTYPE *SetPlayerHook)( 4764 IWMReaderAdvanced5* This, 4765 DWORD dwOutputNum, 4766 IWMPlayerHook *pHook); 4767 4768 END_INTERFACE 4769 } IWMReaderAdvanced5Vtbl; 4770 interface IWMReaderAdvanced5 { 4771 CONST_VTBL IWMReaderAdvanced5Vtbl* lpVtbl; 4772 }; 4773 4774 #ifdef COBJMACROS 4775 #ifndef WIDL_C_INLINE_WRAPPERS 4776 /*** IUnknown methods ***/ 4777 #define IWMReaderAdvanced5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4778 #define IWMReaderAdvanced5_AddRef(This) (This)->lpVtbl->AddRef(This) 4779 #define IWMReaderAdvanced5_Release(This) (This)->lpVtbl->Release(This) 4780 /*** IWMReaderAdvanced methods ***/ 4781 #define IWMReaderAdvanced5_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) 4782 #define IWMReaderAdvanced5_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) 4783 #define IWMReaderAdvanced5_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) 4784 #define IWMReaderAdvanced5_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) 4785 #define IWMReaderAdvanced5_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) 4786 #define IWMReaderAdvanced5_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) 4787 #define IWMReaderAdvanced5_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) 4788 #define IWMReaderAdvanced5_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) 4789 #define IWMReaderAdvanced5_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) 4790 #define IWMReaderAdvanced5_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) 4791 #define IWMReaderAdvanced5_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) 4792 #define IWMReaderAdvanced5_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) 4793 #define IWMReaderAdvanced5_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) 4794 #define IWMReaderAdvanced5_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) 4795 #define IWMReaderAdvanced5_GetAllocateForStream(This,dwSreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate) 4796 #define IWMReaderAdvanced5_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) 4797 #define IWMReaderAdvanced5_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) 4798 #define IWMReaderAdvanced5_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) 4799 #define IWMReaderAdvanced5_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) 4800 #define IWMReaderAdvanced5_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) 4801 /*** IWMReaderAdvanced2 methods ***/ 4802 #define IWMReaderAdvanced5_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode) 4803 #define IWMReaderAdvanced5_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode) 4804 #define IWMReaderAdvanced5_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering) 4805 #define IWMReaderAdvanced5_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) 4806 #define IWMReaderAdvanced5_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent) 4807 #define IWMReaderAdvanced5_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename) 4808 #define IWMReaderAdvanced5_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol) 4809 #define IWMReaderAdvanced5_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) 4810 #define IWMReaderAdvanced5_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) 4811 #define IWMReaderAdvanced5_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) 4812 #define IWMReaderAdvanced5_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate) 4813 #define IWMReaderAdvanced5_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID) 4814 #define IWMReaderAdvanced5_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID) 4815 #define IWMReaderAdvanced5_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) 4816 #define IWMReaderAdvanced5_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext) 4817 /*** IWMReaderAdvanced3 methods ***/ 4818 #define IWMReaderAdvanced5_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This) 4819 #define IWMReaderAdvanced5_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) 4820 /*** IWMReaderAdvanced4 methods ***/ 4821 #define IWMReaderAdvanced5_GetLanguageCount(This,dwOutputNum,pwLanguageCount) (This)->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount) 4822 #define IWMReaderAdvanced5_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) (This)->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) 4823 #define IWMReaderAdvanced5_GetMaxSpeedFactor(This,pdblFactor) (This)->lpVtbl->GetMaxSpeedFactor(This,pdblFactor) 4824 #define IWMReaderAdvanced5_IsUsingFastCache(This,pfUsingFastCache) (This)->lpVtbl->IsUsingFastCache(This,pfUsingFastCache) 4825 #define IWMReaderAdvanced5_AddLogParam(This,wszNameSpace,wszName,wszValue) (This)->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue) 4826 #define IWMReaderAdvanced5_SendLogParams(This) (This)->lpVtbl->SendLogParams(This) 4827 #define IWMReaderAdvanced5_CanSaveFileAs(This,pfCanSave) (This)->lpVtbl->CanSaveFileAs(This,pfCanSave) 4828 #define IWMReaderAdvanced5_CancelSaveFileAs(This) (This)->lpVtbl->CancelSaveFileAs(This) 4829 #define IWMReaderAdvanced5_GetURL(This,pwszURL,pcchURL) (This)->lpVtbl->GetURL(This,pwszURL,pcchURL) 4830 /*** IWMReaderAdvanced5 methods ***/ 4831 #define IWMReaderAdvanced5_SetPlayerHook(This,dwOutputNum,pHook) (This)->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook) 4832 #else 4833 /*** IUnknown methods ***/ 4834 static FORCEINLINE HRESULT IWMReaderAdvanced5_QueryInterface(IWMReaderAdvanced5* This,REFIID riid,void **ppvObject) { 4835 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4836 } 4837 static FORCEINLINE ULONG IWMReaderAdvanced5_AddRef(IWMReaderAdvanced5* This) { 4838 return This->lpVtbl->AddRef(This); 4839 } 4840 static FORCEINLINE ULONG IWMReaderAdvanced5_Release(IWMReaderAdvanced5* This) { 4841 return This->lpVtbl->Release(This); 4842 } 4843 /*** IWMReaderAdvanced methods ***/ 4844 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetUserProvidedClock(IWMReaderAdvanced5* This,WINBOOL fUserClock) { 4845 return This->lpVtbl->SetUserProvidedClock(This,fUserClock); 4846 } 4847 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetUserProvidedClock(IWMReaderAdvanced5* This,WINBOOL *pfUserClock) { 4848 return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); 4849 } 4850 static FORCEINLINE HRESULT IWMReaderAdvanced5_DeliverTime(IWMReaderAdvanced5* This,QWORD cnsTime) { 4851 return This->lpVtbl->DeliverTime(This,cnsTime); 4852 } 4853 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetManualStreamSelection(IWMReaderAdvanced5* This,WINBOOL fSelection) { 4854 return This->lpVtbl->SetManualStreamSelection(This,fSelection); 4855 } 4856 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetManualStreamSelection(IWMReaderAdvanced5* This,WINBOOL *pfSelection) { 4857 return This->lpVtbl->GetManualStreamSelection(This,pfSelection); 4858 } 4859 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetStreamsSelected(IWMReaderAdvanced5* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { 4860 return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); 4861 } 4862 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetStreamSelected(IWMReaderAdvanced5* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { 4863 return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); 4864 } 4865 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetReceiveSelectionCallbacks(IWMReaderAdvanced5* This,WINBOOL fGetCallbacks) { 4866 return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); 4867 } 4868 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetReceiveSelectionCallbacks(IWMReaderAdvanced5* This,WINBOOL *pfGetCallbacks) { 4869 return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); 4870 } 4871 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetReceiveStreamSamples(IWMReaderAdvanced5* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { 4872 return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); 4873 } 4874 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetReceiveStreamSamples(IWMReaderAdvanced5* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { 4875 return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); 4876 } 4877 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetAllocateForOutput(IWMReaderAdvanced5* This,DWORD dwOutputNum,WINBOOL fAllocate) { 4878 return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); 4879 } 4880 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetAllocateForOutput(IWMReaderAdvanced5* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { 4881 return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); 4882 } 4883 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetAllocateForStream(IWMReaderAdvanced5* This,WORD wStreamNum,WINBOOL fAllocate) { 4884 return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); 4885 } 4886 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetAllocateForStream(IWMReaderAdvanced5* This,WORD dwSreamNum,WINBOOL *pfAllocate) { 4887 return This->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate); 4888 } 4889 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetStatistics(IWMReaderAdvanced5* This,WM_READER_STATISTICS *pStatistics) { 4890 return This->lpVtbl->GetStatistics(This,pStatistics); 4891 } 4892 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetClientInfo(IWMReaderAdvanced5* This,WM_READER_CLIENTINFO *pClientInfo) { 4893 return This->lpVtbl->SetClientInfo(This,pClientInfo); 4894 } 4895 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetMaxOutputSampleSize(IWMReaderAdvanced5* This,DWORD dwOutput,DWORD *pcbMax) { 4896 return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); 4897 } 4898 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetMaxStreamSampleSize(IWMReaderAdvanced5* This,WORD wStream,DWORD *pcbMax) { 4899 return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); 4900 } 4901 static FORCEINLINE HRESULT IWMReaderAdvanced5_NotifyLateDelivery(IWMReaderAdvanced5* This,QWORD cnsLateness) { 4902 return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); 4903 } 4904 /*** IWMReaderAdvanced2 methods ***/ 4905 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetPlayMode(IWMReaderAdvanced5* This,WMT_PLAY_MODE Mode) { 4906 return This->lpVtbl->SetPlayMode(This,Mode); 4907 } 4908 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetPlayMode(IWMReaderAdvanced5* This,WMT_PLAY_MODE *pMode) { 4909 return This->lpVtbl->GetPlayMode(This,pMode); 4910 } 4911 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetBufferProgress(IWMReaderAdvanced5* This,DWORD *pdwPercent,QWORD *pcnsBuffering) { 4912 return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering); 4913 } 4914 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetDownloadProgress(IWMReaderAdvanced5* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) { 4915 return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload); 4916 } 4917 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetSaveAsProgress(IWMReaderAdvanced5* This,DWORD *pdwPercent) { 4918 return This->lpVtbl->GetSaveAsProgress(This,pdwPercent); 4919 } 4920 static FORCEINLINE HRESULT IWMReaderAdvanced5_SaveFileAs(IWMReaderAdvanced5* This,const WCHAR *pwszFilename) { 4921 return This->lpVtbl->SaveFileAs(This,pwszFilename); 4922 } 4923 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetProtocolName(IWMReaderAdvanced5* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) { 4924 return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol); 4925 } 4926 static FORCEINLINE HRESULT IWMReaderAdvanced5_StartAtMarker(IWMReaderAdvanced5* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) { 4927 return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext); 4928 } 4929 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetOutputSetting(IWMReaderAdvanced5* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { 4930 return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); 4931 } 4932 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetOutputSetting(IWMReaderAdvanced5* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { 4933 return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); 4934 } 4935 static FORCEINLINE HRESULT IWMReaderAdvanced5_Preroll(IWMReaderAdvanced5* This,QWORD cnsStart,QWORD cnsDuration,float fRate) { 4936 return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate); 4937 } 4938 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetLogClientID(IWMReaderAdvanced5* This,WINBOOL fLogClientID) { 4939 return This->lpVtbl->SetLogClientID(This,fLogClientID); 4940 } 4941 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetLogClientID(IWMReaderAdvanced5* This,WINBOOL *pfLogClientID) { 4942 return This->lpVtbl->GetLogClientID(This,pfLogClientID); 4943 } 4944 static FORCEINLINE HRESULT IWMReaderAdvanced5_StopBuffering(IWMReaderAdvanced5* This) { 4945 return This->lpVtbl->StopBuffering(This); 4946 } 4947 static FORCEINLINE HRESULT IWMReaderAdvanced5_OpenStream(IWMReaderAdvanced5* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) { 4948 return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext); 4949 } 4950 /*** IWMReaderAdvanced3 methods ***/ 4951 static FORCEINLINE HRESULT IWMReaderAdvanced5_StopNetStreaming(IWMReaderAdvanced5* This) { 4952 return This->lpVtbl->StopNetStreaming(This); 4953 } 4954 static FORCEINLINE HRESULT IWMReaderAdvanced5_StartAtPosition(IWMReaderAdvanced5* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) { 4955 return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext); 4956 } 4957 /*** IWMReaderAdvanced4 methods ***/ 4958 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetLanguageCount(IWMReaderAdvanced5* This,DWORD dwOutputNum,WORD *pwLanguageCount) { 4959 return This->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount); 4960 } 4961 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetLanguage(IWMReaderAdvanced5* This,DWORD dwOutputNum,WORD wLanguage,WCHAR *pwszLanguageString,WORD *pcchLanguageStringLength) { 4962 return This->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength); 4963 } 4964 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetMaxSpeedFactor(IWMReaderAdvanced5* This,double *pdblFactor) { 4965 return This->lpVtbl->GetMaxSpeedFactor(This,pdblFactor); 4966 } 4967 static FORCEINLINE HRESULT IWMReaderAdvanced5_IsUsingFastCache(IWMReaderAdvanced5* This,WINBOOL *pfUsingFastCache) { 4968 return This->lpVtbl->IsUsingFastCache(This,pfUsingFastCache); 4969 } 4970 static FORCEINLINE HRESULT IWMReaderAdvanced5_AddLogParam(IWMReaderAdvanced5* This,LPCWSTR wszNameSpace,LPCWSTR wszName,LPCWSTR wszValue) { 4971 return This->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue); 4972 } 4973 static FORCEINLINE HRESULT IWMReaderAdvanced5_SendLogParams(IWMReaderAdvanced5* This) { 4974 return This->lpVtbl->SendLogParams(This); 4975 } 4976 static FORCEINLINE HRESULT IWMReaderAdvanced5_CanSaveFileAs(IWMReaderAdvanced5* This,WINBOOL *pfCanSave) { 4977 return This->lpVtbl->CanSaveFileAs(This,pfCanSave); 4978 } 4979 static FORCEINLINE HRESULT IWMReaderAdvanced5_CancelSaveFileAs(IWMReaderAdvanced5* This) { 4980 return This->lpVtbl->CancelSaveFileAs(This); 4981 } 4982 static FORCEINLINE HRESULT IWMReaderAdvanced5_GetURL(IWMReaderAdvanced5* This,WCHAR *pwszURL,DWORD *pcchURL) { 4983 return This->lpVtbl->GetURL(This,pwszURL,pcchURL); 4984 } 4985 /*** IWMReaderAdvanced5 methods ***/ 4986 static FORCEINLINE HRESULT IWMReaderAdvanced5_SetPlayerHook(IWMReaderAdvanced5* This,DWORD dwOutputNum,IWMPlayerHook *pHook) { 4987 return This->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook); 4988 } 4989 #endif 4990 #endif 4991 4992 #endif 4993 4994 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced5_SetPlayerHook_Proxy( 4995 IWMReaderAdvanced5* This, 4996 DWORD dwOutputNum, 4997 IWMPlayerHook *pHook); 4998 void __RPC_STUB IWMReaderAdvanced5_SetPlayerHook_Stub( 4999 IRpcStubBuffer* This, 5000 IRpcChannelBuffer* pRpcChannelBuffer, 5001 PRPC_MESSAGE pRpcMessage, 5002 DWORD* pdwStubPhase); 5003 5004 #endif /* __IWMReaderAdvanced5_INTERFACE_DEFINED__ */ 5005 5006 /***************************************************************************** 5007 * IWMReaderAdvanced6 interface 5008 */ 5009 #ifndef __IWMReaderAdvanced6_INTERFACE_DEFINED__ 5010 #define __IWMReaderAdvanced6_INTERFACE_DEFINED__ 5011 5012 DEFINE_GUID(IID_IWMReaderAdvanced6, 0x18a2e7f8, 0x428f, 0x4acd, 0x8a,0x00, 0xe6,0x46,0x39,0xbc,0x93,0xde); 5013 #if defined(__cplusplus) && !defined(CINTERFACE) 5014 MIDL_INTERFACE("18a2e7f8-428f-4acd-8a00-e64639bc93de") 5015 IWMReaderAdvanced6 : public IWMReaderAdvanced5 5016 { 5017 virtual HRESULT STDMETHODCALLTYPE SetProtectStreamSamples( 5018 BYTE *pbCertificate, 5019 DWORD cbCertificate, 5020 DWORD dwCertificateType, 5021 DWORD dwFlags, 5022 BYTE *pbInitializationVector, 5023 DWORD *pcbInitializationVector) = 0; 5024 5025 }; 5026 #ifdef __CRT_UUID_DECL 5027 __CRT_UUID_DECL(IWMReaderAdvanced6, 0x18a2e7f8, 0x428f, 0x4acd, 0x8a,0x00, 0xe6,0x46,0x39,0xbc,0x93,0xde) 5028 #endif 5029 #else 5030 typedef struct IWMReaderAdvanced6Vtbl { 5031 BEGIN_INTERFACE 5032 5033 /*** IUnknown methods ***/ 5034 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5035 IWMReaderAdvanced6* This, 5036 REFIID riid, 5037 void **ppvObject); 5038 5039 ULONG (STDMETHODCALLTYPE *AddRef)( 5040 IWMReaderAdvanced6* This); 5041 5042 ULONG (STDMETHODCALLTYPE *Release)( 5043 IWMReaderAdvanced6* This); 5044 5045 /*** IWMReaderAdvanced methods ***/ 5046 HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( 5047 IWMReaderAdvanced6* This, 5048 WINBOOL fUserClock); 5049 5050 HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( 5051 IWMReaderAdvanced6* This, 5052 WINBOOL *pfUserClock); 5053 5054 HRESULT (STDMETHODCALLTYPE *DeliverTime)( 5055 IWMReaderAdvanced6* This, 5056 QWORD cnsTime); 5057 5058 HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( 5059 IWMReaderAdvanced6* This, 5060 WINBOOL fSelection); 5061 5062 HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( 5063 IWMReaderAdvanced6* This, 5064 WINBOOL *pfSelection); 5065 5066 HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( 5067 IWMReaderAdvanced6* This, 5068 WORD cStreamCount, 5069 WORD *pwStreamNumbers, 5070 WMT_STREAM_SELECTION *pSelections); 5071 5072 HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( 5073 IWMReaderAdvanced6* This, 5074 WORD wStreamNum, 5075 WMT_STREAM_SELECTION *pSelection); 5076 5077 HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( 5078 IWMReaderAdvanced6* This, 5079 WINBOOL fGetCallbacks); 5080 5081 HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( 5082 IWMReaderAdvanced6* This, 5083 WINBOOL *pfGetCallbacks); 5084 5085 HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( 5086 IWMReaderAdvanced6* This, 5087 WORD wStreamNum, 5088 WINBOOL fReceiveStreamSamples); 5089 5090 HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( 5091 IWMReaderAdvanced6* This, 5092 WORD wStreamNum, 5093 WINBOOL *pfReceiveStreamSamples); 5094 5095 HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( 5096 IWMReaderAdvanced6* This, 5097 DWORD dwOutputNum, 5098 WINBOOL fAllocate); 5099 5100 HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( 5101 IWMReaderAdvanced6* This, 5102 DWORD dwOutputNum, 5103 WINBOOL *pfAllocate); 5104 5105 HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( 5106 IWMReaderAdvanced6* This, 5107 WORD wStreamNum, 5108 WINBOOL fAllocate); 5109 5110 HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( 5111 IWMReaderAdvanced6* This, 5112 WORD dwSreamNum, 5113 WINBOOL *pfAllocate); 5114 5115 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 5116 IWMReaderAdvanced6* This, 5117 WM_READER_STATISTICS *pStatistics); 5118 5119 HRESULT (STDMETHODCALLTYPE *SetClientInfo)( 5120 IWMReaderAdvanced6* This, 5121 WM_READER_CLIENTINFO *pClientInfo); 5122 5123 HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( 5124 IWMReaderAdvanced6* This, 5125 DWORD dwOutput, 5126 DWORD *pcbMax); 5127 5128 HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( 5129 IWMReaderAdvanced6* This, 5130 WORD wStream, 5131 DWORD *pcbMax); 5132 5133 HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( 5134 IWMReaderAdvanced6* This, 5135 QWORD cnsLateness); 5136 5137 /*** IWMReaderAdvanced2 methods ***/ 5138 HRESULT (STDMETHODCALLTYPE *SetPlayMode)( 5139 IWMReaderAdvanced6* This, 5140 WMT_PLAY_MODE Mode); 5141 5142 HRESULT (STDMETHODCALLTYPE *GetPlayMode)( 5143 IWMReaderAdvanced6* This, 5144 WMT_PLAY_MODE *pMode); 5145 5146 HRESULT (STDMETHODCALLTYPE *GetBufferProgress)( 5147 IWMReaderAdvanced6* This, 5148 DWORD *pdwPercent, 5149 QWORD *pcnsBuffering); 5150 5151 HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)( 5152 IWMReaderAdvanced6* This, 5153 DWORD *pdwPercent, 5154 QWORD *pqwBytesDownloaded, 5155 QWORD *pcnsDownload); 5156 5157 HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)( 5158 IWMReaderAdvanced6* This, 5159 DWORD *pdwPercent); 5160 5161 HRESULT (STDMETHODCALLTYPE *SaveFileAs)( 5162 IWMReaderAdvanced6* This, 5163 const WCHAR *pwszFilename); 5164 5165 HRESULT (STDMETHODCALLTYPE *GetProtocolName)( 5166 IWMReaderAdvanced6* This, 5167 WCHAR *pwszProtocol, 5168 DWORD *pcchProtocol); 5169 5170 HRESULT (STDMETHODCALLTYPE *StartAtMarker)( 5171 IWMReaderAdvanced6* This, 5172 WORD wMarkerIndex, 5173 QWORD cnsDuration, 5174 float fRate, 5175 void *pvContext); 5176 5177 HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( 5178 IWMReaderAdvanced6* This, 5179 DWORD dwOutputNum, 5180 LPCWSTR pszName, 5181 WMT_ATTR_DATATYPE *pType, 5182 BYTE *pValue, 5183 WORD *pcbLength); 5184 5185 HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( 5186 IWMReaderAdvanced6* This, 5187 DWORD dwOutputNum, 5188 LPCWSTR pszName, 5189 WMT_ATTR_DATATYPE Type, 5190 const BYTE *pValue, 5191 WORD cbLength); 5192 5193 HRESULT (STDMETHODCALLTYPE *Preroll)( 5194 IWMReaderAdvanced6* This, 5195 QWORD cnsStart, 5196 QWORD cnsDuration, 5197 float fRate); 5198 5199 HRESULT (STDMETHODCALLTYPE *SetLogClientID)( 5200 IWMReaderAdvanced6* This, 5201 WINBOOL fLogClientID); 5202 5203 HRESULT (STDMETHODCALLTYPE *GetLogClientID)( 5204 IWMReaderAdvanced6* This, 5205 WINBOOL *pfLogClientID); 5206 5207 HRESULT (STDMETHODCALLTYPE *StopBuffering)( 5208 IWMReaderAdvanced6* This); 5209 5210 HRESULT (STDMETHODCALLTYPE *OpenStream)( 5211 IWMReaderAdvanced6* This, 5212 IStream *pStream, 5213 IWMReaderCallback *pCallback, 5214 void *pvContext); 5215 5216 /*** IWMReaderAdvanced3 methods ***/ 5217 HRESULT (STDMETHODCALLTYPE *StopNetStreaming)( 5218 IWMReaderAdvanced6* This); 5219 5220 HRESULT (STDMETHODCALLTYPE *StartAtPosition)( 5221 IWMReaderAdvanced6* This, 5222 WORD wStreamNum, 5223 void *pvOffsetStart, 5224 void *pvDuration, 5225 WMT_OFFSET_FORMAT dwOffsetFormat, 5226 float fRate, 5227 void *pvContext); 5228 5229 /*** IWMReaderAdvanced4 methods ***/ 5230 HRESULT (STDMETHODCALLTYPE *GetLanguageCount)( 5231 IWMReaderAdvanced6* This, 5232 DWORD dwOutputNum, 5233 WORD *pwLanguageCount); 5234 5235 HRESULT (STDMETHODCALLTYPE *GetLanguage)( 5236 IWMReaderAdvanced6* This, 5237 DWORD dwOutputNum, 5238 WORD wLanguage, 5239 WCHAR *pwszLanguageString, 5240 WORD *pcchLanguageStringLength); 5241 5242 HRESULT (STDMETHODCALLTYPE *GetMaxSpeedFactor)( 5243 IWMReaderAdvanced6* This, 5244 double *pdblFactor); 5245 5246 HRESULT (STDMETHODCALLTYPE *IsUsingFastCache)( 5247 IWMReaderAdvanced6* This, 5248 WINBOOL *pfUsingFastCache); 5249 5250 HRESULT (STDMETHODCALLTYPE *AddLogParam)( 5251 IWMReaderAdvanced6* This, 5252 LPCWSTR wszNameSpace, 5253 LPCWSTR wszName, 5254 LPCWSTR wszValue); 5255 5256 HRESULT (STDMETHODCALLTYPE *SendLogParams)( 5257 IWMReaderAdvanced6* This); 5258 5259 HRESULT (STDMETHODCALLTYPE *CanSaveFileAs)( 5260 IWMReaderAdvanced6* This, 5261 WINBOOL *pfCanSave); 5262 5263 HRESULT (STDMETHODCALLTYPE *CancelSaveFileAs)( 5264 IWMReaderAdvanced6* This); 5265 5266 HRESULT (STDMETHODCALLTYPE *GetURL)( 5267 IWMReaderAdvanced6* This, 5268 WCHAR *pwszURL, 5269 DWORD *pcchURL); 5270 5271 /*** IWMReaderAdvanced5 methods ***/ 5272 HRESULT (STDMETHODCALLTYPE *SetPlayerHook)( 5273 IWMReaderAdvanced6* This, 5274 DWORD dwOutputNum, 5275 IWMPlayerHook *pHook); 5276 5277 /*** IWMReaderAdvanced6 methods ***/ 5278 HRESULT (STDMETHODCALLTYPE *SetProtectStreamSamples)( 5279 IWMReaderAdvanced6* This, 5280 BYTE *pbCertificate, 5281 DWORD cbCertificate, 5282 DWORD dwCertificateType, 5283 DWORD dwFlags, 5284 BYTE *pbInitializationVector, 5285 DWORD *pcbInitializationVector); 5286 5287 END_INTERFACE 5288 } IWMReaderAdvanced6Vtbl; 5289 interface IWMReaderAdvanced6 { 5290 CONST_VTBL IWMReaderAdvanced6Vtbl* lpVtbl; 5291 }; 5292 5293 #ifdef COBJMACROS 5294 #ifndef WIDL_C_INLINE_WRAPPERS 5295 /*** IUnknown methods ***/ 5296 #define IWMReaderAdvanced6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5297 #define IWMReaderAdvanced6_AddRef(This) (This)->lpVtbl->AddRef(This) 5298 #define IWMReaderAdvanced6_Release(This) (This)->lpVtbl->Release(This) 5299 /*** IWMReaderAdvanced methods ***/ 5300 #define IWMReaderAdvanced6_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) 5301 #define IWMReaderAdvanced6_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) 5302 #define IWMReaderAdvanced6_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) 5303 #define IWMReaderAdvanced6_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) 5304 #define IWMReaderAdvanced6_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) 5305 #define IWMReaderAdvanced6_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) 5306 #define IWMReaderAdvanced6_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) 5307 #define IWMReaderAdvanced6_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) 5308 #define IWMReaderAdvanced6_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) 5309 #define IWMReaderAdvanced6_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) 5310 #define IWMReaderAdvanced6_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) 5311 #define IWMReaderAdvanced6_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) 5312 #define IWMReaderAdvanced6_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) 5313 #define IWMReaderAdvanced6_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) 5314 #define IWMReaderAdvanced6_GetAllocateForStream(This,dwSreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate) 5315 #define IWMReaderAdvanced6_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) 5316 #define IWMReaderAdvanced6_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) 5317 #define IWMReaderAdvanced6_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) 5318 #define IWMReaderAdvanced6_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) 5319 #define IWMReaderAdvanced6_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) 5320 /*** IWMReaderAdvanced2 methods ***/ 5321 #define IWMReaderAdvanced6_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode) 5322 #define IWMReaderAdvanced6_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode) 5323 #define IWMReaderAdvanced6_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering) 5324 #define IWMReaderAdvanced6_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) 5325 #define IWMReaderAdvanced6_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent) 5326 #define IWMReaderAdvanced6_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename) 5327 #define IWMReaderAdvanced6_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol) 5328 #define IWMReaderAdvanced6_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) 5329 #define IWMReaderAdvanced6_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) 5330 #define IWMReaderAdvanced6_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) 5331 #define IWMReaderAdvanced6_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate) 5332 #define IWMReaderAdvanced6_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID) 5333 #define IWMReaderAdvanced6_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID) 5334 #define IWMReaderAdvanced6_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) 5335 #define IWMReaderAdvanced6_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext) 5336 /*** IWMReaderAdvanced3 methods ***/ 5337 #define IWMReaderAdvanced6_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This) 5338 #define IWMReaderAdvanced6_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) 5339 /*** IWMReaderAdvanced4 methods ***/ 5340 #define IWMReaderAdvanced6_GetLanguageCount(This,dwOutputNum,pwLanguageCount) (This)->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount) 5341 #define IWMReaderAdvanced6_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) (This)->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) 5342 #define IWMReaderAdvanced6_GetMaxSpeedFactor(This,pdblFactor) (This)->lpVtbl->GetMaxSpeedFactor(This,pdblFactor) 5343 #define IWMReaderAdvanced6_IsUsingFastCache(This,pfUsingFastCache) (This)->lpVtbl->IsUsingFastCache(This,pfUsingFastCache) 5344 #define IWMReaderAdvanced6_AddLogParam(This,wszNameSpace,wszName,wszValue) (This)->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue) 5345 #define IWMReaderAdvanced6_SendLogParams(This) (This)->lpVtbl->SendLogParams(This) 5346 #define IWMReaderAdvanced6_CanSaveFileAs(This,pfCanSave) (This)->lpVtbl->CanSaveFileAs(This,pfCanSave) 5347 #define IWMReaderAdvanced6_CancelSaveFileAs(This) (This)->lpVtbl->CancelSaveFileAs(This) 5348 #define IWMReaderAdvanced6_GetURL(This,pwszURL,pcchURL) (This)->lpVtbl->GetURL(This,pwszURL,pcchURL) 5349 /*** IWMReaderAdvanced5 methods ***/ 5350 #define IWMReaderAdvanced6_SetPlayerHook(This,dwOutputNum,pHook) (This)->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook) 5351 /*** IWMReaderAdvanced6 methods ***/ 5352 #define IWMReaderAdvanced6_SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector) (This)->lpVtbl->SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector) 5353 #else 5354 /*** IUnknown methods ***/ 5355 static FORCEINLINE HRESULT IWMReaderAdvanced6_QueryInterface(IWMReaderAdvanced6* This,REFIID riid,void **ppvObject) { 5356 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5357 } 5358 static FORCEINLINE ULONG IWMReaderAdvanced6_AddRef(IWMReaderAdvanced6* This) { 5359 return This->lpVtbl->AddRef(This); 5360 } 5361 static FORCEINLINE ULONG IWMReaderAdvanced6_Release(IWMReaderAdvanced6* This) { 5362 return This->lpVtbl->Release(This); 5363 } 5364 /*** IWMReaderAdvanced methods ***/ 5365 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetUserProvidedClock(IWMReaderAdvanced6* This,WINBOOL fUserClock) { 5366 return This->lpVtbl->SetUserProvidedClock(This,fUserClock); 5367 } 5368 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetUserProvidedClock(IWMReaderAdvanced6* This,WINBOOL *pfUserClock) { 5369 return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); 5370 } 5371 static FORCEINLINE HRESULT IWMReaderAdvanced6_DeliverTime(IWMReaderAdvanced6* This,QWORD cnsTime) { 5372 return This->lpVtbl->DeliverTime(This,cnsTime); 5373 } 5374 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetManualStreamSelection(IWMReaderAdvanced6* This,WINBOOL fSelection) { 5375 return This->lpVtbl->SetManualStreamSelection(This,fSelection); 5376 } 5377 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetManualStreamSelection(IWMReaderAdvanced6* This,WINBOOL *pfSelection) { 5378 return This->lpVtbl->GetManualStreamSelection(This,pfSelection); 5379 } 5380 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetStreamsSelected(IWMReaderAdvanced6* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { 5381 return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); 5382 } 5383 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetStreamSelected(IWMReaderAdvanced6* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { 5384 return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); 5385 } 5386 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetReceiveSelectionCallbacks(IWMReaderAdvanced6* This,WINBOOL fGetCallbacks) { 5387 return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); 5388 } 5389 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetReceiveSelectionCallbacks(IWMReaderAdvanced6* This,WINBOOL *pfGetCallbacks) { 5390 return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); 5391 } 5392 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetReceiveStreamSamples(IWMReaderAdvanced6* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { 5393 return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); 5394 } 5395 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetReceiveStreamSamples(IWMReaderAdvanced6* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { 5396 return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); 5397 } 5398 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetAllocateForOutput(IWMReaderAdvanced6* This,DWORD dwOutputNum,WINBOOL fAllocate) { 5399 return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); 5400 } 5401 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetAllocateForOutput(IWMReaderAdvanced6* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { 5402 return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); 5403 } 5404 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetAllocateForStream(IWMReaderAdvanced6* This,WORD wStreamNum,WINBOOL fAllocate) { 5405 return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); 5406 } 5407 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetAllocateForStream(IWMReaderAdvanced6* This,WORD dwSreamNum,WINBOOL *pfAllocate) { 5408 return This->lpVtbl->GetAllocateForStream(This,dwSreamNum,pfAllocate); 5409 } 5410 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetStatistics(IWMReaderAdvanced6* This,WM_READER_STATISTICS *pStatistics) { 5411 return This->lpVtbl->GetStatistics(This,pStatistics); 5412 } 5413 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetClientInfo(IWMReaderAdvanced6* This,WM_READER_CLIENTINFO *pClientInfo) { 5414 return This->lpVtbl->SetClientInfo(This,pClientInfo); 5415 } 5416 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetMaxOutputSampleSize(IWMReaderAdvanced6* This,DWORD dwOutput,DWORD *pcbMax) { 5417 return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); 5418 } 5419 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetMaxStreamSampleSize(IWMReaderAdvanced6* This,WORD wStream,DWORD *pcbMax) { 5420 return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); 5421 } 5422 static FORCEINLINE HRESULT IWMReaderAdvanced6_NotifyLateDelivery(IWMReaderAdvanced6* This,QWORD cnsLateness) { 5423 return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); 5424 } 5425 /*** IWMReaderAdvanced2 methods ***/ 5426 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetPlayMode(IWMReaderAdvanced6* This,WMT_PLAY_MODE Mode) { 5427 return This->lpVtbl->SetPlayMode(This,Mode); 5428 } 5429 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetPlayMode(IWMReaderAdvanced6* This,WMT_PLAY_MODE *pMode) { 5430 return This->lpVtbl->GetPlayMode(This,pMode); 5431 } 5432 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetBufferProgress(IWMReaderAdvanced6* This,DWORD *pdwPercent,QWORD *pcnsBuffering) { 5433 return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering); 5434 } 5435 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetDownloadProgress(IWMReaderAdvanced6* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) { 5436 return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload); 5437 } 5438 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetSaveAsProgress(IWMReaderAdvanced6* This,DWORD *pdwPercent) { 5439 return This->lpVtbl->GetSaveAsProgress(This,pdwPercent); 5440 } 5441 static FORCEINLINE HRESULT IWMReaderAdvanced6_SaveFileAs(IWMReaderAdvanced6* This,const WCHAR *pwszFilename) { 5442 return This->lpVtbl->SaveFileAs(This,pwszFilename); 5443 } 5444 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetProtocolName(IWMReaderAdvanced6* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) { 5445 return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol); 5446 } 5447 static FORCEINLINE HRESULT IWMReaderAdvanced6_StartAtMarker(IWMReaderAdvanced6* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) { 5448 return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext); 5449 } 5450 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetOutputSetting(IWMReaderAdvanced6* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { 5451 return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); 5452 } 5453 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetOutputSetting(IWMReaderAdvanced6* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { 5454 return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); 5455 } 5456 static FORCEINLINE HRESULT IWMReaderAdvanced6_Preroll(IWMReaderAdvanced6* This,QWORD cnsStart,QWORD cnsDuration,float fRate) { 5457 return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate); 5458 } 5459 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetLogClientID(IWMReaderAdvanced6* This,WINBOOL fLogClientID) { 5460 return This->lpVtbl->SetLogClientID(This,fLogClientID); 5461 } 5462 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetLogClientID(IWMReaderAdvanced6* This,WINBOOL *pfLogClientID) { 5463 return This->lpVtbl->GetLogClientID(This,pfLogClientID); 5464 } 5465 static FORCEINLINE HRESULT IWMReaderAdvanced6_StopBuffering(IWMReaderAdvanced6* This) { 5466 return This->lpVtbl->StopBuffering(This); 5467 } 5468 static FORCEINLINE HRESULT IWMReaderAdvanced6_OpenStream(IWMReaderAdvanced6* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) { 5469 return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext); 5470 } 5471 /*** IWMReaderAdvanced3 methods ***/ 5472 static FORCEINLINE HRESULT IWMReaderAdvanced6_StopNetStreaming(IWMReaderAdvanced6* This) { 5473 return This->lpVtbl->StopNetStreaming(This); 5474 } 5475 static FORCEINLINE HRESULT IWMReaderAdvanced6_StartAtPosition(IWMReaderAdvanced6* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) { 5476 return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext); 5477 } 5478 /*** IWMReaderAdvanced4 methods ***/ 5479 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetLanguageCount(IWMReaderAdvanced6* This,DWORD dwOutputNum,WORD *pwLanguageCount) { 5480 return This->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount); 5481 } 5482 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetLanguage(IWMReaderAdvanced6* This,DWORD dwOutputNum,WORD wLanguage,WCHAR *pwszLanguageString,WORD *pcchLanguageStringLength) { 5483 return This->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength); 5484 } 5485 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetMaxSpeedFactor(IWMReaderAdvanced6* This,double *pdblFactor) { 5486 return This->lpVtbl->GetMaxSpeedFactor(This,pdblFactor); 5487 } 5488 static FORCEINLINE HRESULT IWMReaderAdvanced6_IsUsingFastCache(IWMReaderAdvanced6* This,WINBOOL *pfUsingFastCache) { 5489 return This->lpVtbl->IsUsingFastCache(This,pfUsingFastCache); 5490 } 5491 static FORCEINLINE HRESULT IWMReaderAdvanced6_AddLogParam(IWMReaderAdvanced6* This,LPCWSTR wszNameSpace,LPCWSTR wszName,LPCWSTR wszValue) { 5492 return This->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue); 5493 } 5494 static FORCEINLINE HRESULT IWMReaderAdvanced6_SendLogParams(IWMReaderAdvanced6* This) { 5495 return This->lpVtbl->SendLogParams(This); 5496 } 5497 static FORCEINLINE HRESULT IWMReaderAdvanced6_CanSaveFileAs(IWMReaderAdvanced6* This,WINBOOL *pfCanSave) { 5498 return This->lpVtbl->CanSaveFileAs(This,pfCanSave); 5499 } 5500 static FORCEINLINE HRESULT IWMReaderAdvanced6_CancelSaveFileAs(IWMReaderAdvanced6* This) { 5501 return This->lpVtbl->CancelSaveFileAs(This); 5502 } 5503 static FORCEINLINE HRESULT IWMReaderAdvanced6_GetURL(IWMReaderAdvanced6* This,WCHAR *pwszURL,DWORD *pcchURL) { 5504 return This->lpVtbl->GetURL(This,pwszURL,pcchURL); 5505 } 5506 /*** IWMReaderAdvanced5 methods ***/ 5507 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetPlayerHook(IWMReaderAdvanced6* This,DWORD dwOutputNum,IWMPlayerHook *pHook) { 5508 return This->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook); 5509 } 5510 /*** IWMReaderAdvanced6 methods ***/ 5511 static FORCEINLINE HRESULT IWMReaderAdvanced6_SetProtectStreamSamples(IWMReaderAdvanced6* This,BYTE *pbCertificate,DWORD cbCertificate,DWORD dwCertificateType,DWORD dwFlags,BYTE *pbInitializationVector,DWORD *pcbInitializationVector) { 5512 return This->lpVtbl->SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector); 5513 } 5514 #endif 5515 #endif 5516 5517 #endif 5518 5519 HRESULT STDMETHODCALLTYPE IWMReaderAdvanced6_SetProtectStreamSamples_Proxy( 5520 IWMReaderAdvanced6* This, 5521 BYTE *pbCertificate, 5522 DWORD cbCertificate, 5523 DWORD dwCertificateType, 5524 DWORD dwFlags, 5525 BYTE *pbInitializationVector, 5526 DWORD *pcbInitializationVector); 5527 void __RPC_STUB IWMReaderAdvanced6_SetProtectStreamSamples_Stub( 5528 IRpcStubBuffer* This, 5529 IRpcChannelBuffer* pRpcChannelBuffer, 5530 PRPC_MESSAGE pRpcMessage, 5531 DWORD* pdwStubPhase); 5532 5533 #endif /* __IWMReaderAdvanced6_INTERFACE_DEFINED__ */ 5534 5535 /***************************************************************************** 5536 * IWMSyncReader interface 5537 */ 5538 #ifndef __IWMSyncReader_INTERFACE_DEFINED__ 5539 #define __IWMSyncReader_INTERFACE_DEFINED__ 5540 5541 DEFINE_GUID(IID_IWMSyncReader, 0x9397f121, 0x7705, 0x4dc9, 0xb0,0x49, 0x98,0xb6,0x98,0x18,0x84,0x14); 5542 #if defined(__cplusplus) && !defined(CINTERFACE) 5543 MIDL_INTERFACE("9397f121-7705-4dc9-b049-98b698188414") 5544 IWMSyncReader : public IUnknown 5545 { 5546 virtual HRESULT STDMETHODCALLTYPE Open( 5547 const WCHAR *pwszFilename) = 0; 5548 5549 virtual HRESULT STDMETHODCALLTYPE Close( 5550 ) = 0; 5551 5552 virtual HRESULT STDMETHODCALLTYPE SetRange( 5553 QWORD cnsStartTime, 5554 LONGLONG cnsDuration) = 0; 5555 5556 virtual HRESULT STDMETHODCALLTYPE SetRangeByFrame( 5557 WORD wStreamNum, 5558 QWORD qwFrameNumber, 5559 LONGLONG cFramesToRead) = 0; 5560 5561 virtual HRESULT STDMETHODCALLTYPE GetNextSample( 5562 WORD wStreamNum, 5563 INSSBuffer **ppSample, 5564 QWORD *pcnsSampleTime, 5565 QWORD *pcnsDuration, 5566 DWORD *pdwFlags, 5567 DWORD *pdwOutputNum, 5568 WORD *pwStreamNum) = 0; 5569 5570 virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected( 5571 WORD cStreamCount, 5572 WORD *pwStreamNumbers, 5573 WMT_STREAM_SELECTION *pSelections) = 0; 5574 5575 virtual HRESULT STDMETHODCALLTYPE GetStreamSelected( 5576 WORD wStreamNum, 5577 WMT_STREAM_SELECTION *pSelection) = 0; 5578 5579 virtual HRESULT STDMETHODCALLTYPE SetReadStreamSamples( 5580 WORD wStreamNum, 5581 WINBOOL fCompressed) = 0; 5582 5583 virtual HRESULT STDMETHODCALLTYPE GetReadStreamSamples( 5584 WORD wStreamNum, 5585 WINBOOL *pfCompressed) = 0; 5586 5587 virtual HRESULT STDMETHODCALLTYPE GetOutputSetting( 5588 DWORD dwOutputNum, 5589 LPCWSTR pszName, 5590 WMT_ATTR_DATATYPE *pType, 5591 BYTE *pValue, 5592 WORD *pcbLength) = 0; 5593 5594 virtual HRESULT STDMETHODCALLTYPE SetOutputSetting( 5595 DWORD dwOutputNum, 5596 LPCWSTR pszName, 5597 WMT_ATTR_DATATYPE Type, 5598 const BYTE *pValue, 5599 WORD cbLength) = 0; 5600 5601 virtual HRESULT STDMETHODCALLTYPE GetOutputCount( 5602 DWORD *pcOutputs) = 0; 5603 5604 virtual HRESULT STDMETHODCALLTYPE GetOutputProps( 5605 DWORD dwOutputNum, 5606 IWMOutputMediaProps **ppOutput) = 0; 5607 5608 virtual HRESULT STDMETHODCALLTYPE SetOutputProps( 5609 DWORD dwOutputNum, 5610 IWMOutputMediaProps *pOutput) = 0; 5611 5612 virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount( 5613 DWORD dwOutputNum, 5614 DWORD *pcFormats) = 0; 5615 5616 virtual HRESULT STDMETHODCALLTYPE GetOutputFormat( 5617 DWORD dwOutputNum, 5618 DWORD dwFormatNum, 5619 IWMOutputMediaProps **ppProps) = 0; 5620 5621 virtual HRESULT STDMETHODCALLTYPE GetOutputNumberForStream( 5622 WORD wStreamNum, 5623 DWORD *pdwOutputNum) = 0; 5624 5625 virtual HRESULT STDMETHODCALLTYPE GetStreamNumberForOutput( 5626 DWORD dwOutputNum, 5627 WORD *pwStreamNum) = 0; 5628 5629 virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize( 5630 DWORD dwOutput, 5631 DWORD *pcbMax) = 0; 5632 5633 virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize( 5634 WORD wStream, 5635 DWORD *pcbMax) = 0; 5636 5637 virtual HRESULT STDMETHODCALLTYPE OpenStream( 5638 IStream *pStream) = 0; 5639 5640 }; 5641 #ifdef __CRT_UUID_DECL 5642 __CRT_UUID_DECL(IWMSyncReader, 0x9397f121, 0x7705, 0x4dc9, 0xb0,0x49, 0x98,0xb6,0x98,0x18,0x84,0x14) 5643 #endif 5644 #else 5645 typedef struct IWMSyncReaderVtbl { 5646 BEGIN_INTERFACE 5647 5648 /*** IUnknown methods ***/ 5649 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5650 IWMSyncReader* This, 5651 REFIID riid, 5652 void **ppvObject); 5653 5654 ULONG (STDMETHODCALLTYPE *AddRef)( 5655 IWMSyncReader* This); 5656 5657 ULONG (STDMETHODCALLTYPE *Release)( 5658 IWMSyncReader* This); 5659 5660 /*** IWMSyncReader methods ***/ 5661 HRESULT (STDMETHODCALLTYPE *Open)( 5662 IWMSyncReader* This, 5663 const WCHAR *pwszFilename); 5664 5665 HRESULT (STDMETHODCALLTYPE *Close)( 5666 IWMSyncReader* This); 5667 5668 HRESULT (STDMETHODCALLTYPE *SetRange)( 5669 IWMSyncReader* This, 5670 QWORD cnsStartTime, 5671 LONGLONG cnsDuration); 5672 5673 HRESULT (STDMETHODCALLTYPE *SetRangeByFrame)( 5674 IWMSyncReader* This, 5675 WORD wStreamNum, 5676 QWORD qwFrameNumber, 5677 LONGLONG cFramesToRead); 5678 5679 HRESULT (STDMETHODCALLTYPE *GetNextSample)( 5680 IWMSyncReader* This, 5681 WORD wStreamNum, 5682 INSSBuffer **ppSample, 5683 QWORD *pcnsSampleTime, 5684 QWORD *pcnsDuration, 5685 DWORD *pdwFlags, 5686 DWORD *pdwOutputNum, 5687 WORD *pwStreamNum); 5688 5689 HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( 5690 IWMSyncReader* This, 5691 WORD cStreamCount, 5692 WORD *pwStreamNumbers, 5693 WMT_STREAM_SELECTION *pSelections); 5694 5695 HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( 5696 IWMSyncReader* This, 5697 WORD wStreamNum, 5698 WMT_STREAM_SELECTION *pSelection); 5699 5700 HRESULT (STDMETHODCALLTYPE *SetReadStreamSamples)( 5701 IWMSyncReader* This, 5702 WORD wStreamNum, 5703 WINBOOL fCompressed); 5704 5705 HRESULT (STDMETHODCALLTYPE *GetReadStreamSamples)( 5706 IWMSyncReader* This, 5707 WORD wStreamNum, 5708 WINBOOL *pfCompressed); 5709 5710 HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( 5711 IWMSyncReader* This, 5712 DWORD dwOutputNum, 5713 LPCWSTR pszName, 5714 WMT_ATTR_DATATYPE *pType, 5715 BYTE *pValue, 5716 WORD *pcbLength); 5717 5718 HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( 5719 IWMSyncReader* This, 5720 DWORD dwOutputNum, 5721 LPCWSTR pszName, 5722 WMT_ATTR_DATATYPE Type, 5723 const BYTE *pValue, 5724 WORD cbLength); 5725 5726 HRESULT (STDMETHODCALLTYPE *GetOutputCount)( 5727 IWMSyncReader* This, 5728 DWORD *pcOutputs); 5729 5730 HRESULT (STDMETHODCALLTYPE *GetOutputProps)( 5731 IWMSyncReader* This, 5732 DWORD dwOutputNum, 5733 IWMOutputMediaProps **ppOutput); 5734 5735 HRESULT (STDMETHODCALLTYPE *SetOutputProps)( 5736 IWMSyncReader* This, 5737 DWORD dwOutputNum, 5738 IWMOutputMediaProps *pOutput); 5739 5740 HRESULT (STDMETHODCALLTYPE *GetOutputFormatCount)( 5741 IWMSyncReader* This, 5742 DWORD dwOutputNum, 5743 DWORD *pcFormats); 5744 5745 HRESULT (STDMETHODCALLTYPE *GetOutputFormat)( 5746 IWMSyncReader* This, 5747 DWORD dwOutputNum, 5748 DWORD dwFormatNum, 5749 IWMOutputMediaProps **ppProps); 5750 5751 HRESULT (STDMETHODCALLTYPE *GetOutputNumberForStream)( 5752 IWMSyncReader* This, 5753 WORD wStreamNum, 5754 DWORD *pdwOutputNum); 5755 5756 HRESULT (STDMETHODCALLTYPE *GetStreamNumberForOutput)( 5757 IWMSyncReader* This, 5758 DWORD dwOutputNum, 5759 WORD *pwStreamNum); 5760 5761 HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( 5762 IWMSyncReader* This, 5763 DWORD dwOutput, 5764 DWORD *pcbMax); 5765 5766 HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( 5767 IWMSyncReader* This, 5768 WORD wStream, 5769 DWORD *pcbMax); 5770 5771 HRESULT (STDMETHODCALLTYPE *OpenStream)( 5772 IWMSyncReader* This, 5773 IStream *pStream); 5774 5775 END_INTERFACE 5776 } IWMSyncReaderVtbl; 5777 interface IWMSyncReader { 5778 CONST_VTBL IWMSyncReaderVtbl* lpVtbl; 5779 }; 5780 5781 #ifdef COBJMACROS 5782 #ifndef WIDL_C_INLINE_WRAPPERS 5783 /*** IUnknown methods ***/ 5784 #define IWMSyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5785 #define IWMSyncReader_AddRef(This) (This)->lpVtbl->AddRef(This) 5786 #define IWMSyncReader_Release(This) (This)->lpVtbl->Release(This) 5787 /*** IWMSyncReader methods ***/ 5788 #define IWMSyncReader_Open(This,pwszFilename) (This)->lpVtbl->Open(This,pwszFilename) 5789 #define IWMSyncReader_Close(This) (This)->lpVtbl->Close(This) 5790 #define IWMSyncReader_SetRange(This,cnsStartTime,cnsDuration) (This)->lpVtbl->SetRange(This,cnsStartTime,cnsDuration) 5791 #define IWMSyncReader_SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) (This)->lpVtbl->SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) 5792 #define IWMSyncReader_GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) (This)->lpVtbl->GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) 5793 #define IWMSyncReader_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) 5794 #define IWMSyncReader_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) 5795 #define IWMSyncReader_SetReadStreamSamples(This,wStreamNum,fCompressed) (This)->lpVtbl->SetReadStreamSamples(This,wStreamNum,fCompressed) 5796 #define IWMSyncReader_GetReadStreamSamples(This,wStreamNum,pfCompressed) (This)->lpVtbl->GetReadStreamSamples(This,wStreamNum,pfCompressed) 5797 #define IWMSyncReader_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) 5798 #define IWMSyncReader_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) 5799 #define IWMSyncReader_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs) 5800 #define IWMSyncReader_GetOutputProps(This,dwOutputNum,ppOutput) (This)->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput) 5801 #define IWMSyncReader_SetOutputProps(This,dwOutputNum,pOutput) (This)->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput) 5802 #define IWMSyncReader_GetOutputFormatCount(This,dwOutputNum,pcFormats) (This)->lpVtbl->GetOutputFormatCount(This,dwOutputNum,pcFormats) 5803 #define IWMSyncReader_GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) (This)->lpVtbl->GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) 5804 #define IWMSyncReader_GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) (This)->lpVtbl->GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) 5805 #define IWMSyncReader_GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) (This)->lpVtbl->GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) 5806 #define IWMSyncReader_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) 5807 #define IWMSyncReader_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) 5808 #define IWMSyncReader_OpenStream(This,pStream) (This)->lpVtbl->OpenStream(This,pStream) 5809 #else 5810 /*** IUnknown methods ***/ 5811 static FORCEINLINE HRESULT IWMSyncReader_QueryInterface(IWMSyncReader* This,REFIID riid,void **ppvObject) { 5812 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5813 } 5814 static FORCEINLINE ULONG IWMSyncReader_AddRef(IWMSyncReader* This) { 5815 return This->lpVtbl->AddRef(This); 5816 } 5817 static FORCEINLINE ULONG IWMSyncReader_Release(IWMSyncReader* This) { 5818 return This->lpVtbl->Release(This); 5819 } 5820 /*** IWMSyncReader methods ***/ 5821 static FORCEINLINE HRESULT IWMSyncReader_Open(IWMSyncReader* This,const WCHAR *pwszFilename) { 5822 return This->lpVtbl->Open(This,pwszFilename); 5823 } 5824 static FORCEINLINE HRESULT IWMSyncReader_Close(IWMSyncReader* This) { 5825 return This->lpVtbl->Close(This); 5826 } 5827 static FORCEINLINE HRESULT IWMSyncReader_SetRange(IWMSyncReader* This,QWORD cnsStartTime,LONGLONG cnsDuration) { 5828 return This->lpVtbl->SetRange(This,cnsStartTime,cnsDuration); 5829 } 5830 static FORCEINLINE HRESULT IWMSyncReader_SetRangeByFrame(IWMSyncReader* This,WORD wStreamNum,QWORD qwFrameNumber,LONGLONG cFramesToRead) { 5831 return This->lpVtbl->SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead); 5832 } 5833 static FORCEINLINE HRESULT IWMSyncReader_GetNextSample(IWMSyncReader* This,WORD wStreamNum,INSSBuffer **ppSample,QWORD *pcnsSampleTime,QWORD *pcnsDuration,DWORD *pdwFlags,DWORD *pdwOutputNum,WORD *pwStreamNum) { 5834 return This->lpVtbl->GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum); 5835 } 5836 static FORCEINLINE HRESULT IWMSyncReader_SetStreamsSelected(IWMSyncReader* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { 5837 return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); 5838 } 5839 static FORCEINLINE HRESULT IWMSyncReader_GetStreamSelected(IWMSyncReader* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { 5840 return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); 5841 } 5842 static FORCEINLINE HRESULT IWMSyncReader_SetReadStreamSamples(IWMSyncReader* This,WORD wStreamNum,WINBOOL fCompressed) { 5843 return This->lpVtbl->SetReadStreamSamples(This,wStreamNum,fCompressed); 5844 } 5845 static FORCEINLINE HRESULT IWMSyncReader_GetReadStreamSamples(IWMSyncReader* This,WORD wStreamNum,WINBOOL *pfCompressed) { 5846 return This->lpVtbl->GetReadStreamSamples(This,wStreamNum,pfCompressed); 5847 } 5848 static FORCEINLINE HRESULT IWMSyncReader_GetOutputSetting(IWMSyncReader* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { 5849 return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); 5850 } 5851 static FORCEINLINE HRESULT IWMSyncReader_SetOutputSetting(IWMSyncReader* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { 5852 return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); 5853 } 5854 static FORCEINLINE HRESULT IWMSyncReader_GetOutputCount(IWMSyncReader* This,DWORD *pcOutputs) { 5855 return This->lpVtbl->GetOutputCount(This,pcOutputs); 5856 } 5857 static FORCEINLINE HRESULT IWMSyncReader_GetOutputProps(IWMSyncReader* This,DWORD dwOutputNum,IWMOutputMediaProps **ppOutput) { 5858 return This->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput); 5859 } 5860 static FORCEINLINE HRESULT IWMSyncReader_SetOutputProps(IWMSyncReader* This,DWORD dwOutputNum,IWMOutputMediaProps *pOutput) { 5861 return This->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput); 5862 } 5863 static FORCEINLINE HRESULT IWMSyncReader_GetOutputFormatCount(IWMSyncReader* This,DWORD dwOutputNum,DWORD *pcFormats) { 5864 return This->lpVtbl->GetOutputFormatCount(This,dwOutputNum,pcFormats); 5865 } 5866 static FORCEINLINE HRESULT IWMSyncReader_GetOutputFormat(IWMSyncReader* This,DWORD dwOutputNum,DWORD dwFormatNum,IWMOutputMediaProps **ppProps) { 5867 return This->lpVtbl->GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps); 5868 } 5869 static FORCEINLINE HRESULT IWMSyncReader_GetOutputNumberForStream(IWMSyncReader* This,WORD wStreamNum,DWORD *pdwOutputNum) { 5870 return This->lpVtbl->GetOutputNumberForStream(This,wStreamNum,pdwOutputNum); 5871 } 5872 static FORCEINLINE HRESULT IWMSyncReader_GetStreamNumberForOutput(IWMSyncReader* This,DWORD dwOutputNum,WORD *pwStreamNum) { 5873 return This->lpVtbl->GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum); 5874 } 5875 static FORCEINLINE HRESULT IWMSyncReader_GetMaxOutputSampleSize(IWMSyncReader* This,DWORD dwOutput,DWORD *pcbMax) { 5876 return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); 5877 } 5878 static FORCEINLINE HRESULT IWMSyncReader_GetMaxStreamSampleSize(IWMSyncReader* This,WORD wStream,DWORD *pcbMax) { 5879 return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); 5880 } 5881 static FORCEINLINE HRESULT IWMSyncReader_OpenStream(IWMSyncReader* This,IStream *pStream) { 5882 return This->lpVtbl->OpenStream(This,pStream); 5883 } 5884 #endif 5885 #endif 5886 5887 #endif 5888 5889 HRESULT STDMETHODCALLTYPE IWMSyncReader_Open_Proxy( 5890 IWMSyncReader* This, 5891 const WCHAR *pwszFilename); 5892 void __RPC_STUB IWMSyncReader_Open_Stub( 5893 IRpcStubBuffer* This, 5894 IRpcChannelBuffer* pRpcChannelBuffer, 5895 PRPC_MESSAGE pRpcMessage, 5896 DWORD* pdwStubPhase); 5897 HRESULT STDMETHODCALLTYPE IWMSyncReader_Close_Proxy( 5898 IWMSyncReader* This); 5899 void __RPC_STUB IWMSyncReader_Close_Stub( 5900 IRpcStubBuffer* This, 5901 IRpcChannelBuffer* pRpcChannelBuffer, 5902 PRPC_MESSAGE pRpcMessage, 5903 DWORD* pdwStubPhase); 5904 HRESULT STDMETHODCALLTYPE IWMSyncReader_SetRange_Proxy( 5905 IWMSyncReader* This, 5906 QWORD cnsStartTime, 5907 LONGLONG cnsDuration); 5908 void __RPC_STUB IWMSyncReader_SetRange_Stub( 5909 IRpcStubBuffer* This, 5910 IRpcChannelBuffer* pRpcChannelBuffer, 5911 PRPC_MESSAGE pRpcMessage, 5912 DWORD* pdwStubPhase); 5913 HRESULT STDMETHODCALLTYPE IWMSyncReader_SetRangeByFrame_Proxy( 5914 IWMSyncReader* This, 5915 WORD wStreamNum, 5916 QWORD qwFrameNumber, 5917 LONGLONG cFramesToRead); 5918 void __RPC_STUB IWMSyncReader_SetRangeByFrame_Stub( 5919 IRpcStubBuffer* This, 5920 IRpcChannelBuffer* pRpcChannelBuffer, 5921 PRPC_MESSAGE pRpcMessage, 5922 DWORD* pdwStubPhase); 5923 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetNextSample_Proxy( 5924 IWMSyncReader* This, 5925 WORD wStreamNum, 5926 INSSBuffer **ppSample, 5927 QWORD *pcnsSampleTime, 5928 QWORD *pcnsDuration, 5929 DWORD *pdwFlags, 5930 DWORD *pdwOutputNum, 5931 WORD *pwStreamNum); 5932 void __RPC_STUB IWMSyncReader_GetNextSample_Stub( 5933 IRpcStubBuffer* This, 5934 IRpcChannelBuffer* pRpcChannelBuffer, 5935 PRPC_MESSAGE pRpcMessage, 5936 DWORD* pdwStubPhase); 5937 HRESULT STDMETHODCALLTYPE IWMSyncReader_SetStreamsSelected_Proxy( 5938 IWMSyncReader* This, 5939 WORD cStreamCount, 5940 WORD *pwStreamNumbers, 5941 WMT_STREAM_SELECTION *pSelections); 5942 void __RPC_STUB IWMSyncReader_SetStreamsSelected_Stub( 5943 IRpcStubBuffer* This, 5944 IRpcChannelBuffer* pRpcChannelBuffer, 5945 PRPC_MESSAGE pRpcMessage, 5946 DWORD* pdwStubPhase); 5947 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetStreamSelected_Proxy( 5948 IWMSyncReader* This, 5949 WORD wStreamNum, 5950 WMT_STREAM_SELECTION *pSelection); 5951 void __RPC_STUB IWMSyncReader_GetStreamSelected_Stub( 5952 IRpcStubBuffer* This, 5953 IRpcChannelBuffer* pRpcChannelBuffer, 5954 PRPC_MESSAGE pRpcMessage, 5955 DWORD* pdwStubPhase); 5956 HRESULT STDMETHODCALLTYPE IWMSyncReader_SetReadStreamSamples_Proxy( 5957 IWMSyncReader* This, 5958 WORD wStreamNum, 5959 WINBOOL fCompressed); 5960 void __RPC_STUB IWMSyncReader_SetReadStreamSamples_Stub( 5961 IRpcStubBuffer* This, 5962 IRpcChannelBuffer* pRpcChannelBuffer, 5963 PRPC_MESSAGE pRpcMessage, 5964 DWORD* pdwStubPhase); 5965 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetReadStreamSamples_Proxy( 5966 IWMSyncReader* This, 5967 WORD wStreamNum, 5968 WINBOOL *pfCompressed); 5969 void __RPC_STUB IWMSyncReader_GetReadStreamSamples_Stub( 5970 IRpcStubBuffer* This, 5971 IRpcChannelBuffer* pRpcChannelBuffer, 5972 PRPC_MESSAGE pRpcMessage, 5973 DWORD* pdwStubPhase); 5974 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputSetting_Proxy( 5975 IWMSyncReader* This, 5976 DWORD dwOutputNum, 5977 LPCWSTR pszName, 5978 WMT_ATTR_DATATYPE *pType, 5979 BYTE *pValue, 5980 WORD *pcbLength); 5981 void __RPC_STUB IWMSyncReader_GetOutputSetting_Stub( 5982 IRpcStubBuffer* This, 5983 IRpcChannelBuffer* pRpcChannelBuffer, 5984 PRPC_MESSAGE pRpcMessage, 5985 DWORD* pdwStubPhase); 5986 HRESULT STDMETHODCALLTYPE IWMSyncReader_SetOutputSetting_Proxy( 5987 IWMSyncReader* This, 5988 DWORD dwOutputNum, 5989 LPCWSTR pszName, 5990 WMT_ATTR_DATATYPE Type, 5991 const BYTE *pValue, 5992 WORD cbLength); 5993 void __RPC_STUB IWMSyncReader_SetOutputSetting_Stub( 5994 IRpcStubBuffer* This, 5995 IRpcChannelBuffer* pRpcChannelBuffer, 5996 PRPC_MESSAGE pRpcMessage, 5997 DWORD* pdwStubPhase); 5998 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputCount_Proxy( 5999 IWMSyncReader* This, 6000 DWORD *pcOutputs); 6001 void __RPC_STUB IWMSyncReader_GetOutputCount_Stub( 6002 IRpcStubBuffer* This, 6003 IRpcChannelBuffer* pRpcChannelBuffer, 6004 PRPC_MESSAGE pRpcMessage, 6005 DWORD* pdwStubPhase); 6006 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputProps_Proxy( 6007 IWMSyncReader* This, 6008 DWORD dwOutputNum, 6009 IWMOutputMediaProps **ppOutput); 6010 void __RPC_STUB IWMSyncReader_GetOutputProps_Stub( 6011 IRpcStubBuffer* This, 6012 IRpcChannelBuffer* pRpcChannelBuffer, 6013 PRPC_MESSAGE pRpcMessage, 6014 DWORD* pdwStubPhase); 6015 HRESULT STDMETHODCALLTYPE IWMSyncReader_SetOutputProps_Proxy( 6016 IWMSyncReader* This, 6017 DWORD dwOutputNum, 6018 IWMOutputMediaProps *pOutput); 6019 void __RPC_STUB IWMSyncReader_SetOutputProps_Stub( 6020 IRpcStubBuffer* This, 6021 IRpcChannelBuffer* pRpcChannelBuffer, 6022 PRPC_MESSAGE pRpcMessage, 6023 DWORD* pdwStubPhase); 6024 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputFormatCount_Proxy( 6025 IWMSyncReader* This, 6026 DWORD dwOutputNum, 6027 DWORD *pcFormats); 6028 void __RPC_STUB IWMSyncReader_GetOutputFormatCount_Stub( 6029 IRpcStubBuffer* This, 6030 IRpcChannelBuffer* pRpcChannelBuffer, 6031 PRPC_MESSAGE pRpcMessage, 6032 DWORD* pdwStubPhase); 6033 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputFormat_Proxy( 6034 IWMSyncReader* This, 6035 DWORD dwOutputNum, 6036 DWORD dwFormatNum, 6037 IWMOutputMediaProps **ppProps); 6038 void __RPC_STUB IWMSyncReader_GetOutputFormat_Stub( 6039 IRpcStubBuffer* This, 6040 IRpcChannelBuffer* pRpcChannelBuffer, 6041 PRPC_MESSAGE pRpcMessage, 6042 DWORD* pdwStubPhase); 6043 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputNumberForStream_Proxy( 6044 IWMSyncReader* This, 6045 WORD wStreamNum, 6046 DWORD *pdwOutputNum); 6047 void __RPC_STUB IWMSyncReader_GetOutputNumberForStream_Stub( 6048 IRpcStubBuffer* This, 6049 IRpcChannelBuffer* pRpcChannelBuffer, 6050 PRPC_MESSAGE pRpcMessage, 6051 DWORD* pdwStubPhase); 6052 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetStreamNumberForOutput_Proxy( 6053 IWMSyncReader* This, 6054 DWORD dwOutputNum, 6055 WORD *pwStreamNum); 6056 void __RPC_STUB IWMSyncReader_GetStreamNumberForOutput_Stub( 6057 IRpcStubBuffer* This, 6058 IRpcChannelBuffer* pRpcChannelBuffer, 6059 PRPC_MESSAGE pRpcMessage, 6060 DWORD* pdwStubPhase); 6061 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetMaxOutputSampleSize_Proxy( 6062 IWMSyncReader* This, 6063 DWORD dwOutput, 6064 DWORD *pcbMax); 6065 void __RPC_STUB IWMSyncReader_GetMaxOutputSampleSize_Stub( 6066 IRpcStubBuffer* This, 6067 IRpcChannelBuffer* pRpcChannelBuffer, 6068 PRPC_MESSAGE pRpcMessage, 6069 DWORD* pdwStubPhase); 6070 HRESULT STDMETHODCALLTYPE IWMSyncReader_GetMaxStreamSampleSize_Proxy( 6071 IWMSyncReader* This, 6072 WORD wStream, 6073 DWORD *pcbMax); 6074 void __RPC_STUB IWMSyncReader_GetMaxStreamSampleSize_Stub( 6075 IRpcStubBuffer* This, 6076 IRpcChannelBuffer* pRpcChannelBuffer, 6077 PRPC_MESSAGE pRpcMessage, 6078 DWORD* pdwStubPhase); 6079 HRESULT STDMETHODCALLTYPE IWMSyncReader_OpenStream_Proxy( 6080 IWMSyncReader* This, 6081 IStream *pStream); 6082 void __RPC_STUB IWMSyncReader_OpenStream_Stub( 6083 IRpcStubBuffer* This, 6084 IRpcChannelBuffer* pRpcChannelBuffer, 6085 PRPC_MESSAGE pRpcMessage, 6086 DWORD* pdwStubPhase); 6087 6088 #endif /* __IWMSyncReader_INTERFACE_DEFINED__ */ 6089 6090 /***************************************************************************** 6091 * IWMInputMediaProps interface 6092 */ 6093 #ifndef __IWMInputMediaProps_INTERFACE_DEFINED__ 6094 #define __IWMInputMediaProps_INTERFACE_DEFINED__ 6095 6096 DEFINE_GUID(IID_IWMInputMediaProps, 0x96406bd5, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 6097 #if defined(__cplusplus) && !defined(CINTERFACE) 6098 MIDL_INTERFACE("96406bd5-2b2b-11d3-b36b-00c04f6108ff") 6099 IWMInputMediaProps : public IWMMediaProps 6100 { 6101 virtual HRESULT STDMETHODCALLTYPE GetConnectionName( 6102 WCHAR *pwszName, 6103 WORD *pcchName) = 0; 6104 6105 virtual HRESULT STDMETHODCALLTYPE GetGroupName( 6106 WCHAR *pwszName, 6107 WORD *pcchName) = 0; 6108 6109 }; 6110 #ifdef __CRT_UUID_DECL 6111 __CRT_UUID_DECL(IWMInputMediaProps, 0x96406bd5, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 6112 #endif 6113 #else 6114 typedef struct IWMInputMediaPropsVtbl { 6115 BEGIN_INTERFACE 6116 6117 /*** IUnknown methods ***/ 6118 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6119 IWMInputMediaProps* This, 6120 REFIID riid, 6121 void **ppvObject); 6122 6123 ULONG (STDMETHODCALLTYPE *AddRef)( 6124 IWMInputMediaProps* This); 6125 6126 ULONG (STDMETHODCALLTYPE *Release)( 6127 IWMInputMediaProps* This); 6128 6129 /*** IWMMediaProps methods ***/ 6130 HRESULT (STDMETHODCALLTYPE *GetType)( 6131 IWMInputMediaProps* This, 6132 GUID *pguidType); 6133 6134 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 6135 IWMInputMediaProps* This, 6136 WM_MEDIA_TYPE *pType, 6137 DWORD *pcbType); 6138 6139 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 6140 IWMInputMediaProps* This, 6141 WM_MEDIA_TYPE *pType); 6142 6143 /*** IWMInputMediaProps methods ***/ 6144 HRESULT (STDMETHODCALLTYPE *GetConnectionName)( 6145 IWMInputMediaProps* This, 6146 WCHAR *pwszName, 6147 WORD *pcchName); 6148 6149 HRESULT (STDMETHODCALLTYPE *GetGroupName)( 6150 IWMInputMediaProps* This, 6151 WCHAR *pwszName, 6152 WORD *pcchName); 6153 6154 END_INTERFACE 6155 } IWMInputMediaPropsVtbl; 6156 interface IWMInputMediaProps { 6157 CONST_VTBL IWMInputMediaPropsVtbl* lpVtbl; 6158 }; 6159 6160 #ifdef COBJMACROS 6161 #ifndef WIDL_C_INLINE_WRAPPERS 6162 /*** IUnknown methods ***/ 6163 #define IWMInputMediaProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6164 #define IWMInputMediaProps_AddRef(This) (This)->lpVtbl->AddRef(This) 6165 #define IWMInputMediaProps_Release(This) (This)->lpVtbl->Release(This) 6166 /*** IWMMediaProps methods ***/ 6167 #define IWMInputMediaProps_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType) 6168 #define IWMInputMediaProps_GetMediaType(This,pType,pcbType) (This)->lpVtbl->GetMediaType(This,pType,pcbType) 6169 #define IWMInputMediaProps_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType) 6170 /*** IWMInputMediaProps methods ***/ 6171 #define IWMInputMediaProps_GetConnectionName(This,pwszName,pcchName) (This)->lpVtbl->GetConnectionName(This,pwszName,pcchName) 6172 #define IWMInputMediaProps_GetGroupName(This,pwszName,pcchName) (This)->lpVtbl->GetGroupName(This,pwszName,pcchName) 6173 #else 6174 /*** IUnknown methods ***/ 6175 static FORCEINLINE HRESULT IWMInputMediaProps_QueryInterface(IWMInputMediaProps* This,REFIID riid,void **ppvObject) { 6176 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6177 } 6178 static FORCEINLINE ULONG IWMInputMediaProps_AddRef(IWMInputMediaProps* This) { 6179 return This->lpVtbl->AddRef(This); 6180 } 6181 static FORCEINLINE ULONG IWMInputMediaProps_Release(IWMInputMediaProps* This) { 6182 return This->lpVtbl->Release(This); 6183 } 6184 /*** IWMMediaProps methods ***/ 6185 static FORCEINLINE HRESULT IWMInputMediaProps_GetType(IWMInputMediaProps* This,GUID *pguidType) { 6186 return This->lpVtbl->GetType(This,pguidType); 6187 } 6188 static FORCEINLINE HRESULT IWMInputMediaProps_GetMediaType(IWMInputMediaProps* This,WM_MEDIA_TYPE *pType,DWORD *pcbType) { 6189 return This->lpVtbl->GetMediaType(This,pType,pcbType); 6190 } 6191 static FORCEINLINE HRESULT IWMInputMediaProps_SetMediaType(IWMInputMediaProps* This,WM_MEDIA_TYPE *pType) { 6192 return This->lpVtbl->SetMediaType(This,pType); 6193 } 6194 /*** IWMInputMediaProps methods ***/ 6195 static FORCEINLINE HRESULT IWMInputMediaProps_GetConnectionName(IWMInputMediaProps* This,WCHAR *pwszName,WORD *pcchName) { 6196 return This->lpVtbl->GetConnectionName(This,pwszName,pcchName); 6197 } 6198 static FORCEINLINE HRESULT IWMInputMediaProps_GetGroupName(IWMInputMediaProps* This,WCHAR *pwszName,WORD *pcchName) { 6199 return This->lpVtbl->GetGroupName(This,pwszName,pcchName); 6200 } 6201 #endif 6202 #endif 6203 6204 #endif 6205 6206 HRESULT STDMETHODCALLTYPE IWMInputMediaProps_GetConnectionName_Proxy( 6207 IWMInputMediaProps* This, 6208 WCHAR *pwszName, 6209 WORD *pcchName); 6210 void __RPC_STUB IWMInputMediaProps_GetConnectionName_Stub( 6211 IRpcStubBuffer* This, 6212 IRpcChannelBuffer* pRpcChannelBuffer, 6213 PRPC_MESSAGE pRpcMessage, 6214 DWORD* pdwStubPhase); 6215 HRESULT STDMETHODCALLTYPE IWMInputMediaProps_GetGroupName_Proxy( 6216 IWMInputMediaProps* This, 6217 WCHAR *pwszName, 6218 WORD *pcchName); 6219 void __RPC_STUB IWMInputMediaProps_GetGroupName_Stub( 6220 IRpcStubBuffer* This, 6221 IRpcChannelBuffer* pRpcChannelBuffer, 6222 PRPC_MESSAGE pRpcMessage, 6223 DWORD* pdwStubPhase); 6224 6225 #endif /* __IWMInputMediaProps_INTERFACE_DEFINED__ */ 6226 6227 /***************************************************************************** 6228 * IWMWriterSink interface 6229 */ 6230 #ifndef __IWMWriterSink_INTERFACE_DEFINED__ 6231 #define __IWMWriterSink_INTERFACE_DEFINED__ 6232 6233 DEFINE_GUID(IID_IWMWriterSink, 0x96406be4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 6234 #if defined(__cplusplus) && !defined(CINTERFACE) 6235 MIDL_INTERFACE("96406be4-2b2b-11d3-b36b-00c04f6108ff") 6236 IWMWriterSink : public IUnknown 6237 { 6238 virtual HRESULT STDMETHODCALLTYPE OnHeader( 6239 INSSBuffer *pHeader) = 0; 6240 6241 virtual HRESULT STDMETHODCALLTYPE IsRealTime( 6242 WINBOOL *pfRealTime) = 0; 6243 6244 virtual HRESULT STDMETHODCALLTYPE AllocateDataUnit( 6245 DWORD cbDataUnit, 6246 INSSBuffer **ppDataUnit) = 0; 6247 6248 virtual HRESULT STDMETHODCALLTYPE OnDataUnit( 6249 INSSBuffer *pDataUnit) = 0; 6250 6251 virtual HRESULT STDMETHODCALLTYPE OnEndWriting( 6252 ) = 0; 6253 6254 }; 6255 #ifdef __CRT_UUID_DECL 6256 __CRT_UUID_DECL(IWMWriterSink, 0x96406be4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 6257 #endif 6258 #else 6259 typedef struct IWMWriterSinkVtbl { 6260 BEGIN_INTERFACE 6261 6262 /*** IUnknown methods ***/ 6263 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6264 IWMWriterSink* This, 6265 REFIID riid, 6266 void **ppvObject); 6267 6268 ULONG (STDMETHODCALLTYPE *AddRef)( 6269 IWMWriterSink* This); 6270 6271 ULONG (STDMETHODCALLTYPE *Release)( 6272 IWMWriterSink* This); 6273 6274 /*** IWMWriterSink methods ***/ 6275 HRESULT (STDMETHODCALLTYPE *OnHeader)( 6276 IWMWriterSink* This, 6277 INSSBuffer *pHeader); 6278 6279 HRESULT (STDMETHODCALLTYPE *IsRealTime)( 6280 IWMWriterSink* This, 6281 WINBOOL *pfRealTime); 6282 6283 HRESULT (STDMETHODCALLTYPE *AllocateDataUnit)( 6284 IWMWriterSink* This, 6285 DWORD cbDataUnit, 6286 INSSBuffer **ppDataUnit); 6287 6288 HRESULT (STDMETHODCALLTYPE *OnDataUnit)( 6289 IWMWriterSink* This, 6290 INSSBuffer *pDataUnit); 6291 6292 HRESULT (STDMETHODCALLTYPE *OnEndWriting)( 6293 IWMWriterSink* This); 6294 6295 END_INTERFACE 6296 } IWMWriterSinkVtbl; 6297 interface IWMWriterSink { 6298 CONST_VTBL IWMWriterSinkVtbl* lpVtbl; 6299 }; 6300 6301 #ifdef COBJMACROS 6302 #ifndef WIDL_C_INLINE_WRAPPERS 6303 /*** IUnknown methods ***/ 6304 #define IWMWriterSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6305 #define IWMWriterSink_AddRef(This) (This)->lpVtbl->AddRef(This) 6306 #define IWMWriterSink_Release(This) (This)->lpVtbl->Release(This) 6307 /*** IWMWriterSink methods ***/ 6308 #define IWMWriterSink_OnHeader(This,pHeader) (This)->lpVtbl->OnHeader(This,pHeader) 6309 #define IWMWriterSink_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime) 6310 #define IWMWriterSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) (This)->lpVtbl->AllocateDataUnit(This,cbDataUnit,ppDataUnit) 6311 #define IWMWriterSink_OnDataUnit(This,pDataUnit) (This)->lpVtbl->OnDataUnit(This,pDataUnit) 6312 #define IWMWriterSink_OnEndWriting(This) (This)->lpVtbl->OnEndWriting(This) 6313 #else 6314 /*** IUnknown methods ***/ 6315 static FORCEINLINE HRESULT IWMWriterSink_QueryInterface(IWMWriterSink* This,REFIID riid,void **ppvObject) { 6316 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6317 } 6318 static FORCEINLINE ULONG IWMWriterSink_AddRef(IWMWriterSink* This) { 6319 return This->lpVtbl->AddRef(This); 6320 } 6321 static FORCEINLINE ULONG IWMWriterSink_Release(IWMWriterSink* This) { 6322 return This->lpVtbl->Release(This); 6323 } 6324 /*** IWMWriterSink methods ***/ 6325 static FORCEINLINE HRESULT IWMWriterSink_OnHeader(IWMWriterSink* This,INSSBuffer *pHeader) { 6326 return This->lpVtbl->OnHeader(This,pHeader); 6327 } 6328 static FORCEINLINE HRESULT IWMWriterSink_IsRealTime(IWMWriterSink* This,WINBOOL *pfRealTime) { 6329 return This->lpVtbl->IsRealTime(This,pfRealTime); 6330 } 6331 static FORCEINLINE HRESULT IWMWriterSink_AllocateDataUnit(IWMWriterSink* This,DWORD cbDataUnit,INSSBuffer **ppDataUnit) { 6332 return This->lpVtbl->AllocateDataUnit(This,cbDataUnit,ppDataUnit); 6333 } 6334 static FORCEINLINE HRESULT IWMWriterSink_OnDataUnit(IWMWriterSink* This,INSSBuffer *pDataUnit) { 6335 return This->lpVtbl->OnDataUnit(This,pDataUnit); 6336 } 6337 static FORCEINLINE HRESULT IWMWriterSink_OnEndWriting(IWMWriterSink* This) { 6338 return This->lpVtbl->OnEndWriting(This); 6339 } 6340 #endif 6341 #endif 6342 6343 #endif 6344 6345 HRESULT STDMETHODCALLTYPE IWMWriterSink_OnHeader_Proxy( 6346 IWMWriterSink* This, 6347 INSSBuffer *pHeader); 6348 void __RPC_STUB IWMWriterSink_OnHeader_Stub( 6349 IRpcStubBuffer* This, 6350 IRpcChannelBuffer* pRpcChannelBuffer, 6351 PRPC_MESSAGE pRpcMessage, 6352 DWORD* pdwStubPhase); 6353 HRESULT STDMETHODCALLTYPE IWMWriterSink_IsRealTime_Proxy( 6354 IWMWriterSink* This, 6355 WINBOOL *pfRealTime); 6356 void __RPC_STUB IWMWriterSink_IsRealTime_Stub( 6357 IRpcStubBuffer* This, 6358 IRpcChannelBuffer* pRpcChannelBuffer, 6359 PRPC_MESSAGE pRpcMessage, 6360 DWORD* pdwStubPhase); 6361 HRESULT STDMETHODCALLTYPE IWMWriterSink_AllocateDataUnit_Proxy( 6362 IWMWriterSink* This, 6363 DWORD cbDataUnit, 6364 INSSBuffer **ppDataUnit); 6365 void __RPC_STUB IWMWriterSink_AllocateDataUnit_Stub( 6366 IRpcStubBuffer* This, 6367 IRpcChannelBuffer* pRpcChannelBuffer, 6368 PRPC_MESSAGE pRpcMessage, 6369 DWORD* pdwStubPhase); 6370 HRESULT STDMETHODCALLTYPE IWMWriterSink_OnDataUnit_Proxy( 6371 IWMWriterSink* This, 6372 INSSBuffer *pDataUnit); 6373 void __RPC_STUB IWMWriterSink_OnDataUnit_Stub( 6374 IRpcStubBuffer* This, 6375 IRpcChannelBuffer* pRpcChannelBuffer, 6376 PRPC_MESSAGE pRpcMessage, 6377 DWORD* pdwStubPhase); 6378 HRESULT STDMETHODCALLTYPE IWMWriterSink_OnEndWriting_Proxy( 6379 IWMWriterSink* This); 6380 void __RPC_STUB IWMWriterSink_OnEndWriting_Stub( 6381 IRpcStubBuffer* This, 6382 IRpcChannelBuffer* pRpcChannelBuffer, 6383 PRPC_MESSAGE pRpcMessage, 6384 DWORD* pdwStubPhase); 6385 6386 #endif /* __IWMWriterSink_INTERFACE_DEFINED__ */ 6387 6388 /***************************************************************************** 6389 * IWMWriter interface 6390 */ 6391 #ifndef __IWMWriter_INTERFACE_DEFINED__ 6392 #define __IWMWriter_INTERFACE_DEFINED__ 6393 6394 DEFINE_GUID(IID_IWMWriter, 0x96406bd4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 6395 #if defined(__cplusplus) && !defined(CINTERFACE) 6396 MIDL_INTERFACE("96406bd4-2b2b-11d3-b36b-00c04f6108ff") 6397 IWMWriter : public IUnknown 6398 { 6399 virtual HRESULT STDMETHODCALLTYPE SetProfileByID( 6400 REFGUID guidProfile) = 0; 6401 6402 virtual HRESULT STDMETHODCALLTYPE SetProfile( 6403 IWMProfile *pProfile) = 0; 6404 6405 virtual HRESULT STDMETHODCALLTYPE SetOutputFilename( 6406 const WCHAR *pwszFilename) = 0; 6407 6408 virtual HRESULT STDMETHODCALLTYPE GetInputCount( 6409 DWORD *pcInputs) = 0; 6410 6411 virtual HRESULT STDMETHODCALLTYPE GetInputProps( 6412 DWORD dwInputNum, 6413 IWMInputMediaProps **ppInput) = 0; 6414 6415 virtual HRESULT STDMETHODCALLTYPE SetInputProps( 6416 DWORD dwInputNum, 6417 IWMInputMediaProps *pInput) = 0; 6418 6419 virtual HRESULT STDMETHODCALLTYPE GetInputFormatCount( 6420 DWORD dwInputNumber, 6421 DWORD *pcFormats) = 0; 6422 6423 virtual HRESULT STDMETHODCALLTYPE GetInputFormat( 6424 DWORD dwInputNumber, 6425 DWORD dwFormatNumber, 6426 IWMInputMediaProps **pProps) = 0; 6427 6428 virtual HRESULT STDMETHODCALLTYPE BeginWriting( 6429 ) = 0; 6430 6431 virtual HRESULT STDMETHODCALLTYPE EndWriting( 6432 ) = 0; 6433 6434 virtual HRESULT STDMETHODCALLTYPE AllocateSample( 6435 DWORD dwSampleSize, 6436 INSSBuffer **ppSample) = 0; 6437 6438 virtual HRESULT STDMETHODCALLTYPE WriteSample( 6439 DWORD dwInputNum, 6440 QWORD cnsSampleTime, 6441 DWORD dwFlags, 6442 INSSBuffer *pSample) = 0; 6443 6444 virtual HRESULT STDMETHODCALLTYPE Flush( 6445 ) = 0; 6446 6447 }; 6448 #ifdef __CRT_UUID_DECL 6449 __CRT_UUID_DECL(IWMWriter, 0x96406bd4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 6450 #endif 6451 #else 6452 typedef struct IWMWriterVtbl { 6453 BEGIN_INTERFACE 6454 6455 /*** IUnknown methods ***/ 6456 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6457 IWMWriter* This, 6458 REFIID riid, 6459 void **ppvObject); 6460 6461 ULONG (STDMETHODCALLTYPE *AddRef)( 6462 IWMWriter* This); 6463 6464 ULONG (STDMETHODCALLTYPE *Release)( 6465 IWMWriter* This); 6466 6467 /*** IWMWriter methods ***/ 6468 HRESULT (STDMETHODCALLTYPE *SetProfileByID)( 6469 IWMWriter* This, 6470 REFGUID guidProfile); 6471 6472 HRESULT (STDMETHODCALLTYPE *SetProfile)( 6473 IWMWriter* This, 6474 IWMProfile *pProfile); 6475 6476 HRESULT (STDMETHODCALLTYPE *SetOutputFilename)( 6477 IWMWriter* This, 6478 const WCHAR *pwszFilename); 6479 6480 HRESULT (STDMETHODCALLTYPE *GetInputCount)( 6481 IWMWriter* This, 6482 DWORD *pcInputs); 6483 6484 HRESULT (STDMETHODCALLTYPE *GetInputProps)( 6485 IWMWriter* This, 6486 DWORD dwInputNum, 6487 IWMInputMediaProps **ppInput); 6488 6489 HRESULT (STDMETHODCALLTYPE *SetInputProps)( 6490 IWMWriter* This, 6491 DWORD dwInputNum, 6492 IWMInputMediaProps *pInput); 6493 6494 HRESULT (STDMETHODCALLTYPE *GetInputFormatCount)( 6495 IWMWriter* This, 6496 DWORD dwInputNumber, 6497 DWORD *pcFormats); 6498 6499 HRESULT (STDMETHODCALLTYPE *GetInputFormat)( 6500 IWMWriter* This, 6501 DWORD dwInputNumber, 6502 DWORD dwFormatNumber, 6503 IWMInputMediaProps **pProps); 6504 6505 HRESULT (STDMETHODCALLTYPE *BeginWriting)( 6506 IWMWriter* This); 6507 6508 HRESULT (STDMETHODCALLTYPE *EndWriting)( 6509 IWMWriter* This); 6510 6511 HRESULT (STDMETHODCALLTYPE *AllocateSample)( 6512 IWMWriter* This, 6513 DWORD dwSampleSize, 6514 INSSBuffer **ppSample); 6515 6516 HRESULT (STDMETHODCALLTYPE *WriteSample)( 6517 IWMWriter* This, 6518 DWORD dwInputNum, 6519 QWORD cnsSampleTime, 6520 DWORD dwFlags, 6521 INSSBuffer *pSample); 6522 6523 HRESULT (STDMETHODCALLTYPE *Flush)( 6524 IWMWriter* This); 6525 6526 END_INTERFACE 6527 } IWMWriterVtbl; 6528 interface IWMWriter { 6529 CONST_VTBL IWMWriterVtbl* lpVtbl; 6530 }; 6531 6532 #ifdef COBJMACROS 6533 #ifndef WIDL_C_INLINE_WRAPPERS 6534 /*** IUnknown methods ***/ 6535 #define IWMWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6536 #define IWMWriter_AddRef(This) (This)->lpVtbl->AddRef(This) 6537 #define IWMWriter_Release(This) (This)->lpVtbl->Release(This) 6538 /*** IWMWriter methods ***/ 6539 #define IWMWriter_SetProfileByID(This,guidProfile) (This)->lpVtbl->SetProfileByID(This,guidProfile) 6540 #define IWMWriter_SetProfile(This,pProfile) (This)->lpVtbl->SetProfile(This,pProfile) 6541 #define IWMWriter_SetOutputFilename(This,pwszFilename) (This)->lpVtbl->SetOutputFilename(This,pwszFilename) 6542 #define IWMWriter_GetInputCount(This,pcInputs) (This)->lpVtbl->GetInputCount(This,pcInputs) 6543 #define IWMWriter_GetInputProps(This,dwInputNum,ppInput) (This)->lpVtbl->GetInputProps(This,dwInputNum,ppInput) 6544 #define IWMWriter_SetInputProps(This,dwInputNum,pInput) (This)->lpVtbl->SetInputProps(This,dwInputNum,pInput) 6545 #define IWMWriter_GetInputFormatCount(This,dwInputNumber,pcFormats) (This)->lpVtbl->GetInputFormatCount(This,dwInputNumber,pcFormats) 6546 #define IWMWriter_GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps) (This)->lpVtbl->GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps) 6547 #define IWMWriter_BeginWriting(This) (This)->lpVtbl->BeginWriting(This) 6548 #define IWMWriter_EndWriting(This) (This)->lpVtbl->EndWriting(This) 6549 #define IWMWriter_AllocateSample(This,dwSampleSize,ppSample) (This)->lpVtbl->AllocateSample(This,dwSampleSize,ppSample) 6550 #define IWMWriter_WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample) (This)->lpVtbl->WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample) 6551 #define IWMWriter_Flush(This) (This)->lpVtbl->Flush(This) 6552 #else 6553 /*** IUnknown methods ***/ 6554 static FORCEINLINE HRESULT IWMWriter_QueryInterface(IWMWriter* This,REFIID riid,void **ppvObject) { 6555 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6556 } 6557 static FORCEINLINE ULONG IWMWriter_AddRef(IWMWriter* This) { 6558 return This->lpVtbl->AddRef(This); 6559 } 6560 static FORCEINLINE ULONG IWMWriter_Release(IWMWriter* This) { 6561 return This->lpVtbl->Release(This); 6562 } 6563 /*** IWMWriter methods ***/ 6564 static FORCEINLINE HRESULT IWMWriter_SetProfileByID(IWMWriter* This,REFGUID guidProfile) { 6565 return This->lpVtbl->SetProfileByID(This,guidProfile); 6566 } 6567 static FORCEINLINE HRESULT IWMWriter_SetProfile(IWMWriter* This,IWMProfile *pProfile) { 6568 return This->lpVtbl->SetProfile(This,pProfile); 6569 } 6570 static FORCEINLINE HRESULT IWMWriter_SetOutputFilename(IWMWriter* This,const WCHAR *pwszFilename) { 6571 return This->lpVtbl->SetOutputFilename(This,pwszFilename); 6572 } 6573 static FORCEINLINE HRESULT IWMWriter_GetInputCount(IWMWriter* This,DWORD *pcInputs) { 6574 return This->lpVtbl->GetInputCount(This,pcInputs); 6575 } 6576 static FORCEINLINE HRESULT IWMWriter_GetInputProps(IWMWriter* This,DWORD dwInputNum,IWMInputMediaProps **ppInput) { 6577 return This->lpVtbl->GetInputProps(This,dwInputNum,ppInput); 6578 } 6579 static FORCEINLINE HRESULT IWMWriter_SetInputProps(IWMWriter* This,DWORD dwInputNum,IWMInputMediaProps *pInput) { 6580 return This->lpVtbl->SetInputProps(This,dwInputNum,pInput); 6581 } 6582 static FORCEINLINE HRESULT IWMWriter_GetInputFormatCount(IWMWriter* This,DWORD dwInputNumber,DWORD *pcFormats) { 6583 return This->lpVtbl->GetInputFormatCount(This,dwInputNumber,pcFormats); 6584 } 6585 static FORCEINLINE HRESULT IWMWriter_GetInputFormat(IWMWriter* This,DWORD dwInputNumber,DWORD dwFormatNumber,IWMInputMediaProps **pProps) { 6586 return This->lpVtbl->GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps); 6587 } 6588 static FORCEINLINE HRESULT IWMWriter_BeginWriting(IWMWriter* This) { 6589 return This->lpVtbl->BeginWriting(This); 6590 } 6591 static FORCEINLINE HRESULT IWMWriter_EndWriting(IWMWriter* This) { 6592 return This->lpVtbl->EndWriting(This); 6593 } 6594 static FORCEINLINE HRESULT IWMWriter_AllocateSample(IWMWriter* This,DWORD dwSampleSize,INSSBuffer **ppSample) { 6595 return This->lpVtbl->AllocateSample(This,dwSampleSize,ppSample); 6596 } 6597 static FORCEINLINE HRESULT IWMWriter_WriteSample(IWMWriter* This,DWORD dwInputNum,QWORD cnsSampleTime,DWORD dwFlags,INSSBuffer *pSample) { 6598 return This->lpVtbl->WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample); 6599 } 6600 static FORCEINLINE HRESULT IWMWriter_Flush(IWMWriter* This) { 6601 return This->lpVtbl->Flush(This); 6602 } 6603 #endif 6604 #endif 6605 6606 #endif 6607 6608 HRESULT STDMETHODCALLTYPE IWMWriter_SetProfileByID_Proxy( 6609 IWMWriter* This, 6610 REFGUID guidProfile); 6611 void __RPC_STUB IWMWriter_SetProfileByID_Stub( 6612 IRpcStubBuffer* This, 6613 IRpcChannelBuffer* pRpcChannelBuffer, 6614 PRPC_MESSAGE pRpcMessage, 6615 DWORD* pdwStubPhase); 6616 HRESULT STDMETHODCALLTYPE IWMWriter_SetProfile_Proxy( 6617 IWMWriter* This, 6618 IWMProfile *pProfile); 6619 void __RPC_STUB IWMWriter_SetProfile_Stub( 6620 IRpcStubBuffer* This, 6621 IRpcChannelBuffer* pRpcChannelBuffer, 6622 PRPC_MESSAGE pRpcMessage, 6623 DWORD* pdwStubPhase); 6624 HRESULT STDMETHODCALLTYPE IWMWriter_SetOutputFilename_Proxy( 6625 IWMWriter* This, 6626 const WCHAR *pwszFilename); 6627 void __RPC_STUB IWMWriter_SetOutputFilename_Stub( 6628 IRpcStubBuffer* This, 6629 IRpcChannelBuffer* pRpcChannelBuffer, 6630 PRPC_MESSAGE pRpcMessage, 6631 DWORD* pdwStubPhase); 6632 HRESULT STDMETHODCALLTYPE IWMWriter_GetInputCount_Proxy( 6633 IWMWriter* This, 6634 DWORD *pcInputs); 6635 void __RPC_STUB IWMWriter_GetInputCount_Stub( 6636 IRpcStubBuffer* This, 6637 IRpcChannelBuffer* pRpcChannelBuffer, 6638 PRPC_MESSAGE pRpcMessage, 6639 DWORD* pdwStubPhase); 6640 HRESULT STDMETHODCALLTYPE IWMWriter_GetInputProps_Proxy( 6641 IWMWriter* This, 6642 DWORD dwInputNum, 6643 IWMInputMediaProps **ppInput); 6644 void __RPC_STUB IWMWriter_GetInputProps_Stub( 6645 IRpcStubBuffer* This, 6646 IRpcChannelBuffer* pRpcChannelBuffer, 6647 PRPC_MESSAGE pRpcMessage, 6648 DWORD* pdwStubPhase); 6649 HRESULT STDMETHODCALLTYPE IWMWriter_SetInputProps_Proxy( 6650 IWMWriter* This, 6651 DWORD dwInputNum, 6652 IWMInputMediaProps *pInput); 6653 void __RPC_STUB IWMWriter_SetInputProps_Stub( 6654 IRpcStubBuffer* This, 6655 IRpcChannelBuffer* pRpcChannelBuffer, 6656 PRPC_MESSAGE pRpcMessage, 6657 DWORD* pdwStubPhase); 6658 HRESULT STDMETHODCALLTYPE IWMWriter_GetInputFormatCount_Proxy( 6659 IWMWriter* This, 6660 DWORD dwInputNumber, 6661 DWORD *pcFormats); 6662 void __RPC_STUB IWMWriter_GetInputFormatCount_Stub( 6663 IRpcStubBuffer* This, 6664 IRpcChannelBuffer* pRpcChannelBuffer, 6665 PRPC_MESSAGE pRpcMessage, 6666 DWORD* pdwStubPhase); 6667 HRESULT STDMETHODCALLTYPE IWMWriter_GetInputFormat_Proxy( 6668 IWMWriter* This, 6669 DWORD dwInputNumber, 6670 DWORD dwFormatNumber, 6671 IWMInputMediaProps **pProps); 6672 void __RPC_STUB IWMWriter_GetInputFormat_Stub( 6673 IRpcStubBuffer* This, 6674 IRpcChannelBuffer* pRpcChannelBuffer, 6675 PRPC_MESSAGE pRpcMessage, 6676 DWORD* pdwStubPhase); 6677 HRESULT STDMETHODCALLTYPE IWMWriter_BeginWriting_Proxy( 6678 IWMWriter* This); 6679 void __RPC_STUB IWMWriter_BeginWriting_Stub( 6680 IRpcStubBuffer* This, 6681 IRpcChannelBuffer* pRpcChannelBuffer, 6682 PRPC_MESSAGE pRpcMessage, 6683 DWORD* pdwStubPhase); 6684 HRESULT STDMETHODCALLTYPE IWMWriter_EndWriting_Proxy( 6685 IWMWriter* This); 6686 void __RPC_STUB IWMWriter_EndWriting_Stub( 6687 IRpcStubBuffer* This, 6688 IRpcChannelBuffer* pRpcChannelBuffer, 6689 PRPC_MESSAGE pRpcMessage, 6690 DWORD* pdwStubPhase); 6691 HRESULT STDMETHODCALLTYPE IWMWriter_AllocateSample_Proxy( 6692 IWMWriter* This, 6693 DWORD dwSampleSize, 6694 INSSBuffer **ppSample); 6695 void __RPC_STUB IWMWriter_AllocateSample_Stub( 6696 IRpcStubBuffer* This, 6697 IRpcChannelBuffer* pRpcChannelBuffer, 6698 PRPC_MESSAGE pRpcMessage, 6699 DWORD* pdwStubPhase); 6700 HRESULT STDMETHODCALLTYPE IWMWriter_WriteSample_Proxy( 6701 IWMWriter* This, 6702 DWORD dwInputNum, 6703 QWORD cnsSampleTime, 6704 DWORD dwFlags, 6705 INSSBuffer *pSample); 6706 void __RPC_STUB IWMWriter_WriteSample_Stub( 6707 IRpcStubBuffer* This, 6708 IRpcChannelBuffer* pRpcChannelBuffer, 6709 PRPC_MESSAGE pRpcMessage, 6710 DWORD* pdwStubPhase); 6711 HRESULT STDMETHODCALLTYPE IWMWriter_Flush_Proxy( 6712 IWMWriter* This); 6713 void __RPC_STUB IWMWriter_Flush_Stub( 6714 IRpcStubBuffer* This, 6715 IRpcChannelBuffer* pRpcChannelBuffer, 6716 PRPC_MESSAGE pRpcMessage, 6717 DWORD* pdwStubPhase); 6718 6719 #endif /* __IWMWriter_INTERFACE_DEFINED__ */ 6720 6721 /***************************************************************************** 6722 * IWMWriterAdvanced interface 6723 */ 6724 #ifndef __IWMWriterAdvanced_INTERFACE_DEFINED__ 6725 #define __IWMWriterAdvanced_INTERFACE_DEFINED__ 6726 6727 DEFINE_GUID(IID_IWMWriterAdvanced, 0x96406be3, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); 6728 #if defined(__cplusplus) && !defined(CINTERFACE) 6729 MIDL_INTERFACE("96406be3-2b2b-11d3-b36b-00c04f6108ff") 6730 IWMWriterAdvanced : public IUnknown 6731 { 6732 virtual HRESULT STDMETHODCALLTYPE GetSinkCount( 6733 DWORD *pcSinks) = 0; 6734 6735 virtual HRESULT STDMETHODCALLTYPE GetSink( 6736 DWORD dwSinkNum, 6737 IWMWriterSink **ppSink) = 0; 6738 6739 virtual HRESULT STDMETHODCALLTYPE AddSink( 6740 IWMWriterSink *pSink) = 0; 6741 6742 virtual HRESULT STDMETHODCALLTYPE RemoveSink( 6743 IWMWriterSink *pSink) = 0; 6744 6745 virtual HRESULT STDMETHODCALLTYPE WriteStreamSample( 6746 WORD wStreamNum, 6747 QWORD cnsSampleTime, 6748 DWORD msSampleSendTime, 6749 QWORD cnsSampleDuration, 6750 DWORD dwFlags, 6751 INSSBuffer *pSample) = 0; 6752 6753 virtual HRESULT STDMETHODCALLTYPE SetLiveSource( 6754 WINBOOL fIsLiveSource) = 0; 6755 6756 virtual HRESULT STDMETHODCALLTYPE IsRealTime( 6757 WINBOOL *pfRealTime) = 0; 6758 6759 virtual HRESULT STDMETHODCALLTYPE GetWriterTime( 6760 QWORD *pCurrentTime) = 0; 6761 6762 virtual HRESULT STDMETHODCALLTYPE GetStatistics( 6763 WORD wStreamNum, 6764 WM_WRITER_STATISTICS *pStats) = 0; 6765 6766 virtual HRESULT STDMETHODCALLTYPE SetSyncTolerance( 6767 DWORD msWindow) = 0; 6768 6769 virtual HRESULT STDMETHODCALLTYPE GetSyncTolerance( 6770 DWORD *pmsWindow) = 0; 6771 6772 }; 6773 #ifdef __CRT_UUID_DECL 6774 __CRT_UUID_DECL(IWMWriterAdvanced, 0x96406be3, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) 6775 #endif 6776 #else 6777 typedef struct IWMWriterAdvancedVtbl { 6778 BEGIN_INTERFACE 6779 6780 /*** IUnknown methods ***/ 6781 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6782 IWMWriterAdvanced* This, 6783 REFIID riid, 6784 void **ppvObject); 6785 6786 ULONG (STDMETHODCALLTYPE *AddRef)( 6787 IWMWriterAdvanced* This); 6788 6789 ULONG (STDMETHODCALLTYPE *Release)( 6790 IWMWriterAdvanced* This); 6791 6792 /*** IWMWriterAdvanced methods ***/ 6793 HRESULT (STDMETHODCALLTYPE *GetSinkCount)( 6794 IWMWriterAdvanced* This, 6795 DWORD *pcSinks); 6796 6797 HRESULT (STDMETHODCALLTYPE *GetSink)( 6798 IWMWriterAdvanced* This, 6799 DWORD dwSinkNum, 6800 IWMWriterSink **ppSink); 6801 6802 HRESULT (STDMETHODCALLTYPE *AddSink)( 6803 IWMWriterAdvanced* This, 6804 IWMWriterSink *pSink); 6805 6806 HRESULT (STDMETHODCALLTYPE *RemoveSink)( 6807 IWMWriterAdvanced* This, 6808 IWMWriterSink *pSink); 6809 6810 HRESULT (STDMETHODCALLTYPE *WriteStreamSample)( 6811 IWMWriterAdvanced* This, 6812 WORD wStreamNum, 6813 QWORD cnsSampleTime, 6814 DWORD msSampleSendTime, 6815 QWORD cnsSampleDuration, 6816 DWORD dwFlags, 6817 INSSBuffer *pSample); 6818 6819 HRESULT (STDMETHODCALLTYPE *SetLiveSource)( 6820 IWMWriterAdvanced* This, 6821 WINBOOL fIsLiveSource); 6822 6823 HRESULT (STDMETHODCALLTYPE *IsRealTime)( 6824 IWMWriterAdvanced* This, 6825 WINBOOL *pfRealTime); 6826 6827 HRESULT (STDMETHODCALLTYPE *GetWriterTime)( 6828 IWMWriterAdvanced* This, 6829 QWORD *pCurrentTime); 6830 6831 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 6832 IWMWriterAdvanced* This, 6833 WORD wStreamNum, 6834 WM_WRITER_STATISTICS *pStats); 6835 6836 HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)( 6837 IWMWriterAdvanced* This, 6838 DWORD msWindow); 6839 6840 HRESULT (STDMETHODCALLTYPE *GetSyncTolerance)( 6841 IWMWriterAdvanced* This, 6842 DWORD *pmsWindow); 6843 6844 END_INTERFACE 6845 } IWMWriterAdvancedVtbl; 6846 interface IWMWriterAdvanced { 6847 CONST_VTBL IWMWriterAdvancedVtbl* lpVtbl; 6848 }; 6849 6850 #ifdef COBJMACROS 6851 #ifndef WIDL_C_INLINE_WRAPPERS 6852 /*** IUnknown methods ***/ 6853 #define IWMWriterAdvanced_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6854 #define IWMWriterAdvanced_AddRef(This) (This)->lpVtbl->AddRef(This) 6855 #define IWMWriterAdvanced_Release(This) (This)->lpVtbl->Release(This) 6856 /*** IWMWriterAdvanced methods ***/ 6857 #define IWMWriterAdvanced_GetSinkCount(This,pcSinks) (This)->lpVtbl->GetSinkCount(This,pcSinks) 6858 #define IWMWriterAdvanced_GetSink(This,dwSinkNum,ppSink) (This)->lpVtbl->GetSink(This,dwSinkNum,ppSink) 6859 #define IWMWriterAdvanced_AddSink(This,pSink) (This)->lpVtbl->AddSink(This,pSink) 6860 #define IWMWriterAdvanced_RemoveSink(This,pSink) (This)->lpVtbl->RemoveSink(This,pSink) 6861 #define IWMWriterAdvanced_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) (This)->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) 6862 #define IWMWriterAdvanced_SetLiveSource(This,fIsLiveSource) (This)->lpVtbl->SetLiveSource(This,fIsLiveSource) 6863 #define IWMWriterAdvanced_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime) 6864 #define IWMWriterAdvanced_GetWriterTime(This,pCurrentTime) (This)->lpVtbl->GetWriterTime(This,pCurrentTime) 6865 #define IWMWriterAdvanced_GetStatistics(This,wStreamNum,pStats) (This)->lpVtbl->GetStatistics(This,wStreamNum,pStats) 6866 #define IWMWriterAdvanced_SetSyncTolerance(This,msWindow) (This)->lpVtbl->SetSyncTolerance(This,msWindow) 6867 #define IWMWriterAdvanced_GetSyncTolerance(This,pmsWindow) (This)->lpVtbl->GetSyncTolerance(This,pmsWindow) 6868 #else 6869 /*** IUnknown methods ***/ 6870 static FORCEINLINE HRESULT IWMWriterAdvanced_QueryInterface(IWMWriterAdvanced* This,REFIID riid,void **ppvObject) { 6871 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6872 } 6873 static FORCEINLINE ULONG IWMWriterAdvanced_AddRef(IWMWriterAdvanced* This) { 6874 return This->lpVtbl->AddRef(This); 6875 } 6876 static FORCEINLINE ULONG IWMWriterAdvanced_Release(IWMWriterAdvanced* This) { 6877 return This->lpVtbl->Release(This); 6878 } 6879 /*** IWMWriterAdvanced methods ***/ 6880 static FORCEINLINE HRESULT IWMWriterAdvanced_GetSinkCount(IWMWriterAdvanced* This,DWORD *pcSinks) { 6881 return This->lpVtbl->GetSinkCount(This,pcSinks); 6882 } 6883 static FORCEINLINE HRESULT IWMWriterAdvanced_GetSink(IWMWriterAdvanced* This,DWORD dwSinkNum,IWMWriterSink **ppSink) { 6884 return This->lpVtbl->GetSink(This,dwSinkNum,ppSink); 6885 } 6886 static FORCEINLINE HRESULT IWMWriterAdvanced_AddSink(IWMWriterAdvanced* This,IWMWriterSink *pSink) { 6887 return This->lpVtbl->AddSink(This,pSink); 6888 } 6889 static FORCEINLINE HRESULT IWMWriterAdvanced_RemoveSink(IWMWriterAdvanced* This,IWMWriterSink *pSink) { 6890 return This->lpVtbl->RemoveSink(This,pSink); 6891 } 6892 static FORCEINLINE HRESULT IWMWriterAdvanced_WriteStreamSample(IWMWriterAdvanced* This,WORD wStreamNum,QWORD cnsSampleTime,DWORD msSampleSendTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample) { 6893 return This->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample); 6894 } 6895 static FORCEINLINE HRESULT IWMWriterAdvanced_SetLiveSource(IWMWriterAdvanced* This,WINBOOL fIsLiveSource) { 6896 return This->lpVtbl->SetLiveSource(This,fIsLiveSource); 6897 } 6898 static FORCEINLINE HRESULT IWMWriterAdvanced_IsRealTime(IWMWriterAdvanced* This,WINBOOL *pfRealTime) { 6899 return This->lpVtbl->IsRealTime(This,pfRealTime); 6900 } 6901 static FORCEINLINE HRESULT IWMWriterAdvanced_GetWriterTime(IWMWriterAdvanced* This,QWORD *pCurrentTime) { 6902 return This->lpVtbl->GetWriterTime(This,pCurrentTime); 6903 } 6904 static FORCEINLINE HRESULT IWMWriterAdvanced_GetStatistics(IWMWriterAdvanced* This,WORD wStreamNum,WM_WRITER_STATISTICS *pStats) { 6905 return This->lpVtbl->GetStatistics(This,wStreamNum,pStats); 6906 } 6907 static FORCEINLINE HRESULT IWMWriterAdvanced_SetSyncTolerance(IWMWriterAdvanced* This,DWORD msWindow) { 6908 return This->lpVtbl->SetSyncTolerance(This,msWindow); 6909 } 6910 static FORCEINLINE HRESULT IWMWriterAdvanced_GetSyncTolerance(IWMWriterAdvanced* This,DWORD *pmsWindow) { 6911 return This->lpVtbl->GetSyncTolerance(This,pmsWindow); 6912 } 6913 #endif 6914 #endif 6915 6916 #endif 6917 6918 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSinkCount_Proxy( 6919 IWMWriterAdvanced* This, 6920 DWORD *pcSinks); 6921 void __RPC_STUB IWMWriterAdvanced_GetSinkCount_Stub( 6922 IRpcStubBuffer* This, 6923 IRpcChannelBuffer* pRpcChannelBuffer, 6924 PRPC_MESSAGE pRpcMessage, 6925 DWORD* pdwStubPhase); 6926 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSink_Proxy( 6927 IWMWriterAdvanced* This, 6928 DWORD dwSinkNum, 6929 IWMWriterSink **ppSink); 6930 void __RPC_STUB IWMWriterAdvanced_GetSink_Stub( 6931 IRpcStubBuffer* This, 6932 IRpcChannelBuffer* pRpcChannelBuffer, 6933 PRPC_MESSAGE pRpcMessage, 6934 DWORD* pdwStubPhase); 6935 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_AddSink_Proxy( 6936 IWMWriterAdvanced* This, 6937 IWMWriterSink *pSink); 6938 void __RPC_STUB IWMWriterAdvanced_AddSink_Stub( 6939 IRpcStubBuffer* This, 6940 IRpcChannelBuffer* pRpcChannelBuffer, 6941 PRPC_MESSAGE pRpcMessage, 6942 DWORD* pdwStubPhase); 6943 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_RemoveSink_Proxy( 6944 IWMWriterAdvanced* This, 6945 IWMWriterSink *pSink); 6946 void __RPC_STUB IWMWriterAdvanced_RemoveSink_Stub( 6947 IRpcStubBuffer* This, 6948 IRpcChannelBuffer* pRpcChannelBuffer, 6949 PRPC_MESSAGE pRpcMessage, 6950 DWORD* pdwStubPhase); 6951 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_WriteStreamSample_Proxy( 6952 IWMWriterAdvanced* This, 6953 WORD wStreamNum, 6954 QWORD cnsSampleTime, 6955 DWORD msSampleSendTime, 6956 QWORD cnsSampleDuration, 6957 DWORD dwFlags, 6958 INSSBuffer *pSample); 6959 void __RPC_STUB IWMWriterAdvanced_WriteStreamSample_Stub( 6960 IRpcStubBuffer* This, 6961 IRpcChannelBuffer* pRpcChannelBuffer, 6962 PRPC_MESSAGE pRpcMessage, 6963 DWORD* pdwStubPhase); 6964 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_SetLiveSource_Proxy( 6965 IWMWriterAdvanced* This, 6966 WINBOOL fIsLiveSource); 6967 void __RPC_STUB IWMWriterAdvanced_SetLiveSource_Stub( 6968 IRpcStubBuffer* This, 6969 IRpcChannelBuffer* pRpcChannelBuffer, 6970 PRPC_MESSAGE pRpcMessage, 6971 DWORD* pdwStubPhase); 6972 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_IsRealTime_Proxy( 6973 IWMWriterAdvanced* This, 6974 WINBOOL *pfRealTime); 6975 void __RPC_STUB IWMWriterAdvanced_IsRealTime_Stub( 6976 IRpcStubBuffer* This, 6977 IRpcChannelBuffer* pRpcChannelBuffer, 6978 PRPC_MESSAGE pRpcMessage, 6979 DWORD* pdwStubPhase); 6980 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetWriterTime_Proxy( 6981 IWMWriterAdvanced* This, 6982 QWORD *pCurrentTime); 6983 void __RPC_STUB IWMWriterAdvanced_GetWriterTime_Stub( 6984 IRpcStubBuffer* This, 6985 IRpcChannelBuffer* pRpcChannelBuffer, 6986 PRPC_MESSAGE pRpcMessage, 6987 DWORD* pdwStubPhase); 6988 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetStatistics_Proxy( 6989 IWMWriterAdvanced* This, 6990 WORD wStreamNum, 6991 WM_WRITER_STATISTICS *pStats); 6992 void __RPC_STUB IWMWriterAdvanced_GetStatistics_Stub( 6993 IRpcStubBuffer* This, 6994 IRpcChannelBuffer* pRpcChannelBuffer, 6995 PRPC_MESSAGE pRpcMessage, 6996 DWORD* pdwStubPhase); 6997 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_SetSyncTolerance_Proxy( 6998 IWMWriterAdvanced* This, 6999 DWORD msWindow); 7000 void __RPC_STUB IWMWriterAdvanced_SetSyncTolerance_Stub( 7001 IRpcStubBuffer* This, 7002 IRpcChannelBuffer* pRpcChannelBuffer, 7003 PRPC_MESSAGE pRpcMessage, 7004 DWORD* pdwStubPhase); 7005 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSyncTolerance_Proxy( 7006 IWMWriterAdvanced* This, 7007 DWORD *pmsWindow); 7008 void __RPC_STUB IWMWriterAdvanced_GetSyncTolerance_Stub( 7009 IRpcStubBuffer* This, 7010 IRpcChannelBuffer* pRpcChannelBuffer, 7011 PRPC_MESSAGE pRpcMessage, 7012 DWORD* pdwStubPhase); 7013 7014 #endif /* __IWMWriterAdvanced_INTERFACE_DEFINED__ */ 7015 7016 /***************************************************************************** 7017 * IWMWriterAdvanced2 interface 7018 */ 7019 #ifndef __IWMWriterAdvanced2_INTERFACE_DEFINED__ 7020 #define __IWMWriterAdvanced2_INTERFACE_DEFINED__ 7021 7022 DEFINE_GUID(IID_IWMWriterAdvanced2, 0x962dc1ec, 0xc046, 0x4db8, 0x9c,0xc7, 0x26,0xce,0xae,0x50,0x08,0x17); 7023 #if defined(__cplusplus) && !defined(CINTERFACE) 7024 MIDL_INTERFACE("962dc1ec-c046-4db8-9cc7-26ceae500817") 7025 IWMWriterAdvanced2 : public IWMWriterAdvanced 7026 { 7027 virtual HRESULT STDMETHODCALLTYPE GetInputSetting( 7028 DWORD dwInputNum, 7029 LPCWSTR pszName, 7030 WMT_ATTR_DATATYPE *pType, 7031 BYTE *pValue, 7032 WORD *pcbLength) = 0; 7033 7034 virtual HRESULT STDMETHODCALLTYPE SetInputSetting( 7035 DWORD dwInputNum, 7036 LPCWSTR pszName, 7037 WMT_ATTR_DATATYPE Type, 7038 const BYTE *pValue, 7039 WORD cbLength) = 0; 7040 7041 }; 7042 #ifdef __CRT_UUID_DECL 7043 __CRT_UUID_DECL(IWMWriterAdvanced2, 0x962dc1ec, 0xc046, 0x4db8, 0x9c,0xc7, 0x26,0xce,0xae,0x50,0x08,0x17) 7044 #endif 7045 #else 7046 typedef struct IWMWriterAdvanced2Vtbl { 7047 BEGIN_INTERFACE 7048 7049 /*** IUnknown methods ***/ 7050 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7051 IWMWriterAdvanced2* This, 7052 REFIID riid, 7053 void **ppvObject); 7054 7055 ULONG (STDMETHODCALLTYPE *AddRef)( 7056 IWMWriterAdvanced2* This); 7057 7058 ULONG (STDMETHODCALLTYPE *Release)( 7059 IWMWriterAdvanced2* This); 7060 7061 /*** IWMWriterAdvanced methods ***/ 7062 HRESULT (STDMETHODCALLTYPE *GetSinkCount)( 7063 IWMWriterAdvanced2* This, 7064 DWORD *pcSinks); 7065 7066 HRESULT (STDMETHODCALLTYPE *GetSink)( 7067 IWMWriterAdvanced2* This, 7068 DWORD dwSinkNum, 7069 IWMWriterSink **ppSink); 7070 7071 HRESULT (STDMETHODCALLTYPE *AddSink)( 7072 IWMWriterAdvanced2* This, 7073 IWMWriterSink *pSink); 7074 7075 HRESULT (STDMETHODCALLTYPE *RemoveSink)( 7076 IWMWriterAdvanced2* This, 7077 IWMWriterSink *pSink); 7078 7079 HRESULT (STDMETHODCALLTYPE *WriteStreamSample)( 7080 IWMWriterAdvanced2* This, 7081 WORD wStreamNum, 7082 QWORD cnsSampleTime, 7083 DWORD msSampleSendTime, 7084 QWORD cnsSampleDuration, 7085 DWORD dwFlags, 7086 INSSBuffer *pSample); 7087 7088 HRESULT (STDMETHODCALLTYPE *SetLiveSource)( 7089 IWMWriterAdvanced2* This, 7090 WINBOOL fIsLiveSource); 7091 7092 HRESULT (STDMETHODCALLTYPE *IsRealTime)( 7093 IWMWriterAdvanced2* This, 7094 WINBOOL *pfRealTime); 7095 7096 HRESULT (STDMETHODCALLTYPE *GetWriterTime)( 7097 IWMWriterAdvanced2* This, 7098 QWORD *pCurrentTime); 7099 7100 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 7101 IWMWriterAdvanced2* This, 7102 WORD wStreamNum, 7103 WM_WRITER_STATISTICS *pStats); 7104 7105 HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)( 7106 IWMWriterAdvanced2* This, 7107 DWORD msWindow); 7108 7109 HRESULT (STDMETHODCALLTYPE *GetSyncTolerance)( 7110 IWMWriterAdvanced2* This, 7111 DWORD *pmsWindow); 7112 7113 /*** IWMWriterAdvanced2 methods ***/ 7114 HRESULT (STDMETHODCALLTYPE *GetInputSetting)( 7115 IWMWriterAdvanced2* This, 7116 DWORD dwInputNum, 7117 LPCWSTR pszName, 7118 WMT_ATTR_DATATYPE *pType, 7119 BYTE *pValue, 7120 WORD *pcbLength); 7121 7122 HRESULT (STDMETHODCALLTYPE *SetInputSetting)( 7123 IWMWriterAdvanced2* This, 7124 DWORD dwInputNum, 7125 LPCWSTR pszName, 7126 WMT_ATTR_DATATYPE Type, 7127 const BYTE *pValue, 7128 WORD cbLength); 7129 7130 END_INTERFACE 7131 } IWMWriterAdvanced2Vtbl; 7132 interface IWMWriterAdvanced2 { 7133 CONST_VTBL IWMWriterAdvanced2Vtbl* lpVtbl; 7134 }; 7135 7136 #ifdef COBJMACROS 7137 #ifndef WIDL_C_INLINE_WRAPPERS 7138 /*** IUnknown methods ***/ 7139 #define IWMWriterAdvanced2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7140 #define IWMWriterAdvanced2_AddRef(This) (This)->lpVtbl->AddRef(This) 7141 #define IWMWriterAdvanced2_Release(This) (This)->lpVtbl->Release(This) 7142 /*** IWMWriterAdvanced methods ***/ 7143 #define IWMWriterAdvanced2_GetSinkCount(This,pcSinks) (This)->lpVtbl->GetSinkCount(This,pcSinks) 7144 #define IWMWriterAdvanced2_GetSink(This,dwSinkNum,ppSink) (This)->lpVtbl->GetSink(This,dwSinkNum,ppSink) 7145 #define IWMWriterAdvanced2_AddSink(This,pSink) (This)->lpVtbl->AddSink(This,pSink) 7146 #define IWMWriterAdvanced2_RemoveSink(This,pSink) (This)->lpVtbl->RemoveSink(This,pSink) 7147 #define IWMWriterAdvanced2_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) (This)->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) 7148 #define IWMWriterAdvanced2_SetLiveSource(This,fIsLiveSource) (This)->lpVtbl->SetLiveSource(This,fIsLiveSource) 7149 #define IWMWriterAdvanced2_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime) 7150 #define IWMWriterAdvanced2_GetWriterTime(This,pCurrentTime) (This)->lpVtbl->GetWriterTime(This,pCurrentTime) 7151 #define IWMWriterAdvanced2_GetStatistics(This,wStreamNum,pStats) (This)->lpVtbl->GetStatistics(This,wStreamNum,pStats) 7152 #define IWMWriterAdvanced2_SetSyncTolerance(This,msWindow) (This)->lpVtbl->SetSyncTolerance(This,msWindow) 7153 #define IWMWriterAdvanced2_GetSyncTolerance(This,pmsWindow) (This)->lpVtbl->GetSyncTolerance(This,pmsWindow) 7154 /*** IWMWriterAdvanced2 methods ***/ 7155 #define IWMWriterAdvanced2_GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) 7156 #define IWMWriterAdvanced2_SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) 7157 #else 7158 /*** IUnknown methods ***/ 7159 static FORCEINLINE HRESULT IWMWriterAdvanced2_QueryInterface(IWMWriterAdvanced2* This,REFIID riid,void **ppvObject) { 7160 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7161 } 7162 static FORCEINLINE ULONG IWMWriterAdvanced2_AddRef(IWMWriterAdvanced2* This) { 7163 return This->lpVtbl->AddRef(This); 7164 } 7165 static FORCEINLINE ULONG IWMWriterAdvanced2_Release(IWMWriterAdvanced2* This) { 7166 return This->lpVtbl->Release(This); 7167 } 7168 /*** IWMWriterAdvanced methods ***/ 7169 static FORCEINLINE HRESULT IWMWriterAdvanced2_GetSinkCount(IWMWriterAdvanced2* This,DWORD *pcSinks) { 7170 return This->lpVtbl->GetSinkCount(This,pcSinks); 7171 } 7172 static FORCEINLINE HRESULT IWMWriterAdvanced2_GetSink(IWMWriterAdvanced2* This,DWORD dwSinkNum,IWMWriterSink **ppSink) { 7173 return This->lpVtbl->GetSink(This,dwSinkNum,ppSink); 7174 } 7175 static FORCEINLINE HRESULT IWMWriterAdvanced2_AddSink(IWMWriterAdvanced2* This,IWMWriterSink *pSink) { 7176 return This->lpVtbl->AddSink(This,pSink); 7177 } 7178 static FORCEINLINE HRESULT IWMWriterAdvanced2_RemoveSink(IWMWriterAdvanced2* This,IWMWriterSink *pSink) { 7179 return This->lpVtbl->RemoveSink(This,pSink); 7180 } 7181 static FORCEINLINE HRESULT IWMWriterAdvanced2_WriteStreamSample(IWMWriterAdvanced2* This,WORD wStreamNum,QWORD cnsSampleTime,DWORD msSampleSendTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample) { 7182 return This->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample); 7183 } 7184 static FORCEINLINE HRESULT IWMWriterAdvanced2_SetLiveSource(IWMWriterAdvanced2* This,WINBOOL fIsLiveSource) { 7185 return This->lpVtbl->SetLiveSource(This,fIsLiveSource); 7186 } 7187 static FORCEINLINE HRESULT IWMWriterAdvanced2_IsRealTime(IWMWriterAdvanced2* This,WINBOOL *pfRealTime) { 7188 return This->lpVtbl->IsRealTime(This,pfRealTime); 7189 } 7190 static FORCEINLINE HRESULT IWMWriterAdvanced2_GetWriterTime(IWMWriterAdvanced2* This,QWORD *pCurrentTime) { 7191 return This->lpVtbl->GetWriterTime(This,pCurrentTime); 7192 } 7193 static FORCEINLINE HRESULT IWMWriterAdvanced2_GetStatistics(IWMWriterAdvanced2* This,WORD wStreamNum,WM_WRITER_STATISTICS *pStats) { 7194 return This->lpVtbl->GetStatistics(This,wStreamNum,pStats); 7195 } 7196 static FORCEINLINE HRESULT IWMWriterAdvanced2_SetSyncTolerance(IWMWriterAdvanced2* This,DWORD msWindow) { 7197 return This->lpVtbl->SetSyncTolerance(This,msWindow); 7198 } 7199 static FORCEINLINE HRESULT IWMWriterAdvanced2_GetSyncTolerance(IWMWriterAdvanced2* This,DWORD *pmsWindow) { 7200 return This->lpVtbl->GetSyncTolerance(This,pmsWindow); 7201 } 7202 /*** IWMWriterAdvanced2 methods ***/ 7203 static FORCEINLINE HRESULT IWMWriterAdvanced2_GetInputSetting(IWMWriterAdvanced2* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { 7204 return This->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength); 7205 } 7206 static FORCEINLINE HRESULT IWMWriterAdvanced2_SetInputSetting(IWMWriterAdvanced2* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { 7207 return This->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength); 7208 } 7209 #endif 7210 #endif 7211 7212 #endif 7213 7214 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced2_GetInputSetting_Proxy( 7215 IWMWriterAdvanced2* This, 7216 DWORD dwInputNum, 7217 LPCWSTR pszName, 7218 WMT_ATTR_DATATYPE *pType, 7219 BYTE *pValue, 7220 WORD *pcbLength); 7221 void __RPC_STUB IWMWriterAdvanced2_GetInputSetting_Stub( 7222 IRpcStubBuffer* This, 7223 IRpcChannelBuffer* pRpcChannelBuffer, 7224 PRPC_MESSAGE pRpcMessage, 7225 DWORD* pdwStubPhase); 7226 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced2_SetInputSetting_Proxy( 7227 IWMWriterAdvanced2* This, 7228 DWORD dwInputNum, 7229 LPCWSTR pszName, 7230 WMT_ATTR_DATATYPE Type, 7231 const BYTE *pValue, 7232 WORD cbLength); 7233 void __RPC_STUB IWMWriterAdvanced2_SetInputSetting_Stub( 7234 IRpcStubBuffer* This, 7235 IRpcChannelBuffer* pRpcChannelBuffer, 7236 PRPC_MESSAGE pRpcMessage, 7237 DWORD* pdwStubPhase); 7238 7239 #endif /* __IWMWriterAdvanced2_INTERFACE_DEFINED__ */ 7240 7241 /***************************************************************************** 7242 * IWMWriterAdvanced3 interface 7243 */ 7244 #ifndef __IWMWriterAdvanced3_INTERFACE_DEFINED__ 7245 #define __IWMWriterAdvanced3_INTERFACE_DEFINED__ 7246 7247 DEFINE_GUID(IID_IWMWriterAdvanced3, 0x2cd6492d, 0x7c37, 0x4e76, 0x9d,0x3b, 0x59,0x26,0x11,0x83,0xa2,0x2e); 7248 #if defined(__cplusplus) && !defined(CINTERFACE) 7249 MIDL_INTERFACE("2cd6492d-7c37-4e76-9d3b-59261183a22e") 7250 IWMWriterAdvanced3 : public IWMWriterAdvanced2 7251 { 7252 virtual HRESULT STDMETHODCALLTYPE GetStatisticsEx( 7253 WORD wStreamNum, 7254 WM_WRITER_STATISTICS_EX *pStats) = 0; 7255 7256 virtual HRESULT STDMETHODCALLTYPE SetNonBlocking( 7257 ) = 0; 7258 7259 }; 7260 #ifdef __CRT_UUID_DECL 7261 __CRT_UUID_DECL(IWMWriterAdvanced3, 0x2cd6492d, 0x7c37, 0x4e76, 0x9d,0x3b, 0x59,0x26,0x11,0x83,0xa2,0x2e) 7262 #endif 7263 #else 7264 typedef struct IWMWriterAdvanced3Vtbl { 7265 BEGIN_INTERFACE 7266 7267 /*** IUnknown methods ***/ 7268 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7269 IWMWriterAdvanced3* This, 7270 REFIID riid, 7271 void **ppvObject); 7272 7273 ULONG (STDMETHODCALLTYPE *AddRef)( 7274 IWMWriterAdvanced3* This); 7275 7276 ULONG (STDMETHODCALLTYPE *Release)( 7277 IWMWriterAdvanced3* This); 7278 7279 /*** IWMWriterAdvanced methods ***/ 7280 HRESULT (STDMETHODCALLTYPE *GetSinkCount)( 7281 IWMWriterAdvanced3* This, 7282 DWORD *pcSinks); 7283 7284 HRESULT (STDMETHODCALLTYPE *GetSink)( 7285 IWMWriterAdvanced3* This, 7286 DWORD dwSinkNum, 7287 IWMWriterSink **ppSink); 7288 7289 HRESULT (STDMETHODCALLTYPE *AddSink)( 7290 IWMWriterAdvanced3* This, 7291 IWMWriterSink *pSink); 7292 7293 HRESULT (STDMETHODCALLTYPE *RemoveSink)( 7294 IWMWriterAdvanced3* This, 7295 IWMWriterSink *pSink); 7296 7297 HRESULT (STDMETHODCALLTYPE *WriteStreamSample)( 7298 IWMWriterAdvanced3* This, 7299 WORD wStreamNum, 7300 QWORD cnsSampleTime, 7301 DWORD msSampleSendTime, 7302 QWORD cnsSampleDuration, 7303 DWORD dwFlags, 7304 INSSBuffer *pSample); 7305 7306 HRESULT (STDMETHODCALLTYPE *SetLiveSource)( 7307 IWMWriterAdvanced3* This, 7308 WINBOOL fIsLiveSource); 7309 7310 HRESULT (STDMETHODCALLTYPE *IsRealTime)( 7311 IWMWriterAdvanced3* This, 7312 WINBOOL *pfRealTime); 7313 7314 HRESULT (STDMETHODCALLTYPE *GetWriterTime)( 7315 IWMWriterAdvanced3* This, 7316 QWORD *pCurrentTime); 7317 7318 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 7319 IWMWriterAdvanced3* This, 7320 WORD wStreamNum, 7321 WM_WRITER_STATISTICS *pStats); 7322 7323 HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)( 7324 IWMWriterAdvanced3* This, 7325 DWORD msWindow); 7326 7327 HRESULT (STDMETHODCALLTYPE *GetSyncTolerance)( 7328 IWMWriterAdvanced3* This, 7329 DWORD *pmsWindow); 7330 7331 /*** IWMWriterAdvanced2 methods ***/ 7332 HRESULT (STDMETHODCALLTYPE *GetInputSetting)( 7333 IWMWriterAdvanced3* This, 7334 DWORD dwInputNum, 7335 LPCWSTR pszName, 7336 WMT_ATTR_DATATYPE *pType, 7337 BYTE *pValue, 7338 WORD *pcbLength); 7339 7340 HRESULT (STDMETHODCALLTYPE *SetInputSetting)( 7341 IWMWriterAdvanced3* This, 7342 DWORD dwInputNum, 7343 LPCWSTR pszName, 7344 WMT_ATTR_DATATYPE Type, 7345 const BYTE *pValue, 7346 WORD cbLength); 7347 7348 /*** IWMWriterAdvanced3 methods ***/ 7349 HRESULT (STDMETHODCALLTYPE *GetStatisticsEx)( 7350 IWMWriterAdvanced3* This, 7351 WORD wStreamNum, 7352 WM_WRITER_STATISTICS_EX *pStats); 7353 7354 HRESULT (STDMETHODCALLTYPE *SetNonBlocking)( 7355 IWMWriterAdvanced3* This); 7356 7357 END_INTERFACE 7358 } IWMWriterAdvanced3Vtbl; 7359 interface IWMWriterAdvanced3 { 7360 CONST_VTBL IWMWriterAdvanced3Vtbl* lpVtbl; 7361 }; 7362 7363 #ifdef COBJMACROS 7364 #ifndef WIDL_C_INLINE_WRAPPERS 7365 /*** IUnknown methods ***/ 7366 #define IWMWriterAdvanced3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7367 #define IWMWriterAdvanced3_AddRef(This) (This)->lpVtbl->AddRef(This) 7368 #define IWMWriterAdvanced3_Release(This) (This)->lpVtbl->Release(This) 7369 /*** IWMWriterAdvanced methods ***/ 7370 #define IWMWriterAdvanced3_GetSinkCount(This,pcSinks) (This)->lpVtbl->GetSinkCount(This,pcSinks) 7371 #define IWMWriterAdvanced3_GetSink(This,dwSinkNum,ppSink) (This)->lpVtbl->GetSink(This,dwSinkNum,ppSink) 7372 #define IWMWriterAdvanced3_AddSink(This,pSink) (This)->lpVtbl->AddSink(This,pSink) 7373 #define IWMWriterAdvanced3_RemoveSink(This,pSink) (This)->lpVtbl->RemoveSink(This,pSink) 7374 #define IWMWriterAdvanced3_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) (This)->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) 7375 #define IWMWriterAdvanced3_SetLiveSource(This,fIsLiveSource) (This)->lpVtbl->SetLiveSource(This,fIsLiveSource) 7376 #define IWMWriterAdvanced3_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime) 7377 #define IWMWriterAdvanced3_GetWriterTime(This,pCurrentTime) (This)->lpVtbl->GetWriterTime(This,pCurrentTime) 7378 #define IWMWriterAdvanced3_GetStatistics(This,wStreamNum,pStats) (This)->lpVtbl->GetStatistics(This,wStreamNum,pStats) 7379 #define IWMWriterAdvanced3_SetSyncTolerance(This,msWindow) (This)->lpVtbl->SetSyncTolerance(This,msWindow) 7380 #define IWMWriterAdvanced3_GetSyncTolerance(This,pmsWindow) (This)->lpVtbl->GetSyncTolerance(This,pmsWindow) 7381 /*** IWMWriterAdvanced2 methods ***/ 7382 #define IWMWriterAdvanced3_GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) 7383 #define IWMWriterAdvanced3_SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) 7384 /*** IWMWriterAdvanced3 methods ***/ 7385 #define IWMWriterAdvanced3_GetStatisticsEx(This,wStreamNum,pStats) (This)->lpVtbl->GetStatisticsEx(This,wStreamNum,pStats) 7386 #define IWMWriterAdvanced3_SetNonBlocking(This) (This)->lpVtbl->SetNonBlocking(This) 7387 #else 7388 /*** IUnknown methods ***/ 7389 static FORCEINLINE HRESULT IWMWriterAdvanced3_QueryInterface(IWMWriterAdvanced3* This,REFIID riid,void **ppvObject) { 7390 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7391 } 7392 static FORCEINLINE ULONG IWMWriterAdvanced3_AddRef(IWMWriterAdvanced3* This) { 7393 return This->lpVtbl->AddRef(This); 7394 } 7395 static FORCEINLINE ULONG IWMWriterAdvanced3_Release(IWMWriterAdvanced3* This) { 7396 return This->lpVtbl->Release(This); 7397 } 7398 /*** IWMWriterAdvanced methods ***/ 7399 static FORCEINLINE HRESULT IWMWriterAdvanced3_GetSinkCount(IWMWriterAdvanced3* This,DWORD *pcSinks) { 7400 return This->lpVtbl->GetSinkCount(This,pcSinks); 7401 } 7402 static FORCEINLINE HRESULT IWMWriterAdvanced3_GetSink(IWMWriterAdvanced3* This,DWORD dwSinkNum,IWMWriterSink **ppSink) { 7403 return This->lpVtbl->GetSink(This,dwSinkNum,ppSink); 7404 } 7405 static FORCEINLINE HRESULT IWMWriterAdvanced3_AddSink(IWMWriterAdvanced3* This,IWMWriterSink *pSink) { 7406 return This->lpVtbl->AddSink(This,pSink); 7407 } 7408 static FORCEINLINE HRESULT IWMWriterAdvanced3_RemoveSink(IWMWriterAdvanced3* This,IWMWriterSink *pSink) { 7409 return This->lpVtbl->RemoveSink(This,pSink); 7410 } 7411 static FORCEINLINE HRESULT IWMWriterAdvanced3_WriteStreamSample(IWMWriterAdvanced3* This,WORD wStreamNum,QWORD cnsSampleTime,DWORD msSampleSendTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample) { 7412 return This->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample); 7413 } 7414 static FORCEINLINE HRESULT IWMWriterAdvanced3_SetLiveSource(IWMWriterAdvanced3* This,WINBOOL fIsLiveSource) { 7415 return This->lpVtbl->SetLiveSource(This,fIsLiveSource); 7416 } 7417 static FORCEINLINE HRESULT IWMWriterAdvanced3_IsRealTime(IWMWriterAdvanced3* This,WINBOOL *pfRealTime) { 7418 return This->lpVtbl->IsRealTime(This,pfRealTime); 7419 } 7420 static FORCEINLINE HRESULT IWMWriterAdvanced3_GetWriterTime(IWMWriterAdvanced3* This,QWORD *pCurrentTime) { 7421 return This->lpVtbl->GetWriterTime(This,pCurrentTime); 7422 } 7423 static FORCEINLINE HRESULT IWMWriterAdvanced3_GetStatistics(IWMWriterAdvanced3* This,WORD wStreamNum,WM_WRITER_STATISTICS *pStats) { 7424 return This->lpVtbl->GetStatistics(This,wStreamNum,pStats); 7425 } 7426 static FORCEINLINE HRESULT IWMWriterAdvanced3_SetSyncTolerance(IWMWriterAdvanced3* This,DWORD msWindow) { 7427 return This->lpVtbl->SetSyncTolerance(This,msWindow); 7428 } 7429 static FORCEINLINE HRESULT IWMWriterAdvanced3_GetSyncTolerance(IWMWriterAdvanced3* This,DWORD *pmsWindow) { 7430 return This->lpVtbl->GetSyncTolerance(This,pmsWindow); 7431 } 7432 /*** IWMWriterAdvanced2 methods ***/ 7433 static FORCEINLINE HRESULT IWMWriterAdvanced3_GetInputSetting(IWMWriterAdvanced3* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { 7434 return This->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength); 7435 } 7436 static FORCEINLINE HRESULT IWMWriterAdvanced3_SetInputSetting(IWMWriterAdvanced3* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { 7437 return This->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength); 7438 } 7439 /*** IWMWriterAdvanced3 methods ***/ 7440 static FORCEINLINE HRESULT IWMWriterAdvanced3_GetStatisticsEx(IWMWriterAdvanced3* This,WORD wStreamNum,WM_WRITER_STATISTICS_EX *pStats) { 7441 return This->lpVtbl->GetStatisticsEx(This,wStreamNum,pStats); 7442 } 7443 static FORCEINLINE HRESULT IWMWriterAdvanced3_SetNonBlocking(IWMWriterAdvanced3* This) { 7444 return This->lpVtbl->SetNonBlocking(This); 7445 } 7446 #endif 7447 #endif 7448 7449 #endif 7450 7451 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced3_GetStatisticsEx_Proxy( 7452 IWMWriterAdvanced3* This, 7453 WORD wStreamNum, 7454 WM_WRITER_STATISTICS_EX *pStats); 7455 void __RPC_STUB IWMWriterAdvanced3_GetStatisticsEx_Stub( 7456 IRpcStubBuffer* This, 7457 IRpcChannelBuffer* pRpcChannelBuffer, 7458 PRPC_MESSAGE pRpcMessage, 7459 DWORD* pdwStubPhase); 7460 HRESULT STDMETHODCALLTYPE IWMWriterAdvanced3_SetNonBlocking_Proxy( 7461 IWMWriterAdvanced3* This); 7462 void __RPC_STUB IWMWriterAdvanced3_SetNonBlocking_Stub( 7463 IRpcStubBuffer* This, 7464 IRpcChannelBuffer* pRpcChannelBuffer, 7465 PRPC_MESSAGE pRpcMessage, 7466 DWORD* pdwStubPhase); 7467 7468 #endif /* __IWMWriterAdvanced3_INTERFACE_DEFINED__ */ 7469 7470 HRESULT WINAPI WMCreateWriter(IUnknown*,IWMWriter**); 7471 HRESULT WINAPI WMCreateReader(IUnknown*,DWORD,IWMReader**); 7472 EXTERN_GUID(WMMEDIASUBTYPE_Base, 0x00000000,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7473 EXTERN_GUID(WMMEDIATYPE_Video, 0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7474 EXTERN_GUID(WMMEDIASUBTYPE_RGB1, 0xe436eb78,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); 7475 EXTERN_GUID(WMMEDIASUBTYPE_RGB4, 0xe436eb79,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); 7476 EXTERN_GUID(WMMEDIASUBTYPE_RGB8, 0xe436eb7a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); 7477 EXTERN_GUID(WMMEDIASUBTYPE_RGB565, 0xe436eb7b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); 7478 EXTERN_GUID(WMMEDIASUBTYPE_RGB555, 0xe436eb7c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); 7479 EXTERN_GUID(WMMEDIASUBTYPE_RGB24, 0xe436eb7d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); 7480 EXTERN_GUID(WMMEDIASUBTYPE_RGB32, 0xe436eb7e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); 7481 EXTERN_GUID(WMMEDIASUBTYPE_I420, 0x30323449,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7482 EXTERN_GUID(WMMEDIASUBTYPE_IYUV, 0x56555949,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7483 EXTERN_GUID(WMMEDIASUBTYPE_YV12, 0x32315659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7484 EXTERN_GUID(WMMEDIASUBTYPE_YUY2, 0x32595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7485 EXTERN_GUID(WMMEDIASUBTYPE_P422, 0x32323450,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7486 EXTERN_GUID(WMMEDIASUBTYPE_UYVY, 0x59565955,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7487 EXTERN_GUID(WMMEDIASUBTYPE_YVYU, 0x55595659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7488 EXTERN_GUID(WMMEDIASUBTYPE_YVU9, 0x39555659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7489 EXTERN_GUID(WMMEDIASUBTYPE_VIDEOIMAGE, 0x1d4a45f2,0xe5f6,0x4b44,0x83,0x88,0xf0,0xae,0x5c,0x0e,0x0c,0x37); 7490 EXTERN_GUID(WMMEDIASUBTYPE_MP43, 0x3334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7491 EXTERN_GUID(WMMEDIASUBTYPE_MP4S, 0x5334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7492 EXTERN_GUID(WMMEDIASUBTYPE_M4S2, 0x3253344d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7493 EXTERN_GUID(WMMEDIASUBTYPE_WMV1, 0x31564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7494 EXTERN_GUID(WMMEDIASUBTYPE_WMV2, 0x32564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7495 EXTERN_GUID(WMMEDIASUBTYPE_MSS1, 0x3153534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7496 EXTERN_GUID(WMMEDIASUBTYPE_MPEG2_VIDEO, 0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea); 7497 EXTERN_GUID(WMMEDIATYPE_Audio, 0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7498 EXTERN_GUID(WMMEDIASUBTYPE_PCM, 0x00000001,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7499 EXTERN_GUID(WMMEDIASUBTYPE_DRM, 0x00000009,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7500 EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV9, 0x00000162,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7501 EXTERN_GUID(WMMEDIASUBTYPE_WMAudio_Lossless, 0x00000163,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7502 EXTERN_GUID(WMMEDIASUBTYPE_MSS2, 0x3253534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7503 EXTERN_GUID(WMMEDIASUBTYPE_WMSP1, 0x0000000a,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7504 EXTERN_GUID(WMMEDIASUBTYPE_WMSP2, 0x0000000b,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7505 EXTERN_GUID(WMMEDIASUBTYPE_WMV3, 0x33564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7506 EXTERN_GUID(WMMEDIASUBTYPE_WMVP, 0x50564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7507 EXTERN_GUID(WMMEDIASUBTYPE_WVP2, 0x32505657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7508 EXTERN_GUID(WMMEDIASUBTYPE_WMVA, 0x41564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7509 EXTERN_GUID(WMMEDIASUBTYPE_WVC1, 0x31435657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); 7510 /* Begin additional prototypes for all interfaces */ 7511 7512 7513 /* End additional prototypes */ 7514 7515 #ifdef __cplusplus 7516 } 7517 #endif 7518 7519 #endif /* __wmsdkidl_h__ */ 7520