mpeg2data.h (25012B) - Raw
1 /*** Autogenerated by WIDL 10.4 from include/mpeg2data.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __mpeg2data_h__ 17 #define __mpeg2data_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IMpeg2TableFilter_FWD_DEFINED__ 22 #define __IMpeg2TableFilter_FWD_DEFINED__ 23 typedef interface IMpeg2TableFilter IMpeg2TableFilter; 24 #ifdef __cplusplus 25 interface IMpeg2TableFilter; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __Mpeg2TableFilter_FWD_DEFINED__ 30 #define __Mpeg2TableFilter_FWD_DEFINED__ 31 #ifdef __cplusplus 32 typedef class Mpeg2TableFilter Mpeg2TableFilter; 33 #else 34 typedef struct Mpeg2TableFilter Mpeg2TableFilter; 35 #endif /* defined __cplusplus */ 36 #endif /* defined __Mpeg2TableFilter_FWD_DEFINED__ */ 37 38 #ifndef __IMpeg2Data_FWD_DEFINED__ 39 #define __IMpeg2Data_FWD_DEFINED__ 40 typedef interface IMpeg2Data IMpeg2Data; 41 #ifdef __cplusplus 42 interface IMpeg2Data; 43 #endif /* __cplusplus */ 44 #endif 45 46 #ifndef __ISectionList_FWD_DEFINED__ 47 #define __ISectionList_FWD_DEFINED__ 48 typedef interface ISectionList ISectionList; 49 #ifdef __cplusplus 50 interface ISectionList; 51 #endif /* __cplusplus */ 52 #endif 53 54 #ifndef __IMpeg2Stream_FWD_DEFINED__ 55 #define __IMpeg2Stream_FWD_DEFINED__ 56 typedef interface IMpeg2Stream IMpeg2Stream; 57 #ifdef __cplusplus 58 interface IMpeg2Stream; 59 #endif /* __cplusplus */ 60 #endif 61 62 #ifndef __SectionList_FWD_DEFINED__ 63 #define __SectionList_FWD_DEFINED__ 64 #ifdef __cplusplus 65 typedef class SectionList SectionList; 66 #else 67 typedef struct SectionList SectionList; 68 #endif /* defined __cplusplus */ 69 #endif /* defined __SectionList_FWD_DEFINED__ */ 70 71 #ifndef __Mpeg2Stream_FWD_DEFINED__ 72 #define __Mpeg2Stream_FWD_DEFINED__ 73 #ifdef __cplusplus 74 typedef class Mpeg2Stream Mpeg2Stream; 75 #else 76 typedef struct Mpeg2Stream Mpeg2Stream; 77 #endif /* defined __cplusplus */ 78 #endif /* defined __Mpeg2Stream_FWD_DEFINED__ */ 79 80 #ifndef __Mpeg2Data_FWD_DEFINED__ 81 #define __Mpeg2Data_FWD_DEFINED__ 82 #ifdef __cplusplus 83 typedef class Mpeg2Data Mpeg2Data; 84 #else 85 typedef struct Mpeg2Data Mpeg2Data; 86 #endif /* defined __cplusplus */ 87 #endif /* defined __Mpeg2Data_FWD_DEFINED__ */ 88 89 /* Headers for imported files */ 90 91 #include <oaidl.h> 92 #include <ocidl.h> 93 #include <bdaiface.h> 94 #include <mpeg2structs.h> 95 96 #ifdef __cplusplus 97 extern "C" { 98 #endif 99 100 #ifndef __ISectionList_FWD_DEFINED__ 101 #define __ISectionList_FWD_DEFINED__ 102 typedef interface ISectionList ISectionList; 103 #ifdef __cplusplus 104 interface ISectionList; 105 #endif /* __cplusplus */ 106 #endif 107 108 #ifndef __IMpeg2Stream_FWD_DEFINED__ 109 #define __IMpeg2Stream_FWD_DEFINED__ 110 typedef interface IMpeg2Stream IMpeg2Stream; 111 #ifdef __cplusplus 112 interface IMpeg2Stream; 113 #endif /* __cplusplus */ 114 #endif 115 116 #define MPEG_PAT_PID 0x0000 117 #define MPEG_PAT_TID 0x00 118 #define MPEG_CAT_PID 0x0001 119 #define MPEG_CAT_TID 0x01 120 #define MPEG_PMT_TID 0x02 121 #define MPEG_TSDT_PID 0x0002 122 #define MPEG_TSDT_TID 0x03 123 #define ATSC_MGT_PID 0x1ffb 124 #define ATSC_MGT_TID 0xc7 125 #define ATSC_VCT_PID 0x1ffb 126 #define ATSC_VCT_TERR_TID 0xc8 127 #define ATSC_VCT_CABL_TID 0xc9 128 #define ATSC_EIT_TID 0xcb 129 #define ATSC_ETT_TID 0xcc 130 #define ATSC_RRT_TID 0xca 131 #define ATSC_RRT_PID 0x1ffb 132 #define ATSC_STT_PID 0x1ffb 133 #define ATSC_STT_TID 0xcd 134 #define ATSC_PIT_TID 0xd0 135 #define DVB_NIT_PID 0x0010 136 #define DVB_NIT_ACTUAL_TID 0x40 137 #define DVB_NIT_OTHER_TID 0x41 138 #define DVB_SDT_PID 0x0011 139 #define DVB_SDT_ACTUAL_TID 0x42 140 #define DVB_SDT_OTHER_TID 0x46 141 #define DVB_BAT_PID 0x0011 142 #define DVB_BAT_TID 0x4a 143 #define DVB_EIT_PID 0x0012 144 #define DVB_EIT_ACTUAL_TID 0x4e 145 #define DVB_EIT_OTHER_TID 0x4f 146 #define DVB_RST_PID 0x0013 147 #define DVB_RST_TID 0x71 148 #define DVB_TDT_PID 0x0014 149 #define DVB_TDT_TID 0x70 150 #define DVB_ST_PID_16 0x0010 151 #define DVB_ST_PID_17 0x0011 152 #define DVB_ST_PID_18 0x0012 153 #define DVB_ST_PID_19 0x0013 154 #define DVB_ST_PID_20 0x0014 155 #define DVB_ST_TID 0x72 156 #define ISDB_ST_TID 0x72 157 #define DVB_TOT_PID 0x0014 158 #define DVB_TOT_TID 0x73 159 #define DVB_DIT_PID 0x001e 160 #define DVB_DIT_TID 0x7e 161 #define DVB_SIT_PID 0x001f 162 #define DVB_SIT_TID 0x7f 163 #define ISDB_EMM_TID 0x85 164 #define ISDB_BIT_PID 0x0024 165 #define ISDB_BIT_TID 0xc4 166 #define ISDB_NBIT_PID 0x0025 167 #define ISDB_NBIT_MSG_TID 0xc5 168 #define ISDB_NBIT_REF_TID 0xc6 169 #define ISDB_LDT_PID 0x0025 170 #define ISDB_LDT_TID 0xc7 171 #define ISDB_SDTT_PID 0x0023 172 #define ISDB_SDTT_ALT_PID 0x0028 173 #define ISDB_SDTT_TID 0xc3 174 #define ISDB_CDT_PID 0x0029 175 #define ISDB_CDT_TID 0xc8 176 #define SCTE_EAS_TID 0xd8 177 #define SCTE_EAS_IB_PID 0x1ffb 178 #define SCTE_EAS_OOB_PID 0x1ffc 179 /***************************************************************************** 180 * IMpeg2TableFilter interface 181 */ 182 #ifndef __IMpeg2TableFilter_INTERFACE_DEFINED__ 183 #define __IMpeg2TableFilter_INTERFACE_DEFINED__ 184 185 DEFINE_GUID(IID_IMpeg2TableFilter, 0xbdcdd913, 0x9ecd, 0x4fb2, 0x81,0xae, 0xad,0xf7,0x47,0xea,0x75,0xa5); 186 #if defined(__cplusplus) && !defined(CINTERFACE) 187 MIDL_INTERFACE("bdcdd913-9ecd-4fb2-81ae-adf747ea75a5") 188 IMpeg2TableFilter : public IUnknown 189 { 190 virtual HRESULT STDMETHODCALLTYPE AddPID( 191 PID p) = 0; 192 193 virtual HRESULT STDMETHODCALLTYPE AddTable( 194 PID p, 195 TID t) = 0; 196 197 virtual HRESULT STDMETHODCALLTYPE AddExtension( 198 PID p, 199 TID t, 200 TEID e) = 0; 201 202 virtual HRESULT STDMETHODCALLTYPE RemovePID( 203 PID p) = 0; 204 205 virtual HRESULT STDMETHODCALLTYPE RemoveTable( 206 PID p, 207 TID t) = 0; 208 209 virtual HRESULT STDMETHODCALLTYPE RemoveExtension( 210 PID p, 211 TID t, 212 TEID e) = 0; 213 214 }; 215 #ifdef __CRT_UUID_DECL 216 __CRT_UUID_DECL(IMpeg2TableFilter, 0xbdcdd913, 0x9ecd, 0x4fb2, 0x81,0xae, 0xad,0xf7,0x47,0xea,0x75,0xa5) 217 #endif 218 #else 219 typedef struct IMpeg2TableFilterVtbl { 220 BEGIN_INTERFACE 221 222 /*** IUnknown methods ***/ 223 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 224 IMpeg2TableFilter *This, 225 REFIID riid, 226 void **ppvObject); 227 228 ULONG (STDMETHODCALLTYPE *AddRef)( 229 IMpeg2TableFilter *This); 230 231 ULONG (STDMETHODCALLTYPE *Release)( 232 IMpeg2TableFilter *This); 233 234 /*** IMpeg2TableFilter methods ***/ 235 HRESULT (STDMETHODCALLTYPE *AddPID)( 236 IMpeg2TableFilter *This, 237 PID p); 238 239 HRESULT (STDMETHODCALLTYPE *AddTable)( 240 IMpeg2TableFilter *This, 241 PID p, 242 TID t); 243 244 HRESULT (STDMETHODCALLTYPE *AddExtension)( 245 IMpeg2TableFilter *This, 246 PID p, 247 TID t, 248 TEID e); 249 250 HRESULT (STDMETHODCALLTYPE *RemovePID)( 251 IMpeg2TableFilter *This, 252 PID p); 253 254 HRESULT (STDMETHODCALLTYPE *RemoveTable)( 255 IMpeg2TableFilter *This, 256 PID p, 257 TID t); 258 259 HRESULT (STDMETHODCALLTYPE *RemoveExtension)( 260 IMpeg2TableFilter *This, 261 PID p, 262 TID t, 263 TEID e); 264 265 END_INTERFACE 266 } IMpeg2TableFilterVtbl; 267 268 interface IMpeg2TableFilter { 269 CONST_VTBL IMpeg2TableFilterVtbl* lpVtbl; 270 }; 271 272 #ifdef COBJMACROS 273 #ifndef WIDL_C_INLINE_WRAPPERS 274 /*** IUnknown methods ***/ 275 #define IMpeg2TableFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 276 #define IMpeg2TableFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 277 #define IMpeg2TableFilter_Release(This) (This)->lpVtbl->Release(This) 278 /*** IMpeg2TableFilter methods ***/ 279 #define IMpeg2TableFilter_AddPID(This,p) (This)->lpVtbl->AddPID(This,p) 280 #define IMpeg2TableFilter_AddTable(This,p,t) (This)->lpVtbl->AddTable(This,p,t) 281 #define IMpeg2TableFilter_AddExtension(This,p,t,e) (This)->lpVtbl->AddExtension(This,p,t,e) 282 #define IMpeg2TableFilter_RemovePID(This,p) (This)->lpVtbl->RemovePID(This,p) 283 #define IMpeg2TableFilter_RemoveTable(This,p,t) (This)->lpVtbl->RemoveTable(This,p,t) 284 #define IMpeg2TableFilter_RemoveExtension(This,p,t,e) (This)->lpVtbl->RemoveExtension(This,p,t,e) 285 #else 286 /*** IUnknown methods ***/ 287 static inline HRESULT IMpeg2TableFilter_QueryInterface(IMpeg2TableFilter* This,REFIID riid,void **ppvObject) { 288 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 289 } 290 static inline ULONG IMpeg2TableFilter_AddRef(IMpeg2TableFilter* This) { 291 return This->lpVtbl->AddRef(This); 292 } 293 static inline ULONG IMpeg2TableFilter_Release(IMpeg2TableFilter* This) { 294 return This->lpVtbl->Release(This); 295 } 296 /*** IMpeg2TableFilter methods ***/ 297 static inline HRESULT IMpeg2TableFilter_AddPID(IMpeg2TableFilter* This,PID p) { 298 return This->lpVtbl->AddPID(This,p); 299 } 300 static inline HRESULT IMpeg2TableFilter_AddTable(IMpeg2TableFilter* This,PID p,TID t) { 301 return This->lpVtbl->AddTable(This,p,t); 302 } 303 static inline HRESULT IMpeg2TableFilter_AddExtension(IMpeg2TableFilter* This,PID p,TID t,TEID e) { 304 return This->lpVtbl->AddExtension(This,p,t,e); 305 } 306 static inline HRESULT IMpeg2TableFilter_RemovePID(IMpeg2TableFilter* This,PID p) { 307 return This->lpVtbl->RemovePID(This,p); 308 } 309 static inline HRESULT IMpeg2TableFilter_RemoveTable(IMpeg2TableFilter* This,PID p,TID t) { 310 return This->lpVtbl->RemoveTable(This,p,t); 311 } 312 static inline HRESULT IMpeg2TableFilter_RemoveExtension(IMpeg2TableFilter* This,PID p,TID t,TEID e) { 313 return This->lpVtbl->RemoveExtension(This,p,t,e); 314 } 315 #endif 316 #endif 317 318 #endif 319 320 321 #endif /* __IMpeg2TableFilter_INTERFACE_DEFINED__ */ 322 323 /***************************************************************************** 324 * Mpeg2TableFilter coclass 325 */ 326 327 DEFINE_GUID(CLSID_Mpeg2TableFilter, 0x752845f1, 0x758f, 0x4c83, 0xa0,0x43, 0x42,0x70,0xc5,0x93,0x30,0x8e); 328 329 #ifdef __cplusplus 330 class DECLSPEC_UUID("752845f1-758f-4c83-a043-4270c593308e") Mpeg2TableFilter; 331 #ifdef __CRT_UUID_DECL 332 __CRT_UUID_DECL(Mpeg2TableFilter, 0x752845f1, 0x758f, 0x4c83, 0xa0,0x43, 0x42,0x70,0xc5,0x93,0x30,0x8e) 333 #endif 334 #endif 335 336 typedef struct Mpeg2TableSampleHdr { 337 BYTE SectionCount; 338 BYTE Reserved[3]; 339 LONG SectionOffsets[1]; 340 } Mpeg2TableSampleHdr; 341 #ifndef __Mpeg2DataLib_LIBRARY_DEFINED__ 342 #define __Mpeg2DataLib_LIBRARY_DEFINED__ 343 344 DEFINE_GUID(LIBID_Mpeg2DataLib, 0xdbaf6c1b, 0xb6a4, 0x4898, 0xae,0x65, 0x20,0x4f,0x0d,0x95,0x09,0xa1); 345 346 /***************************************************************************** 347 * IMpeg2Data interface 348 */ 349 #ifndef __IMpeg2Data_INTERFACE_DEFINED__ 350 #define __IMpeg2Data_INTERFACE_DEFINED__ 351 352 DEFINE_GUID(IID_IMpeg2Data, 0x9b396d40, 0xf380, 0x4e3c, 0xa5,0x14, 0x1a,0x82,0xbf,0x6e,0xbf,0xe6); 353 #if defined(__cplusplus) && !defined(CINTERFACE) 354 MIDL_INTERFACE("9b396d40-f380-4e3c-a514-1a82bf6ebfe6") 355 IMpeg2Data : public IUnknown 356 { 357 virtual HRESULT STDMETHODCALLTYPE GetSection( 358 PID pid, 359 TID tid, 360 PMPEG2_FILTER filter, 361 DWORD timeout, 362 ISectionList **section_list) = 0; 363 364 virtual HRESULT STDMETHODCALLTYPE GetTable( 365 PID pid, 366 TID tid, 367 PMPEG2_FILTER filter, 368 DWORD timeout, 369 ISectionList **section_list) = 0; 370 371 virtual HRESULT STDMETHODCALLTYPE GetStreamOfSections( 372 PID pid, 373 TID tid, 374 PMPEG2_FILTER filter, 375 HANDLE data_ready_event, 376 IMpeg2Stream **mpeg_stream) = 0; 377 378 }; 379 #ifdef __CRT_UUID_DECL 380 __CRT_UUID_DECL(IMpeg2Data, 0x9b396d40, 0xf380, 0x4e3c, 0xa5,0x14, 0x1a,0x82,0xbf,0x6e,0xbf,0xe6) 381 #endif 382 #else 383 typedef struct IMpeg2DataVtbl { 384 BEGIN_INTERFACE 385 386 /*** IUnknown methods ***/ 387 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 388 IMpeg2Data *This, 389 REFIID riid, 390 void **ppvObject); 391 392 ULONG (STDMETHODCALLTYPE *AddRef)( 393 IMpeg2Data *This); 394 395 ULONG (STDMETHODCALLTYPE *Release)( 396 IMpeg2Data *This); 397 398 /*** IMpeg2Data methods ***/ 399 HRESULT (STDMETHODCALLTYPE *GetSection)( 400 IMpeg2Data *This, 401 PID pid, 402 TID tid, 403 PMPEG2_FILTER filter, 404 DWORD timeout, 405 ISectionList **section_list); 406 407 HRESULT (STDMETHODCALLTYPE *GetTable)( 408 IMpeg2Data *This, 409 PID pid, 410 TID tid, 411 PMPEG2_FILTER filter, 412 DWORD timeout, 413 ISectionList **section_list); 414 415 HRESULT (STDMETHODCALLTYPE *GetStreamOfSections)( 416 IMpeg2Data *This, 417 PID pid, 418 TID tid, 419 PMPEG2_FILTER filter, 420 HANDLE data_ready_event, 421 IMpeg2Stream **mpeg_stream); 422 423 END_INTERFACE 424 } IMpeg2DataVtbl; 425 426 interface IMpeg2Data { 427 CONST_VTBL IMpeg2DataVtbl* lpVtbl; 428 }; 429 430 #ifdef COBJMACROS 431 #ifndef WIDL_C_INLINE_WRAPPERS 432 /*** IUnknown methods ***/ 433 #define IMpeg2Data_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 434 #define IMpeg2Data_AddRef(This) (This)->lpVtbl->AddRef(This) 435 #define IMpeg2Data_Release(This) (This)->lpVtbl->Release(This) 436 /*** IMpeg2Data methods ***/ 437 #define IMpeg2Data_GetSection(This,pid,tid,filter,timeout,section_list) (This)->lpVtbl->GetSection(This,pid,tid,filter,timeout,section_list) 438 #define IMpeg2Data_GetTable(This,pid,tid,filter,timeout,section_list) (This)->lpVtbl->GetTable(This,pid,tid,filter,timeout,section_list) 439 #define IMpeg2Data_GetStreamOfSections(This,pid,tid,filter,data_ready_event,mpeg_stream) (This)->lpVtbl->GetStreamOfSections(This,pid,tid,filter,data_ready_event,mpeg_stream) 440 #else 441 /*** IUnknown methods ***/ 442 static inline HRESULT IMpeg2Data_QueryInterface(IMpeg2Data* This,REFIID riid,void **ppvObject) { 443 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 444 } 445 static inline ULONG IMpeg2Data_AddRef(IMpeg2Data* This) { 446 return This->lpVtbl->AddRef(This); 447 } 448 static inline ULONG IMpeg2Data_Release(IMpeg2Data* This) { 449 return This->lpVtbl->Release(This); 450 } 451 /*** IMpeg2Data methods ***/ 452 static inline HRESULT IMpeg2Data_GetSection(IMpeg2Data* This,PID pid,TID tid,PMPEG2_FILTER filter,DWORD timeout,ISectionList **section_list) { 453 return This->lpVtbl->GetSection(This,pid,tid,filter,timeout,section_list); 454 } 455 static inline HRESULT IMpeg2Data_GetTable(IMpeg2Data* This,PID pid,TID tid,PMPEG2_FILTER filter,DWORD timeout,ISectionList **section_list) { 456 return This->lpVtbl->GetTable(This,pid,tid,filter,timeout,section_list); 457 } 458 static inline HRESULT IMpeg2Data_GetStreamOfSections(IMpeg2Data* This,PID pid,TID tid,PMPEG2_FILTER filter,HANDLE data_ready_event,IMpeg2Stream **mpeg_stream) { 459 return This->lpVtbl->GetStreamOfSections(This,pid,tid,filter,data_ready_event,mpeg_stream); 460 } 461 #endif 462 #endif 463 464 #endif 465 466 467 #endif /* __IMpeg2Data_INTERFACE_DEFINED__ */ 468 469 /***************************************************************************** 470 * ISectionList interface 471 */ 472 #ifndef __ISectionList_INTERFACE_DEFINED__ 473 #define __ISectionList_INTERFACE_DEFINED__ 474 475 DEFINE_GUID(IID_ISectionList, 0xafec1eb5, 0x2a64, 0x46c6, 0xbf,0x4b, 0xae,0x3c,0xcb,0x6a,0xfd,0xb0); 476 #if defined(__cplusplus) && !defined(CINTERFACE) 477 MIDL_INTERFACE("afec1eb5-2a64-46c6-bf4b-ae3ccb6afdb0") 478 ISectionList : public IUnknown 479 { 480 virtual HRESULT STDMETHODCALLTYPE Initialize( 481 MPEG_REQUEST_TYPE request_type, 482 IMpeg2Data *mpeg2_data, 483 PMPEG_CONTEXT context, 484 PID pid, 485 TID tid, 486 PMPEG2_FILTER filter, 487 DWORD timeout, 488 HANDLE done_event) = 0; 489 490 virtual HRESULT STDMETHODCALLTYPE InitializeWithRawSections( 491 PMPEG_PACKET_LIST mpl_sections) = 0; 492 493 virtual HRESULT STDMETHODCALLTYPE CancelPendingRequest( 494 ) = 0; 495 496 virtual HRESULT STDMETHODCALLTYPE GetNumberOfSections( 497 WORD *count) = 0; 498 499 virtual HRESULT STDMETHODCALLTYPE GetSectionData( 500 WORD section_number, 501 DWORD *raw_packet_length, 502 PSECTION *section) = 0; 503 504 virtual HRESULT STDMETHODCALLTYPE GetProgramIdentifier( 505 PID *pid) = 0; 506 507 virtual HRESULT STDMETHODCALLTYPE GetTableIdentifier( 508 TID *tid) = 0; 509 510 }; 511 #ifdef __CRT_UUID_DECL 512 __CRT_UUID_DECL(ISectionList, 0xafec1eb5, 0x2a64, 0x46c6, 0xbf,0x4b, 0xae,0x3c,0xcb,0x6a,0xfd,0xb0) 513 #endif 514 #else 515 typedef struct ISectionListVtbl { 516 BEGIN_INTERFACE 517 518 /*** IUnknown methods ***/ 519 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 520 ISectionList *This, 521 REFIID riid, 522 void **ppvObject); 523 524 ULONG (STDMETHODCALLTYPE *AddRef)( 525 ISectionList *This); 526 527 ULONG (STDMETHODCALLTYPE *Release)( 528 ISectionList *This); 529 530 /*** ISectionList methods ***/ 531 HRESULT (STDMETHODCALLTYPE *Initialize)( 532 ISectionList *This, 533 MPEG_REQUEST_TYPE request_type, 534 IMpeg2Data *mpeg2_data, 535 PMPEG_CONTEXT context, 536 PID pid, 537 TID tid, 538 PMPEG2_FILTER filter, 539 DWORD timeout, 540 HANDLE done_event); 541 542 HRESULT (STDMETHODCALLTYPE *InitializeWithRawSections)( 543 ISectionList *This, 544 PMPEG_PACKET_LIST mpl_sections); 545 546 HRESULT (STDMETHODCALLTYPE *CancelPendingRequest)( 547 ISectionList *This); 548 549 HRESULT (STDMETHODCALLTYPE *GetNumberOfSections)( 550 ISectionList *This, 551 WORD *count); 552 553 HRESULT (STDMETHODCALLTYPE *GetSectionData)( 554 ISectionList *This, 555 WORD section_number, 556 DWORD *raw_packet_length, 557 PSECTION *section); 558 559 HRESULT (STDMETHODCALLTYPE *GetProgramIdentifier)( 560 ISectionList *This, 561 PID *pid); 562 563 HRESULT (STDMETHODCALLTYPE *GetTableIdentifier)( 564 ISectionList *This, 565 TID *tid); 566 567 END_INTERFACE 568 } ISectionListVtbl; 569 570 interface ISectionList { 571 CONST_VTBL ISectionListVtbl* lpVtbl; 572 }; 573 574 #ifdef COBJMACROS 575 #ifndef WIDL_C_INLINE_WRAPPERS 576 /*** IUnknown methods ***/ 577 #define ISectionList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 578 #define ISectionList_AddRef(This) (This)->lpVtbl->AddRef(This) 579 #define ISectionList_Release(This) (This)->lpVtbl->Release(This) 580 /*** ISectionList methods ***/ 581 #define ISectionList_Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,timeout,done_event) (This)->lpVtbl->Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,timeout,done_event) 582 #define ISectionList_InitializeWithRawSections(This,mpl_sections) (This)->lpVtbl->InitializeWithRawSections(This,mpl_sections) 583 #define ISectionList_CancelPendingRequest(This) (This)->lpVtbl->CancelPendingRequest(This) 584 #define ISectionList_GetNumberOfSections(This,count) (This)->lpVtbl->GetNumberOfSections(This,count) 585 #define ISectionList_GetSectionData(This,section_number,raw_packet_length,section) (This)->lpVtbl->GetSectionData(This,section_number,raw_packet_length,section) 586 #define ISectionList_GetProgramIdentifier(This,pid) (This)->lpVtbl->GetProgramIdentifier(This,pid) 587 #define ISectionList_GetTableIdentifier(This,tid) (This)->lpVtbl->GetTableIdentifier(This,tid) 588 #else 589 /*** IUnknown methods ***/ 590 static inline HRESULT ISectionList_QueryInterface(ISectionList* This,REFIID riid,void **ppvObject) { 591 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 592 } 593 static inline ULONG ISectionList_AddRef(ISectionList* This) { 594 return This->lpVtbl->AddRef(This); 595 } 596 static inline ULONG ISectionList_Release(ISectionList* This) { 597 return This->lpVtbl->Release(This); 598 } 599 /*** ISectionList methods ***/ 600 static inline HRESULT ISectionList_Initialize(ISectionList* This,MPEG_REQUEST_TYPE request_type,IMpeg2Data *mpeg2_data,PMPEG_CONTEXT context,PID pid,TID tid,PMPEG2_FILTER filter,DWORD timeout,HANDLE done_event) { 601 return This->lpVtbl->Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,timeout,done_event); 602 } 603 static inline HRESULT ISectionList_InitializeWithRawSections(ISectionList* This,PMPEG_PACKET_LIST mpl_sections) { 604 return This->lpVtbl->InitializeWithRawSections(This,mpl_sections); 605 } 606 static inline HRESULT ISectionList_CancelPendingRequest(ISectionList* This) { 607 return This->lpVtbl->CancelPendingRequest(This); 608 } 609 static inline HRESULT ISectionList_GetNumberOfSections(ISectionList* This,WORD *count) { 610 return This->lpVtbl->GetNumberOfSections(This,count); 611 } 612 static inline HRESULT ISectionList_GetSectionData(ISectionList* This,WORD section_number,DWORD *raw_packet_length,PSECTION *section) { 613 return This->lpVtbl->GetSectionData(This,section_number,raw_packet_length,section); 614 } 615 static inline HRESULT ISectionList_GetProgramIdentifier(ISectionList* This,PID *pid) { 616 return This->lpVtbl->GetProgramIdentifier(This,pid); 617 } 618 static inline HRESULT ISectionList_GetTableIdentifier(ISectionList* This,TID *tid) { 619 return This->lpVtbl->GetTableIdentifier(This,tid); 620 } 621 #endif 622 #endif 623 624 #endif 625 626 627 #endif /* __ISectionList_INTERFACE_DEFINED__ */ 628 629 /***************************************************************************** 630 * IMpeg2Stream interface 631 */ 632 #ifndef __IMpeg2Stream_INTERFACE_DEFINED__ 633 #define __IMpeg2Stream_INTERFACE_DEFINED__ 634 635 DEFINE_GUID(IID_IMpeg2Stream, 0x400cc286, 0x32a0, 0x4ce4, 0x90,0x41, 0x39,0x57,0x11,0x25,0xa6,0x35); 636 #if defined(__cplusplus) && !defined(CINTERFACE) 637 MIDL_INTERFACE("400cc286-32a0-4ce4-9041-39571125a635") 638 IMpeg2Stream : public IUnknown 639 { 640 virtual HRESULT STDMETHODCALLTYPE Initialize( 641 MPEG_REQUEST_TYPE request_type, 642 IMpeg2Data *mpeg2_data, 643 PMPEG_CONTEXT context, 644 PID pid, 645 TID tid, 646 PMPEG2_FILTER filter, 647 HANDLE data_ready_event) = 0; 648 649 virtual HRESULT STDMETHODCALLTYPE SupplyDataBuffer( 650 PMPEG_STREAM_BUFFER stream_buffer) = 0; 651 652 }; 653 #ifdef __CRT_UUID_DECL 654 __CRT_UUID_DECL(IMpeg2Stream, 0x400cc286, 0x32a0, 0x4ce4, 0x90,0x41, 0x39,0x57,0x11,0x25,0xa6,0x35) 655 #endif 656 #else 657 typedef struct IMpeg2StreamVtbl { 658 BEGIN_INTERFACE 659 660 /*** IUnknown methods ***/ 661 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 662 IMpeg2Stream *This, 663 REFIID riid, 664 void **ppvObject); 665 666 ULONG (STDMETHODCALLTYPE *AddRef)( 667 IMpeg2Stream *This); 668 669 ULONG (STDMETHODCALLTYPE *Release)( 670 IMpeg2Stream *This); 671 672 /*** IMpeg2Stream methods ***/ 673 HRESULT (STDMETHODCALLTYPE *Initialize)( 674 IMpeg2Stream *This, 675 MPEG_REQUEST_TYPE request_type, 676 IMpeg2Data *mpeg2_data, 677 PMPEG_CONTEXT context, 678 PID pid, 679 TID tid, 680 PMPEG2_FILTER filter, 681 HANDLE data_ready_event); 682 683 HRESULT (STDMETHODCALLTYPE *SupplyDataBuffer)( 684 IMpeg2Stream *This, 685 PMPEG_STREAM_BUFFER stream_buffer); 686 687 END_INTERFACE 688 } IMpeg2StreamVtbl; 689 690 interface IMpeg2Stream { 691 CONST_VTBL IMpeg2StreamVtbl* lpVtbl; 692 }; 693 694 #ifdef COBJMACROS 695 #ifndef WIDL_C_INLINE_WRAPPERS 696 /*** IUnknown methods ***/ 697 #define IMpeg2Stream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 698 #define IMpeg2Stream_AddRef(This) (This)->lpVtbl->AddRef(This) 699 #define IMpeg2Stream_Release(This) (This)->lpVtbl->Release(This) 700 /*** IMpeg2Stream methods ***/ 701 #define IMpeg2Stream_Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,data_ready_event) (This)->lpVtbl->Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,data_ready_event) 702 #define IMpeg2Stream_SupplyDataBuffer(This,stream_buffer) (This)->lpVtbl->SupplyDataBuffer(This,stream_buffer) 703 #else 704 /*** IUnknown methods ***/ 705 static inline HRESULT IMpeg2Stream_QueryInterface(IMpeg2Stream* This,REFIID riid,void **ppvObject) { 706 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 707 } 708 static inline ULONG IMpeg2Stream_AddRef(IMpeg2Stream* This) { 709 return This->lpVtbl->AddRef(This); 710 } 711 static inline ULONG IMpeg2Stream_Release(IMpeg2Stream* This) { 712 return This->lpVtbl->Release(This); 713 } 714 /*** IMpeg2Stream methods ***/ 715 static inline HRESULT IMpeg2Stream_Initialize(IMpeg2Stream* This,MPEG_REQUEST_TYPE request_type,IMpeg2Data *mpeg2_data,PMPEG_CONTEXT context,PID pid,TID tid,PMPEG2_FILTER filter,HANDLE data_ready_event) { 716 return This->lpVtbl->Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,data_ready_event); 717 } 718 static inline HRESULT IMpeg2Stream_SupplyDataBuffer(IMpeg2Stream* This,PMPEG_STREAM_BUFFER stream_buffer) { 719 return This->lpVtbl->SupplyDataBuffer(This,stream_buffer); 720 } 721 #endif 722 #endif 723 724 #endif 725 726 727 #endif /* __IMpeg2Stream_INTERFACE_DEFINED__ */ 728 729 /***************************************************************************** 730 * SectionList coclass 731 */ 732 733 DEFINE_GUID(CLSID_SectionList, 0x73da5d04, 0x4347, 0x45d3, 0xa9,0xdc, 0xfa,0xe9,0xdd,0xbe,0x55,0x8d); 734 735 #ifdef __cplusplus 736 class DECLSPEC_UUID("73da5d04-4347-45d3-a9dc-fae9ddbe558d") SectionList; 737 #ifdef __CRT_UUID_DECL 738 __CRT_UUID_DECL(SectionList, 0x73da5d04, 0x4347, 0x45d3, 0xa9,0xdc, 0xfa,0xe9,0xdd,0xbe,0x55,0x8d) 739 #endif 740 #endif 741 742 /***************************************************************************** 743 * Mpeg2Stream coclass 744 */ 745 746 DEFINE_GUID(CLSID_Mpeg2Stream, 0xf91d96c7, 0x8509, 0x4d0b, 0xab,0x26, 0xa0,0xdd,0x10,0x90,0x4b,0xb7); 747 748 #ifdef __cplusplus 749 class DECLSPEC_UUID("f91d96c7-8509-4d0b-ab26-a0dd10904bb7") Mpeg2Stream; 750 #ifdef __CRT_UUID_DECL 751 __CRT_UUID_DECL(Mpeg2Stream, 0xf91d96c7, 0x8509, 0x4d0b, 0xab,0x26, 0xa0,0xdd,0x10,0x90,0x4b,0xb7) 752 #endif 753 #endif 754 755 /***************************************************************************** 756 * Mpeg2Data coclass 757 */ 758 759 DEFINE_GUID(CLSID_Mpeg2Data, 0xc666e115, 0xbb62, 0x4027, 0xa1,0x13, 0x82,0xd6,0x43,0xfe,0x2d,0x99); 760 761 #ifdef __cplusplus 762 class DECLSPEC_UUID("c666e115-bb62-4027-a113-82d643fe2d99") Mpeg2Data; 763 #ifdef __CRT_UUID_DECL 764 __CRT_UUID_DECL(Mpeg2Data, 0xc666e115, 0xbb62, 0x4027, 0xa1,0x13, 0x82,0xd6,0x43,0xfe,0x2d,0x99) 765 #endif 766 #endif 767 768 #endif /* __Mpeg2DataLib_LIBRARY_DEFINED__ */ 769 /* Begin additional prototypes for all interfaces */ 770 771 772 /* End additional prototypes */ 773 774 #ifdef __cplusplus 775 } 776 #endif 777 778 #endif /* __mpeg2data_h__ */