master
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__
23typedef interface IMpeg2TableFilter IMpeg2TableFilter;
24#ifdef __cplusplus
25interface IMpeg2TableFilter;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __Mpeg2TableFilter_FWD_DEFINED__
30#define __Mpeg2TableFilter_FWD_DEFINED__
31#ifdef __cplusplus
32typedef class Mpeg2TableFilter Mpeg2TableFilter;
33#else
34typedef struct Mpeg2TableFilter Mpeg2TableFilter;
35#endif /* defined __cplusplus */
36#endif /* defined __Mpeg2TableFilter_FWD_DEFINED__ */
37
38#ifndef __IMpeg2Data_FWD_DEFINED__
39#define __IMpeg2Data_FWD_DEFINED__
40typedef interface IMpeg2Data IMpeg2Data;
41#ifdef __cplusplus
42interface IMpeg2Data;
43#endif /* __cplusplus */
44#endif
45
46#ifndef __ISectionList_FWD_DEFINED__
47#define __ISectionList_FWD_DEFINED__
48typedef interface ISectionList ISectionList;
49#ifdef __cplusplus
50interface ISectionList;
51#endif /* __cplusplus */
52#endif
53
54#ifndef __IMpeg2Stream_FWD_DEFINED__
55#define __IMpeg2Stream_FWD_DEFINED__
56typedef interface IMpeg2Stream IMpeg2Stream;
57#ifdef __cplusplus
58interface IMpeg2Stream;
59#endif /* __cplusplus */
60#endif
61
62#ifndef __SectionList_FWD_DEFINED__
63#define __SectionList_FWD_DEFINED__
64#ifdef __cplusplus
65typedef class SectionList SectionList;
66#else
67typedef 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
74typedef class Mpeg2Stream Mpeg2Stream;
75#else
76typedef 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
83typedef class Mpeg2Data Mpeg2Data;
84#else
85typedef 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
97extern "C" {
98#endif
99
100#ifndef __ISectionList_FWD_DEFINED__
101#define __ISectionList_FWD_DEFINED__
102typedef interface ISectionList ISectionList;
103#ifdef __cplusplus
104interface ISectionList;
105#endif /* __cplusplus */
106#endif
107
108#ifndef __IMpeg2Stream_FWD_DEFINED__
109#define __IMpeg2Stream_FWD_DEFINED__
110typedef interface IMpeg2Stream IMpeg2Stream;
111#ifdef __cplusplus
112interface 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
185DEFINE_GUID(IID_IMpeg2TableFilter, 0xbdcdd913, 0x9ecd, 0x4fb2, 0x81,0xae, 0xad,0xf7,0x47,0xea,0x75,0xa5);
186#if defined(__cplusplus) && !defined(CINTERFACE)
187MIDL_INTERFACE("bdcdd913-9ecd-4fb2-81ae-adf747ea75a5")
188IMpeg2TableFilter : 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
219typedef 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
268interface 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 ***/
287static inline HRESULT IMpeg2TableFilter_QueryInterface(IMpeg2TableFilter* This,REFIID riid,void **ppvObject) {
288 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
289}
290static inline ULONG IMpeg2TableFilter_AddRef(IMpeg2TableFilter* This) {
291 return This->lpVtbl->AddRef(This);
292}
293static inline ULONG IMpeg2TableFilter_Release(IMpeg2TableFilter* This) {
294 return This->lpVtbl->Release(This);
295}
296/*** IMpeg2TableFilter methods ***/
297static inline HRESULT IMpeg2TableFilter_AddPID(IMpeg2TableFilter* This,PID p) {
298 return This->lpVtbl->AddPID(This,p);
299}
300static inline HRESULT IMpeg2TableFilter_AddTable(IMpeg2TableFilter* This,PID p,TID t) {
301 return This->lpVtbl->AddTable(This,p,t);
302}
303static inline HRESULT IMpeg2TableFilter_AddExtension(IMpeg2TableFilter* This,PID p,TID t,TEID e) {
304 return This->lpVtbl->AddExtension(This,p,t,e);
305}
306static inline HRESULT IMpeg2TableFilter_RemovePID(IMpeg2TableFilter* This,PID p) {
307 return This->lpVtbl->RemovePID(This,p);
308}
309static inline HRESULT IMpeg2TableFilter_RemoveTable(IMpeg2TableFilter* This,PID p,TID t) {
310 return This->lpVtbl->RemoveTable(This,p,t);
311}
312static 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
327DEFINE_GUID(CLSID_Mpeg2TableFilter, 0x752845f1, 0x758f, 0x4c83, 0xa0,0x43, 0x42,0x70,0xc5,0x93,0x30,0x8e);
328
329#ifdef __cplusplus
330class 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
336typedef 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
344DEFINE_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
352DEFINE_GUID(IID_IMpeg2Data, 0x9b396d40, 0xf380, 0x4e3c, 0xa5,0x14, 0x1a,0x82,0xbf,0x6e,0xbf,0xe6);
353#if defined(__cplusplus) && !defined(CINTERFACE)
354MIDL_INTERFACE("9b396d40-f380-4e3c-a514-1a82bf6ebfe6")
355IMpeg2Data : 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
383typedef 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
426interface 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 ***/
442static inline HRESULT IMpeg2Data_QueryInterface(IMpeg2Data* This,REFIID riid,void **ppvObject) {
443 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
444}
445static inline ULONG IMpeg2Data_AddRef(IMpeg2Data* This) {
446 return This->lpVtbl->AddRef(This);
447}
448static inline ULONG IMpeg2Data_Release(IMpeg2Data* This) {
449 return This->lpVtbl->Release(This);
450}
451/*** IMpeg2Data methods ***/
452static 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}
455static 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}
458static 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
475DEFINE_GUID(IID_ISectionList, 0xafec1eb5, 0x2a64, 0x46c6, 0xbf,0x4b, 0xae,0x3c,0xcb,0x6a,0xfd,0xb0);
476#if defined(__cplusplus) && !defined(CINTERFACE)
477MIDL_INTERFACE("afec1eb5-2a64-46c6-bf4b-ae3ccb6afdb0")
478ISectionList : 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
515typedef 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
570interface 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 ***/
590static inline HRESULT ISectionList_QueryInterface(ISectionList* This,REFIID riid,void **ppvObject) {
591 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
592}
593static inline ULONG ISectionList_AddRef(ISectionList* This) {
594 return This->lpVtbl->AddRef(This);
595}
596static inline ULONG ISectionList_Release(ISectionList* This) {
597 return This->lpVtbl->Release(This);
598}
599/*** ISectionList methods ***/
600static 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}
603static inline HRESULT ISectionList_InitializeWithRawSections(ISectionList* This,PMPEG_PACKET_LIST mpl_sections) {
604 return This->lpVtbl->InitializeWithRawSections(This,mpl_sections);
605}
606static inline HRESULT ISectionList_CancelPendingRequest(ISectionList* This) {
607 return This->lpVtbl->CancelPendingRequest(This);
608}
609static inline HRESULT ISectionList_GetNumberOfSections(ISectionList* This,WORD *count) {
610 return This->lpVtbl->GetNumberOfSections(This,count);
611}
612static 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}
615static inline HRESULT ISectionList_GetProgramIdentifier(ISectionList* This,PID *pid) {
616 return This->lpVtbl->GetProgramIdentifier(This,pid);
617}
618static 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
635DEFINE_GUID(IID_IMpeg2Stream, 0x400cc286, 0x32a0, 0x4ce4, 0x90,0x41, 0x39,0x57,0x11,0x25,0xa6,0x35);
636#if defined(__cplusplus) && !defined(CINTERFACE)
637MIDL_INTERFACE("400cc286-32a0-4ce4-9041-39571125a635")
638IMpeg2Stream : 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
657typedef 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
690interface 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 ***/
705static inline HRESULT IMpeg2Stream_QueryInterface(IMpeg2Stream* This,REFIID riid,void **ppvObject) {
706 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
707}
708static inline ULONG IMpeg2Stream_AddRef(IMpeg2Stream* This) {
709 return This->lpVtbl->AddRef(This);
710}
711static inline ULONG IMpeg2Stream_Release(IMpeg2Stream* This) {
712 return This->lpVtbl->Release(This);
713}
714/*** IMpeg2Stream methods ***/
715static 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}
718static 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
733DEFINE_GUID(CLSID_SectionList, 0x73da5d04, 0x4347, 0x45d3, 0xa9,0xdc, 0xfa,0xe9,0xdd,0xbe,0x55,0x8d);
734
735#ifdef __cplusplus
736class 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
746DEFINE_GUID(CLSID_Mpeg2Stream, 0xf91d96c7, 0x8509, 0x4d0b, 0xab,0x26, 0xa0,0xdd,0x10,0x90,0x4b,0xb7);
747
748#ifdef __cplusplus
749class 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
759DEFINE_GUID(CLSID_Mpeg2Data, 0xc666e115, 0xbb62, 0x4027, 0xa1,0x13, 0x82,0xd6,0x43,0xfe,0x2d,0x99);
760
761#ifdef __cplusplus
762class 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__ */