1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __DVBSIPARSER_H__
7 #define __DVBSIPARSER_H__
8 
9 #include <objbase.h>
10 #include <mpeg2psiparser.h>
11 
12 #ifndef __IDVB_EIT2_FWD_DEFINED__
13 #define __IDVB_EIT2_FWD_DEFINED__
14 typedef struct IDVB_EIT2 IDVB_EIT2;
15 #endif
16 
17 #ifndef __IDVB_EIT_FWD_DEFINED__
18 #define __IDVB_EIT_FWD_DEFINED__
19 typedef struct IDVB_EIT IDVB_EIT;
20 #endif
21 
22 #ifndef __IDvbComponentDescriptor_FWD_DEFINED__
23 #define __IDvbComponentDescriptor_FWD_DEFINED__
24 typedef struct IDvbComponentDescriptor IDvbComponentDescriptor;
25 #endif
26 
27 #ifndef __IDvbContentDescriptor_FWD_DEFINED__
28 #define __IDvbContentDescriptor_FWD_DEFINED__
29 typedef struct IDvbContentDescriptor IDvbContentDescriptor;
30 #endif
31 
32 #ifndef __IDvbContentIdentifierDescriptor_FWD_DEFINED__
33 #define __IDvbContentIdentifierDescriptor_FWD_DEFINED__
34 typedef struct IDvbContentIdentifierDescriptor IDvbContentIdentifierDescriptor;
35 #endif
36 
37 #ifndef __IDvbDataBroadcastDescriptor_FWD_DEFINED__
38 #define __IDvbDataBroadcastDescriptor_FWD_DEFINED__
39 typedef struct IDvbDataBroadcastDescriptor IDvbDataBroadcastDescriptor;
40 #endif
41 
42 #ifndef __IDvbDataBroadcastIDDescriptor_FWD_DEFINED__
43 #define __IDvbDataBroadcastIDDescriptor_FWD_DEFINED__
44 typedef struct IDvbDataBroadcastIDDescriptor IDvbDataBroadcastIDDescriptor;
45 #endif
46 
47 #ifndef __IDvbDefaultAuthorityDescriptor_FWD_DEFINED__
48 #define __IDvbDefaultAuthorityDescriptor_FWD_DEFINED__
49 typedef struct IDvbDefaultAuthorityDescriptor IDvbDefaultAuthorityDescriptor;
50 #endif
51 
52 #ifndef __IDvbExtendedEventDescriptor_FWD_DEFINED__
53 #define __IDvbExtendedEventDescriptor_FWD_DEFINED__
54 typedef struct IDvbExtendedEventDescriptor IDvbExtendedEventDescriptor;
55 #endif
56 
57 #ifndef __IDvbLogicalChannelDescriptor_FWD_DEFINED__
58 #define __IDvbLogicalChannelDescriptor_FWD_DEFINED__
59 typedef struct IDvbLogicalChannelDescriptor IDvbLogicalChannelDescriptor;
60 #endif
61 
62 #ifndef __IDvbHDSimulcastLogicalChannelDescriptor_FWD_DEFINED__
63 #define __IDvbHDSimulcastLogicalChannelDescriptor_FWD_DEFINED__
64 typedef struct IDvbHDSimulcastLogicalChannelDescriptor IDvbHDSimulcastLogicalChannelDescriptor;
65 #endif
66 
67 #ifndef __IDvbLinkageDescriptor_FWD_DEFINED__
68 #define __IDvbLinkageDescriptor_FWD_DEFINED__
69 typedef struct IDvbLinkageDescriptor IDvbLinkageDescriptor;
70 #endif
71 
72 #ifndef __IDvbLogicalChannel2Descriptor_FWD_DEFINED__
73 #define __IDvbLogicalChannel2Descriptor_FWD_DEFINED__
74 typedef struct IDvbLogicalChannel2Descriptor IDvbLogicalChannel2Descriptor;
75 #endif
76 
77 #ifndef __IDvbMultilingualServiceNameDescriptor_FWD_DEFINED__
78 #define __IDvbMultilingualServiceNameDescriptor_FWD_DEFINED__
79 typedef struct IDvbMultilingualServiceNameDescriptor IDvbMultilingualServiceNameDescriptor;
80 #endif
81 
82 #ifndef __IDvbNetworkNameDescriptor_FWD_DEFINED__
83 #define __IDvbNetworkNameDescriptor_FWD_DEFINED__
84 typedef struct IDvbNetworkNameDescriptor IDvbNetworkNameDescriptor;
85 #endif
86 
87 #ifndef __IDvbParentalRatingDescriptor_FWD_DEFINED__
88 #define __IDvbParentalRatingDescriptor_FWD_DEFINED__
89 typedef struct IDvbParentalRatingDescriptor IDvbParentalRatingDescriptor;
90 #endif
91 
92 #ifndef __IDvbPrivateDataSpecifierDescriptor_FWD_DEFINED__
93 #define __IDvbPrivateDataSpecifierDescriptor_FWD_DEFINED__
94 typedef struct IDvbPrivateDataSpecifierDescriptor IDvbPrivateDataSpecifierDescriptor;
95 #endif
96 
97 #ifndef __IDvbServiceDescriptor_FWD_DEFINED__
98 #define __IDvbServiceDescriptor_FWD_DEFINED__
99 typedef struct IDvbServiceDescriptor IDvbServiceDescriptor;
100 #endif
101 
102 #ifndef __IDvbServiceDescriptor2_FWD_DEFINED__
103 #define __IDvbServiceDescriptor2_FWD_DEFINED__
104 typedef struct IDvbServiceDescriptor2 IDvbServiceDescriptor2;
105 #endif
106 
107 #ifndef __IDvbLogicalChannelDescriptor2_FWD_DEFINED__
108 #define __IDvbLogicalChannelDescriptor2_FWD_DEFINED__
109 typedef struct IDvbLogicalChannelDescriptor2 IDvbLogicalChannelDescriptor2;
110 #endif
111 
112 #ifndef __IDvbShortEventDescriptor_FWD_DEFINED__
113 #define __IDvbShortEventDescriptor_FWD_DEFINED__
114 typedef struct IDvbShortEventDescriptor IDvbShortEventDescriptor;
115 #endif
116 
117 #ifndef __IDVB_RST_FWD_DEFINED__
118 #define __IDVB_RST_FWD_DEFINED__
119 typedef struct IDVB_RST IDVB_RST;
120 #endif
121 
122 #ifndef __IDVB_SIT_FWD_DEFINED__
123 #define __IDVB_SIT_FWD_DEFINED__
124 typedef struct IDVB_SIT IDVB_SIT;
125 #endif
126 
127 #ifndef __IDVB_ST_FWD_DEFINED__
128 #define __IDVB_ST_FWD_DEFINED__
129 typedef struct IDVB_ST IDVB_ST;
130 #endif
131 
132 #ifndef __IDVB_TDT_FWD_DEFINED__
133 #define __IDVB_TDT_FWD_DEFINED__
134 typedef struct IDVB_TDT IDVB_TDT;
135 #endif
136 
137 #ifndef __IDVB_TOT_FWD_DEFINED__
138 #define __IDVB_TOT_FWD_DEFINED__
139 typedef struct IDVB_TOT IDVB_TOT;
140 #endif
141 
142 #ifndef __IDvbSiParser2_FWD_DEFINED__
143 #define __IDvbSiParser2_FWD_DEFINED__
144 typedef struct IDvbSiParser2 IDvbSiParser2;
145 #endif
146 
147 #ifndef __IDvbSubtitlingDescriptor_FWD_DEFINED__
148 #define __IDvbSubtitlingDescriptor_FWD_DEFINED__
149 typedef struct IDvbSubtitlingDescriptor IDvbSubtitlingDescriptor;
150 #endif
151 
152 #ifndef __IDvbServiceListDescriptor_FWD_DEFINED__
153 #define __IDvbServiceListDescriptor_FWD_DEFINED__
154 typedef struct IDvbServiceListDescriptor IDvbServiceListDescriptor;
155 #endif
156 
157 #ifndef __IDvbTeletextDescriptor_FWD_DEFINED__
158 #define __IDvbTeletextDescriptor_FWD_DEFINED__
159 typedef struct IDvbTeletextDescriptor IDvbTeletextDescriptor;
160 #endif
161 
162 #ifndef __IDVB_BAT_FWD_DEFINED__
163 #define __IDVB_BAT_FWD_DEFINED__
164 typedef struct IDVB_BAT IDVB_BAT;
165 #endif
166 
167 #ifndef __IDVB_DIT_FWD_DEFINED__
168 #define __IDVB_DIT_FWD_DEFINED__
169 typedef struct IDVB_DIT IDVB_DIT;
170 #endif
171 
172 #ifndef __IDVB_NIT_FWD_DEFINED__
173 #define __IDVB_NIT_FWD_DEFINED__
174 typedef struct IDVB_NIT IDVB_NIT;
175 #endif
176 
177 #ifndef __IDVB_SDT_FWD_DEFINED__
178 #define __IDVB_SDT_FWD_DEFINED__
179 typedef struct IDVB_SDT IDVB_SDT;
180 #endif
181 
182 /* Guessed from: http://www.java2s.com/Open-Source/CSharp/Game/DirectShow/DirectShowLib/BDA/dvbsiparser.cs.htm */
183 typedef enum _DVB_STRCONV_MODE {
184   STRCONV_MODE_DVB = 0,
185   STRCONV_MODE_DVB_EMPHASIS,
186   STRCONV_MODE_DVB_WITHOUT_EMPHASIS,
187   STRCONV_MODE_ISDB
188 } DVB_STRCONV_MODE;
189 
190 #undef  INTERFACE
191 #define INTERFACE IDVB_EIT
192 #ifdef __GNUC__
193 #warning COM interfaces layout in this header has not been verified.
194 #warning COM interfaces with incorrect layout may not work at all.
195 __MINGW_BROKEN_INTERFACE(INTERFACE)
196 #endif
DECLARE_INTERFACE_(IDVB_EIT,IUnknown)197 DECLARE_INTERFACE_(IDVB_EIT,IUnknown)
198 {
199     BEGIN_INTERFACE
200 
201     /* IUnknown methods */
202     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
203     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
204     STDMETHOD_(ULONG, Release)(THIS) PURE;
205 
206     /* IDVB_EIT methods */
207     STDMETHOD_(HRESULT,ConvertNextToCurrent)(THIS) PURE;
208     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ DWORD *pdwVal) PURE;
209     STDMETHOD_(HRESULT,GetLastTableId)(THIS_ BYTE *pbVal) PURE;
210     STDMETHOD_(HRESULT,GetNextTable)(THIS_ IDVB_EIT **ppEIT) PURE;
211     STDMETHOD_(HRESULT,GetOriginalNetworkId)(THIS_ WORD *pwVal) PURE;
212     STDMETHOD_(HRESULT,GetRecordCountOfDescriptors)(THIS_ DWORD dwRecordIndex,DWORD *pdwVal) PURE;
213     STDMETHOD_(HRESULT,GetRecordDescriptorByIndex)(THIS_ DWORD dwRecordIndex,DWORD dwIndex,IGenericDescriptor **ppDescriptor) PURE;
214     STDMETHOD_(HRESULT,GetRecordDescriptorByTag)(THIS_ DWORD dwRecordIndex,BYTE bTag,DWORD *pdwCookie,IGenericDescriptor **ppDescriptor) PURE;
215     STDMETHOD_(HRESULT,GetRecordDuration)(THIS_ DWORD dwRecordIndex,MPEG_DURATION *pmdVal) PURE;
216     STDMETHOD_(HRESULT,GetRecordEventId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
217     STDMETHOD_(HRESULT,GetRecordFreeCAMode)(THIS_ DWORD dwRecordIndex,WINBOOL *pfVal) PURE;
218     STDMETHOD_(HRESULT,GetRecordRunningStatus)(THIS_ DWORD dwRecordIndex,BYTE *pbVal) PURE;
219     STDMETHOD_(HRESULT,GetRecordStartTime)(THIS_ DWORD dwRecordIndex,MPEG_DATE_AND_TIME *pmdtVal) PURE;
220     STDMETHOD_(HRESULT,GetSegmentLastSectionNumber)(THIS_ BYTE *pbVal) PURE;
221     STDMETHOD_(HRESULT,GetServiceId)(THIS_ WORD *pwVal) PURE;
222     STDMETHOD_(HRESULT,GetTransportStreamId)(THIS_ WORD *pwVal) PURE;
223     STDMETHOD_(HRESULT,GetVersionHash)(THIS_ BYTE *pbVal) PURE;
224     STDMETHOD_(HRESULT,GetVersionNumber)(THIS_ BYTE *pbVal) PURE;
225     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList,IMpeg2Data *pMPEGData) PURE;
226     STDMETHOD_(HRESULT,RegisterForNextTable)(THIS_ HANDLE hNextTableAvailable) PURE;
227     STDMETHOD_(HRESULT,RegisterForWhenCurrent)(THIS_ HANDLE hNextTableIsCurrent) PURE;
228 
229     END_INTERFACE
230 };
231 #ifdef COBJMACROS
232 #define IDVB_EIT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
233 #define IDVB_EIT_AddRef(This) (This)->lpVtbl->AddRef(This)
234 #define IDVB_EIT_Release(This) (This)->lpVtbl->Release(This)
235 #define IDVB_EIT_ConvertNextToCurrent() (This)->lpVtbl->ConvertNextToCurrent(This)
236 #define IDVB_EIT_GetCountOfRecords(This,pdwVal) (This)->lpVtbl->GetCountOfRecords(This,pdwVal)
237 #define IDVB_EIT_GetLastTableId(This,pbVal) (This)->lpVtbl->GetLastTableId(This,pbVal)
238 #define IDVB_EIT_GetNextTable(This,ppEIT) (This)->lpVtbl->GetNextTable(This,ppEIT)
239 #define IDVB_EIT_GetOriginalNetworkId(This,pwVal) (This)->lpVtbl->GetOriginalNetworkId(This,pwVal)
240 #define IDVB_EIT_GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal) (This)->lpVtbl->GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal)
241 #define IDVB_EIT_GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor)
242 #define IDVB_EIT_GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor)
243 #define IDVB_EIT_GetRecordDuration(This,dwRecordIndex,pmdVal) (This)->lpVtbl->GetRecordDuration(This,dwRecordIndex,pmdVal)
244 #define IDVB_EIT_GetRecordEventId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordEventId(This,dwRecordIndex,pwVal)
245 #define IDVB_EIT_GetRecordFreeCAMode(This,dwRecordIndex,pfVal) (This)->lpVtbl->GetRecordFreeCAMode(This,dwRecordIndex,pfVal)
246 #define IDVB_EIT_GetRecordRunningStatus(This,dwRecordIndex,pbVal) (This)->lpVtbl->GetRecordRunningStatus(This,dwRecordIndex,pbVal)
247 #define IDVB_EIT_GetRecordStartTime(This,dwRecordIndex,pmdtVal) (This)->lpVtbl->GetRecordStartTime(This,dwRecordIndex,pmdtVal)
248 #define IDVB_EIT_GetSegmentLastSectionNumber(This,pbVal) (This)->lpVtbl->GetSegmentLastSectionNumber(This,pbVal)
249 #define IDVB_EIT_GetServiceId(This,pwVal) (This)->lpVtbl->GetServiceId(This,pwVal)
250 #define IDVB_EIT_GetTransportStreamId(This,pwVal) (This)->lpVtbl->GetTransportStreamId(This,pwVal)
251 #define IDVB_EIT_GetVersionHash(This,pbVal) (This)->lpVtbl->GetVersionHash(This,pbVal)
252 #define IDVB_EIT_GetVersionNumber(This,pbVal) (This)->lpVtbl->GetVersionNumber(This,pbVal)
253 #define IDVB_EIT_Initialize(This,pSectionList,pMPEGData) (This)->lpVtbl->Initialize(This,pSectionList,pMPEGData)
254 #define IDVB_EIT_RegisterForNextTable(This,hNextTableAvailable) (This)->lpVtbl->RegisterForNextTable(This,hNextTableAvailable)
255 #define IDVB_EIT_RegisterForWhenCurrent(This,hNextTableIsCurrent) (This)->lpVtbl->RegisterForWhenCurrent(This,hNextTableIsCurrent)
256 #endif /*COBJMACROS*/
257 
258 #undef  INTERFACE
259 #define INTERFACE IDVB_EIT2
260 #ifdef __GNUC__
261 #warning COM interfaces layout in this header has not been verified.
262 #warning COM interfaces with incorrect layout may not work at all.
263 __MINGW_BROKEN_INTERFACE(INTERFACE)
264 #endif
DECLARE_INTERFACE_(IDVB_EIT2,IDVB_EIT)265 DECLARE_INTERFACE_(IDVB_EIT2,IDVB_EIT)
266 {
267     BEGIN_INTERFACE
268 
269     /* IUnknown methods */
270     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
271     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
272     STDMETHOD_(ULONG, Release)(THIS) PURE;
273 
274     /* IDVB_EIT methods */
275     STDMETHOD_(HRESULT,ConvertNextToCurrent)(THIS) PURE;
276     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ DWORD *pdwVal) PURE;
277     STDMETHOD_(HRESULT,GetLastTableId)(THIS_ BYTE *pbVal) PURE;
278     STDMETHOD_(HRESULT,GetNextTable)(THIS_ IDVB_EIT **ppEIT) PURE;
279     STDMETHOD_(HRESULT,GetOriginalNetworkId)(THIS_ WORD *pwVal) PURE;
280     STDMETHOD_(HRESULT,GetRecordCountOfDescriptors)(THIS_ DWORD dwRecordIndex,DWORD *pdwVal) PURE;
281     STDMETHOD_(HRESULT,GetRecordDescriptorByIndex)(THIS_ DWORD dwRecordIndex,DWORD dwIndex,IGenericDescriptor **ppDescriptor) PURE;
282     STDMETHOD_(HRESULT,GetRecordDescriptorByTag)(THIS_ DWORD dwRecordIndex,BYTE bTag,DWORD *pdwCookie,IGenericDescriptor **ppDescriptor) PURE;
283     STDMETHOD_(HRESULT,GetRecordDuration)(THIS_ DWORD dwRecordIndex,MPEG_DURATION *pmdVal) PURE;
284     STDMETHOD_(HRESULT,GetRecordEventId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
285     STDMETHOD_(HRESULT,GetRecordFreeCAMode)(THIS_ DWORD dwRecordIndex,WINBOOL *pfVal) PURE;
286     STDMETHOD_(HRESULT,GetRecordRunningStatus)(THIS_ DWORD dwRecordIndex,BYTE *pbVal) PURE;
287     STDMETHOD_(HRESULT,GetRecordStartTime)(THIS_ DWORD dwRecordIndex,MPEG_DATE_AND_TIME *pmdtVal) PURE;
288     STDMETHOD_(HRESULT,GetSegmentLastSectionNumber)(THIS_ BYTE *pbVal) PURE;
289     STDMETHOD_(HRESULT,GetServiceId)(THIS_ WORD *pwVal) PURE;
290     STDMETHOD_(HRESULT,GetTransportStreamId)(THIS_ WORD *pwVal) PURE;
291     STDMETHOD_(HRESULT,GetVersionHash)(THIS_ BYTE *pbVal) PURE;
292     STDMETHOD_(HRESULT,GetVersionNumber)(THIS_ BYTE *pbVal) PURE;
293     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList,IMpeg2Data *pMPEGData) PURE;
294     STDMETHOD_(HRESULT,RegisterForNextTable)(THIS_ HANDLE hNextTableAvailable) PURE;
295     STDMETHOD_(HRESULT,RegisterForWhenCurrent)(THIS_ HANDLE hNextTableIsCurrent) PURE;
296 
297     /* IDVB_EIT2 methods */
298     STDMETHOD(GetRecordSection)(THIS_ DWORD dwRecordIndex,BYTE *pbVal) PURE;
299     STDMETHOD(GetSegmentInfo)(THIS_ BYTE *pbTid,BYTE *pbSegment) PURE;
300 
301     END_INTERFACE
302 };
303 #ifdef COBJMACROS
304 #define IDVB_EIT2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
305 #define IDVB_EIT2_AddRef(This) (This)->lpVtbl->AddRef(This)
306 #define IDVB_EIT2_Release(This) (This)->lpVtbl->Release(This)
307 #define IDVB_EIT2_ConvertNextToCurrent() (This)->lpVtbl->ConvertNextToCurrent(This)
308 #define IDVB_EIT2_GetCountOfRecords(This,pdwVal) (This)->lpVtbl->GetCountOfRecords(This,pdwVal)
309 #define IDVB_EIT2_GetLastTableId(This,pbVal) (This)->lpVtbl->GetLastTableId(This,pbVal)
310 #define IDVB_EIT2_GetNextTable(This,ppEIT) (This)->lpVtbl->GetNextTable(This,ppEIT)
311 #define IDVB_EIT2_GetOriginalNetworkId(This,pwVal) (This)->lpVtbl->GetOriginalNetworkId(This,pwVal)
312 #define IDVB_EIT2_GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal) (This)->lpVtbl->GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal)
313 #define IDVB_EIT2_GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor)
314 #define IDVB_EIT2_GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor)
315 #define IDVB_EIT2_GetRecordDuration(This,dwRecordIndex,pmdVal) (This)->lpVtbl->GetRecordDuration(This,dwRecordIndex,pmdVal)
316 #define IDVB_EIT2_GetRecordEventId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordEventId(This,dwRecordIndex,pwVal)
317 #define IDVB_EIT2_GetRecordFreeCAMode(This,dwRecordIndex,pfVal) (This)->lpVtbl->GetRecordFreeCAMode(This,dwRecordIndex,pfVal)
318 #define IDVB_EIT2_GetRecordRunningStatus(This,dwRecordIndex,pbVal) (This)->lpVtbl->GetRecordRunningStatus(This,dwRecordIndex,pbVal)
319 #define IDVB_EIT2_GetRecordStartTime(This,dwRecordIndex,pmdtVal) (This)->lpVtbl->GetRecordStartTime(This,dwRecordIndex,pmdtVal)
320 #define IDVB_EIT2_GetSegmentLastSectionNumber(This,pbVal) (This)->lpVtbl->GetSegmentLastSectionNumber(This,pbVal)
321 #define IDVB_EIT2_GetServiceId(This,pwVal) (This)->lpVtbl->GetServiceId(This,pwVal)
322 #define IDVB_EIT2_GetTransportStreamId(This,pwVal) (This)->lpVtbl->GetTransportStreamId(This,pwVal)
323 #define IDVB_EIT2_GetVersionHash(This,pbVal) (This)->lpVtbl->GetVersionHash(This,pbVal)
324 #define IDVB_EIT2_GetVersionNumber(This,pbVal) (This)->lpVtbl->GetVersionNumber(This,pbVal)
325 #define IDVB_EIT2_Initialize(This,pSectionList,pMPEGData) (This)->lpVtbl->Initialize(This,pSectionList,pMPEGData)
326 #define IDVB_EIT2_RegisterForNextTable(This,hNextTableAvailable) (This)->lpVtbl->RegisterForNextTable(This,hNextTableAvailable)
327 #define IDVB_EIT2_RegisterForWhenCurrent(This,hNextTableIsCurrent) (This)->lpVtbl->RegisterForWhenCurrent(This,hNextTableIsCurrent)
328 #define IDVB_EIT2_GetRecordSection(This,dwRecordIndex,pbVal) (This)->lpVtbl->GetRecordSection(This,dwRecordIndex,pbVal)
329 #define IDVB_EIT2_GetSegmentInfo(This,pbTid,pbSegment) (This)->lpVtbl->GetSegmentInfo(This,pbTid,pbSegment)
330 #endif /*COBJMACROS*/
331 
332 #undef  INTERFACE
333 #define INTERFACE IDvbComponentDescriptor
334 #ifdef __GNUC__
335 #warning COM interfaces layout in this header has not been verified.
336 #warning COM interfaces with incorrect layout may not work at all.
337 __MINGW_BROKEN_INTERFACE(INTERFACE)
338 #endif
DECLARE_INTERFACE_(IDvbComponentDescriptor,IUnknown)339 DECLARE_INTERFACE_(IDvbComponentDescriptor,IUnknown)
340 {
341     BEGIN_INTERFACE
342 
343     /* IUnknown methods */
344     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
345     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
346     STDMETHOD_(ULONG, Release)(THIS) PURE;
347 
348     /* IDvbComponentDescriptor methods */
349     STDMETHOD_(HRESULT,GetComponentTag)(THIS_ BYTE *pbVal) PURE;
350     STDMETHOD_(HRESULT,GetComponentType)(THIS_ BYTE *pbVal) PURE;
351     STDMETHOD_(HRESULT,GetLanguageCode)(THIS_ char *pszCode) PURE;
352     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
353     STDMETHOD_(HRESULT,GetStreamContent)(THIS_ BYTE *pbVal) PURE;
354     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
355     STDMETHOD_(HRESULT,GetTextW)(THIS_ DVB_STRCONV_MODE convMode,BSTR *pbstrText) PURE;
356 
357     END_INTERFACE
358 };
359 #ifdef COBJMACROS
360 #define IDvbComponentDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
361 #define IDvbComponentDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
362 #define IDvbComponentDescriptor_Release(This) (This)->lpVtbl->Release(This)
363 #define IDvbComponentDescriptor_GetComponentTag(This,pbVal) (This)->lpVtbl->GetComponentTag(This,pbVal)
364 #define IDvbComponentDescriptor_GetComponentType(This,pbVal) (This)->lpVtbl->GetComponentType(This,pbVal)
365 #define IDvbComponentDescriptor_GetLanguageCode(This,pszCode) (This)->lpVtbl->GetLanguageCode(This,pszCode)
366 #define IDvbComponentDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
367 #define IDvbComponentDescriptor_GetStreamContent(This,pbVal) (This)->lpVtbl->GetStreamContent(This,pbVal)
368 #define IDvbComponentDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
369 #define IDvbComponentDescriptor_GetTextW(This,convMode,pbstrText) (This)->lpVtbl->GetTextW(This,convMode,pbstrText)
370 #endif /*COBJMACROS*/
371 
372 #undef  INTERFACE
373 #define INTERFACE IDvbContentDescriptor
374 #ifdef __GNUC__
375 #warning COM interfaces layout in this header has not been verified.
376 #warning COM interfaces with incorrect layout may not work at all.
377 __MINGW_BROKEN_INTERFACE(INTERFACE)
378 #endif
DECLARE_INTERFACE_(IDvbContentDescriptor,IUnknown)379 DECLARE_INTERFACE_(IDvbContentDescriptor,IUnknown)
380 {
381     BEGIN_INTERFACE
382 
383     /* IUnknown methods */
384     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
385     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
386     STDMETHOD_(ULONG, Release)(THIS) PURE;
387 
388     /* IDvbContentDescriptor methods */
389     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
390     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
391     STDMETHOD_(HRESULT,GetRecordContentNibbles)(THIS_ BYTE bRecordIndex,BYTE *pbValLevel1,BYTE *pbValLevel2) PURE;
392     STDMETHOD_(HRESULT,GetRecordUserNibbles)(THIS_ BYTE bRecordIndex,BYTE *pbVal1,BYTE *pbVal2) PURE;
393     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
394 
395     END_INTERFACE
396 };
397 #ifdef COBJMACROS
398 #define IDvbContentDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
399 #define IDvbContentDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
400 #define IDvbContentDescriptor_Release(This) (This)->lpVtbl->Release(This)
401 #define IDvbContentDescriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
402 #define IDvbContentDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
403 #define IDvbContentDescriptor_GetRecordContentNibbles(This,bRecordIndex,pbValLevel1,pbValLevel2) (This)->lpVtbl->GetRecordContentNibbles(This,bRecordIndex,pbValLevel1,pbValLevel2)
404 #define IDvbContentDescriptor_GetRecordUserNibbles(This,bRecordIndex,pbVal1,pbVal2) (This)->lpVtbl->GetRecordUserNibbles(This,bRecordIndex,pbVal1,pbVal2)
405 #define IDvbContentDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
406 #endif /*COBJMACROS*/
407 
408 #undef  INTERFACE
409 #define INTERFACE IDvbContentIdentifierDescriptor
410 #ifdef __GNUC__
411 #warning COM interfaces layout in this header has not been verified.
412 #warning COM interfaces with incorrect layout may not work at all.
413 __MINGW_BROKEN_INTERFACE(INTERFACE)
414 #endif
DECLARE_INTERFACE_(IDvbContentIdentifierDescriptor,IUnknown)415 DECLARE_INTERFACE_(IDvbContentIdentifierDescriptor,IUnknown)
416 {
417     BEGIN_INTERFACE
418 
419     /* IUnknown methods */
420     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
421     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
422     STDMETHOD_(ULONG, Release)(THIS) PURE;
423 
424     /* IDvbContentIdentifierDescriptor methods */
425     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
426     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
427     STDMETHOD_(HRESULT,GetRecordCrid)(THIS_ BYTE bRecordIndex,BYTE *pbType,BYTE *pbLocation,BYTE *pbLength,BYTE **ppbBytes) PURE;
428     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
429 
430     END_INTERFACE
431 };
432 #ifdef COBJMACROS
433 #define IDvbContentIdentifierDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
434 #define IDvbContentIdentifierDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
435 #define IDvbContentIdentifierDescriptor_Release(This) (This)->lpVtbl->Release(This)
436 #define IDvbContentIdentifierDescriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
437 #define IDvbContentIdentifierDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
438 #define IDvbContentIdentifierDescriptor_GetRecordCrid(This,bRecordIndex,pbType,pbLocation,pbLength,ppbBytes) (This)->lpVtbl->GetRecordCrid(This,bRecordIndex,pbType,pbLocation,pbLength,ppbBytes)
439 #define IDvbContentIdentifierDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
440 #endif /*COBJMACROS*/
441 
442 #undef  INTERFACE
443 #define INTERFACE IDvbDataBroadcastDescriptor
444 #ifdef __GNUC__
445 #warning COM interfaces layout in this header has not been verified.
446 #warning COM interfaces with incorrect layout may not work at all.
447 __MINGW_BROKEN_INTERFACE(INTERFACE)
448 #endif
DECLARE_INTERFACE_(IDvbDataBroadcastDescriptor,IUnknown)449 DECLARE_INTERFACE_(IDvbDataBroadcastDescriptor,IUnknown)
450 {
451     BEGIN_INTERFACE
452 
453     /* IUnknown methods */
454     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
455     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
456     STDMETHOD_(ULONG, Release)(THIS) PURE;
457 
458     /* IDvbDataBroadcastDescriptor methods */
459     STDMETHOD_(HRESULT,GetComponentTag)(THIS_ BYTE *pbVal) PURE;
460     STDMETHOD_(HRESULT,GetDataBroadcastID)(THIS_ WORD *pwVal) PURE;
461     STDMETHOD_(HRESULT,GetLangID)(THIS_ ULONG *pulVal) PURE;
462     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
463     STDMETHOD_(HRESULT,GetSelectorBytes)(THIS_ BYTE *pbLen,BYTE *pbVal) PURE;
464     STDMETHOD_(HRESULT,GetSelectorLength)(THIS_ BYTE *pbVal) PURE;
465     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
466     STDMETHOD_(HRESULT,GetText)(THIS_ BYTE *pbLen,BYTE *pbVal) PURE;
467     STDMETHOD_(HRESULT,GetTextLength)(THIS_ BYTE *pbVal) PURE;
468 
469     END_INTERFACE
470 };
471 #ifdef COBJMACROS
472 #define IDvbDataBroadcastDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
473 #define IDvbDataBroadcastDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
474 #define IDvbDataBroadcastDescriptor_Release(This) (This)->lpVtbl->Release(This)
475 #define IDvbDataBroadcastDescriptor_GetComponentTag(This,pbVal) (This)->lpVtbl->GetComponentTag(This,pbVal)
476 #define IDvbDataBroadcastDescriptor_GetDataBroadcastID(This,pwVal) (This)->lpVtbl->GetDataBroadcastID(This,pwVal)
477 #define IDvbDataBroadcastDescriptor_GetLangID(This,pulVal) (This)->lpVtbl->GetLangID(This,pulVal)
478 #define IDvbDataBroadcastDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
479 #define IDvbDataBroadcastDescriptor_GetSelectorBytes(This,pbLen,pbVal) (This)->lpVtbl->GetSelectorBytes(This,pbLen,pbVal)
480 #define IDvbDataBroadcastDescriptor_GetSelectorLength(This,pbVal) (This)->lpVtbl->GetSelectorLength(This,pbVal)
481 #define IDvbDataBroadcastDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
482 #define IDvbDataBroadcastDescriptor_GetText(This,pbLen,pbVal) (This)->lpVtbl->GetText(This,pbLen,pbVal)
483 #define IDvbDataBroadcastDescriptor_GetTextLength(This,pbVal) (This)->lpVtbl->GetTextLength(This,pbVal)
484 #endif /*COBJMACROS*/
485 
486 #undef  INTERFACE
487 #define INTERFACE IDvbDataBroadcastIDDescriptor
488 #ifdef __GNUC__
489 #warning COM interfaces layout in this header has not been verified.
490 #warning COM interfaces with incorrect layout may not work at all.
491 __MINGW_BROKEN_INTERFACE(INTERFACE)
492 #endif
DECLARE_INTERFACE_(IDvbDataBroadcastIDDescriptor,IUnknown)493 DECLARE_INTERFACE_(IDvbDataBroadcastIDDescriptor,IUnknown)
494 {
495     BEGIN_INTERFACE
496 
497     /* IUnknown methods */
498     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
499     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
500     STDMETHOD_(ULONG, Release)(THIS) PURE;
501 
502     /* IDvbDataBroadcastIDDescriptor methods */
503     STDMETHOD_(HRESULT,GetDataBroadcastID)(THIS_ WORD *pwVal) PURE;
504     STDMETHOD_(HRESULT,GetIDSelectorBytes)(THIS_ BYTE *pbLen,BYTE *pbVal) PURE;
505     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
506     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
507 
508     END_INTERFACE
509 };
510 #ifdef COBJMACROS
511 #define IDvbDataBroadcastIDDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
512 #define IDvbDataBroadcastIDDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
513 #define IDvbDataBroadcastIDDescriptor_Release(This) (This)->lpVtbl->Release(This)
514 #define IDvbDataBroadcastIDDescriptor_GetDataBroadcastID(This,pwVal) (This)->lpVtbl->GetDataBroadcastID(This,pwVal)
515 #define IDvbDataBroadcastIDDescriptor_GetIDSelectorBytes(This,pbLen,pbVal) (This)->lpVtbl->GetIDSelectorBytes(This,pbLen,pbVal)
516 #define IDvbDataBroadcastIDDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
517 #define IDvbDataBroadcastIDDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
518 #endif /*COBJMACROS*/
519 
520 #undef  INTERFACE
521 #define INTERFACE IDvbDefaultAuthorityDescriptor
522 #ifdef __GNUC__
523 #warning COM interfaces layout in this header has not been verified.
524 #warning COM interfaces with incorrect layout may not work at all.
525 __MINGW_BROKEN_INTERFACE(INTERFACE)
526 #endif
DECLARE_INTERFACE_(IDvbDefaultAuthorityDescriptor,IUnknown)527 DECLARE_INTERFACE_(IDvbDefaultAuthorityDescriptor,IUnknown)
528 {
529     BEGIN_INTERFACE
530 
531     /* IUnknown methods */
532     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
533     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
534     STDMETHOD_(ULONG, Release)(THIS) PURE;
535 
536     /* IDvbDefaultAuthorityDescriptor methods */
537     STDMETHOD_(HRESULT,GetDefaultAuthority)(THIS_ BYTE *pbLength,BYTE **ppbBytes) PURE;
538     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
539     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
540 
541     END_INTERFACE
542 };
543 #ifdef COBJMACROS
544 #define IDvbDefaultAuthorityDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
545 #define IDvbDefaultAuthorityDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
546 #define IDvbDefaultAuthorityDescriptor_Release(This) (This)->lpVtbl->Release(This)
547 #define IDvbDefaultAuthorityDescriptor_GetDefaultAuthority(This,pbLength,ppbBytes) (This)->lpVtbl->GetDefaultAuthority(This,pbLength,ppbBytes)
548 #define IDvbDefaultAuthorityDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
549 #define IDvbDefaultAuthorityDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
550 #endif /*COBJMACROS*/
551 
552 #undef  INTERFACE
553 #define INTERFACE IDvbExtendedEventDescriptor
554 #ifdef __GNUC__
555 #warning COM interfaces layout in this header has not been verified.
556 #warning COM interfaces with incorrect layout may not work at all.
557 __MINGW_BROKEN_INTERFACE(INTERFACE)
558 #endif
DECLARE_INTERFACE_(IDvbExtendedEventDescriptor,IUnknown)559 DECLARE_INTERFACE_(IDvbExtendedEventDescriptor,IUnknown)
560 {
561     BEGIN_INTERFACE
562 
563     /* IUnknown methods */
564     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
565     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
566     STDMETHOD_(ULONG, Release)(THIS) PURE;
567 
568     /* IDvbExtendedEventDescriptor methods */
569     STDMETHOD_(HRESULT,GetConcatenatedItemW)(THIS_ IDvbExtendedEventDescriptor *pFollowingDescriptor,DVB_STRCONV_MODE convMode,BSTR *pbstrDesc,BSTR *pbstrItem) PURE;
570     STDMETHOD_(HRESULT,GetConcatenatedTextW)(THIS_ IDvbExtendedEventDescriptor *FollowingDescriptor,DVB_STRCONV_MODE convMode,BSTR *pbstrText) PURE;
571     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
572     STDMETHOD_(HRESULT,GetDescriptorNumber)(THIS_ BYTE *pbVal) PURE;
573     STDMETHOD_(HRESULT,GetLanguageCode)(THIS_ char *pszCode) PURE;
574     STDMETHOD_(HRESULT,GetLastDescriptorNumber)(THIS_ BYTE *pbVal) PURE;
575     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
576     STDMETHOD_(HRESULT,GetRecordItemRawBytes)(THIS_ BYTE bRecordIndex,BYTE **ppbRawItem,BYTE *pbItemLength) PURE;
577     STDMETHOD_(HRESULT,GetRecordItemW)(THIS_ BYTE bRecordIndex,DVB_STRCONV_MODE convMode,BSTR *pbstrDesc,BSTR *pbstrItem) PURE;
578     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
579     STDMETHOD_(HRESULT,GetTextW)(THIS_ DVB_STRCONV_MODE convMode,BSTR *pbstrText) PURE;
580 
581     END_INTERFACE
582 };
583 #ifdef COBJMACROS
584 #define IDvbExtendedEventDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
585 #define IDvbExtendedEventDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
586 #define IDvbExtendedEventDescriptor_Release(This) (This)->lpVtbl->Release(This)
587 #define IDvbExtendedEventDescriptor_GetConcatenatedItemW(This,pFollowingDescriptor,convMode,pbstrDesc,pbstrItem) (This)->lpVtbl->GetConcatenatedItemW(This,pFollowingDescriptor,convMode,pbstrDesc,pbstrItem)
588 #define IDvbExtendedEventDescriptor_GetConcatenatedTextW(This,FollowingDescriptor,convMode,pbstrText) (This)->lpVtbl->GetConcatenatedTextW(This,FollowingDescriptor,convMode,pbstrText)
589 #define IDvbExtendedEventDescriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
590 #define IDvbExtendedEventDescriptor_GetDescriptorNumber(This,pbVal) (This)->lpVtbl->GetDescriptorNumber(This,pbVal)
591 #define IDvbExtendedEventDescriptor_GetLanguageCode(This,pszCode) (This)->lpVtbl->GetLanguageCode(This,pszCode)
592 #define IDvbExtendedEventDescriptor_GetLastDescriptorNumber(This,pbVal) (This)->lpVtbl->GetLastDescriptorNumber(This,pbVal)
593 #define IDvbExtendedEventDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
594 #define IDvbExtendedEventDescriptor_GetRecordItemRawBytes(This,bRecordIndex,ppbRawItem,pbItemLength) (This)->lpVtbl->GetRecordItemRawBytes(This,bRecordIndex,ppbRawItem,pbItemLength)
595 #define IDvbExtendedEventDescriptor_GetRecordItemW(This,bRecordIndex,convMode,pbstrDesc,pbstrItem) (This)->lpVtbl->GetRecordItemW(This,bRecordIndex,convMode,pbstrDesc,pbstrItem)
596 #define IDvbExtendedEventDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
597 #define IDvbExtendedEventDescriptor_GetTextW(This,convMode,pbstrText) (This)->lpVtbl->GetTextW(This,convMode,pbstrText)
598 #endif /*COBJMACROS*/
599 
600 #undef  INTERFACE
601 #define INTERFACE IDvbLogicalChannelDescriptor
602 #ifdef __GNUC__
603 #warning COM interfaces layout in this header has not been verified.
604 #warning COM interfaces with incorrect layout may not work at all.
605 __MINGW_BROKEN_INTERFACE(INTERFACE)
606 #endif
DECLARE_INTERFACE_(IDvbLogicalChannelDescriptor,IUnknown)607 DECLARE_INTERFACE_(IDvbLogicalChannelDescriptor,IUnknown)
608 {
609     BEGIN_INTERFACE
610 
611     /* IUnknown methods */
612     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
613     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
614     STDMETHOD_(ULONG, Release)(THIS) PURE;
615 
616     /* IDvbLogicalChannelDescriptor methods */
617     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
618     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
619     STDMETHOD_(HRESULT,GetRecordLogicalChannelNumber)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
620     STDMETHOD_(HRESULT,GetRecordServiceId)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
621     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
622 
623     END_INTERFACE
624 };
625 #ifdef COBJMACROS
626 #define IDvbLogicalChannelDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
627 #define IDvbLogicalChannelDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
628 #define IDvbLogicalChannelDescriptor_Release(This) (This)->lpVtbl->Release(This)
629 #define IDvbLogicalChannelDescriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
630 #define IDvbLogicalChannelDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
631 #define IDvbLogicalChannelDescriptor_GetRecordLogicalChannelNumber(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordLogicalChannelNumber(This,bRecordIndex,pwVal)
632 #define IDvbLogicalChannelDescriptor_GetRecordServiceId(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordServiceId(This,bRecordIndex,pwVal)
633 #define IDvbLogicalChannelDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
634 #endif /*COBJMACROS*/
635 
636 #undef  INTERFACE
637 #define INTERFACE IDvbHDSimulcastLogicalChannelDescriptor
638 #ifdef __GNUC__
639 #warning COM interfaces layout in this header has not been verified.
640 #warning COM interfaces with incorrect layout may not work at all.
641 __MINGW_BROKEN_INTERFACE(INTERFACE)
642 #endif
DECLARE_INTERFACE_(IDvbHDSimulcastLogicalChannelDescriptor,IDvbLogicalChannelDescriptor)643 DECLARE_INTERFACE_(IDvbHDSimulcastLogicalChannelDescriptor,IDvbLogicalChannelDescriptor)
644 {
645     BEGIN_INTERFACE
646 
647     /* IUnknown methods */
648     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
649     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
650     STDMETHOD_(ULONG, Release)(THIS) PURE;
651 
652     /* IDvbLogicalChannelDescriptor methods */
653     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
654     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
655     STDMETHOD_(HRESULT,GetRecordLogicalChannelNumber)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
656     STDMETHOD_(HRESULT,GetRecordServiceId)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
657     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
658 
659     /* IDvbHDSimulcastLogicalChannelDescriptor methods */
660 
661     END_INTERFACE
662 };
663 #ifdef COBJMACROS
664 #define IDvbHDSimulcastLogicalChannelDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
665 #define IDvbHDSimulcastLogicalChannelDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
666 #define IDvbHDSimulcastLogicalChannelDescriptor_Release(This) (This)->lpVtbl->Release(This)
667 #define IDvbHDSimulcastLogicalChannelDescriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
668 #define IDvbHDSimulcastLogicalChannelDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
669 #define IDvbHDSimulcastLogicalChannelDescriptor_GetRecordLogicalChannelNumber(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordLogicalChannelNumber(This,bRecordIndex,pwVal)
670 #define IDvbHDSimulcastLogicalChannelDescriptor_GetRecordServiceId(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordServiceId(This,bRecordIndex,pwVal)
671 #define IDvbHDSimulcastLogicalChannelDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
672 #endif /*COBJMACROS*/
673 
674 #undef  INTERFACE
675 #define INTERFACE IDvbLinkageDescriptor
676 #ifdef __GNUC__
677 #warning COM interfaces layout in this header has not been verified.
678 #warning COM interfaces with incorrect layout may not work at all.
679 __MINGW_BROKEN_INTERFACE(INTERFACE)
680 #endif
DECLARE_INTERFACE_(IDvbLinkageDescriptor,IUnknown)681 DECLARE_INTERFACE_(IDvbLinkageDescriptor,IUnknown)
682 {
683     BEGIN_INTERFACE
684 
685     /* IUnknown methods */
686     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
687     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
688     STDMETHOD_(ULONG, Release)(THIS) PURE;
689 
690     /* IDvbLinkageDescriptor methods */
691     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
692     STDMETHOD_(HRESULT,GetLinkageType)(THIS_ BYTE *pbVal) PURE;
693     STDMETHOD_(HRESULT,GetONId)(THIS_ WORD *pwVal) PURE;
694     STDMETHOD_(HRESULT,GetPrivateData)(THIS_ BYTE *pbLen,BYTE *pbData) PURE;
695     STDMETHOD_(HRESULT,GetPrivateDataLength)(THIS_ BYTE *pbVal) PURE;
696     STDMETHOD_(HRESULT,GetServiceId)(THIS_ WORD *pwVal) PURE;
697     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
698     STDMETHOD_(HRESULT,GetTSId)(THIS_ WORD *pwVal) PURE;
699 
700     END_INTERFACE
701 };
702 #ifdef COBJMACROS
703 #define IDvbLinkageDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
704 #define IDvbLinkageDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
705 #define IDvbLinkageDescriptor_Release(This) (This)->lpVtbl->Release(This)
706 #define IDvbLinkageDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
707 #define IDvbLinkageDescriptor_GetLinkageType(This,pbVal) (This)->lpVtbl->GetLinkageType(This,pbVal)
708 #define IDvbLinkageDescriptor_GetONId(This,pwVal) (This)->lpVtbl->GetONId(This,pwVal)
709 #define IDvbLinkageDescriptor_GetPrivateData(This,pbLen,pbData) (This)->lpVtbl->GetPrivateData(This,pbLen,pbData)
710 #define IDvbLinkageDescriptor_GetPrivateDataLength(This,pbVal) (This)->lpVtbl->GetPrivateDataLength(This,pbVal)
711 #define IDvbLinkageDescriptor_GetServiceId(This,pwVal) (This)->lpVtbl->GetServiceId(This,pwVal)
712 #define IDvbLinkageDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
713 #define IDvbLinkageDescriptor_GetTSId(This,pwVal) (This)->lpVtbl->GetTSId(This,pwVal)
714 #endif /*COBJMACROS*/
715 
716 #undef  INTERFACE
717 #define INTERFACE IDvbLogicalChannelDescriptor2
718 #ifdef __GNUC__
719 #warning COM interfaces layout in this header has not been verified.
720 #warning COM interfaces with incorrect layout may not work at all.
721 __MINGW_BROKEN_INTERFACE(INTERFACE)
722 #endif
DECLARE_INTERFACE_(IDvbLogicalChannelDescriptor2,IDvbLogicalChannelDescriptor)723 DECLARE_INTERFACE_(IDvbLogicalChannelDescriptor2,IDvbLogicalChannelDescriptor)
724 {
725     BEGIN_INTERFACE
726 
727     /* IUnknown methods */
728     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
729     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
730     STDMETHOD_(ULONG, Release)(THIS) PURE;
731 
732     /* IDvbLogicalChannelDescriptor methods */
733     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
734     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
735     STDMETHOD_(HRESULT,GetRecordLogicalChannelNumber)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
736     STDMETHOD_(HRESULT,GetRecordServiceId)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
737     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
738 
739     /* IDvbLogicalChannelDescriptor2 methods */
740     STDMETHOD_(HRESULT,GetListRecordLogicalChannelAndVisibility)(THIS_ BYTE bListIndex,BYTE bRecordIndex,WORD *pwVal) PURE;
741 
742     END_INTERFACE
743 };
744 #ifdef COBJMACROS
745 #define IDvbLogicalChannelDescriptor2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
746 #define IDvbLogicalChannelDescriptor2_AddRef(This) (This)->lpVtbl->AddRef(This)
747 #define IDvbLogicalChannelDescriptor2_Release(This) (This)->lpVtbl->Release(This)
748 #define IDvbLogicalChannelDescriptor2_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
749 #define IDvbLogicalChannelDescriptor2_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
750 #define IDvbLogicalChannelDescriptor2_GetRecordLogicalChannelNumber(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordLogicalChannelNumber(This,bRecordIndex,pwVal)
751 #define IDvbLogicalChannelDescriptor2_GetRecordServiceId(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordServiceId(This,bRecordIndex,pwVal)
752 #define IDvbLogicalChannelDescriptor2_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
753 #define IDvbLogicalChannelDescriptor2_GetListRecordLogicalChannelAndVisibility(This,bListIndex,bRecordIndex,pwVal) (This)->lpVtbl->GetListRecordLogicalChannelAndVisibility(This,bListIndex,bRecordIndex,pwVal)
754 #endif /*COBJMACROS*/
755 
756 #undef  INTERFACE
757 #define INTERFACE IDvbLogicalChannel2Descriptor
758 #ifdef __GNUC__
759 #warning COM interfaces layout in this header has not been verified.
760 #warning COM interfaces with incorrect layout may not work at all.
761 __MINGW_BROKEN_INTERFACE(INTERFACE)
762 #endif
DECLARE_INTERFACE_(IDvbLogicalChannel2Descriptor,IDvbLogicalChannelDescriptor2)763 DECLARE_INTERFACE_(IDvbLogicalChannel2Descriptor,IDvbLogicalChannelDescriptor2)
764 {
765     BEGIN_INTERFACE
766 
767     /* IUnknown methods */
768     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
769     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
770     STDMETHOD_(ULONG, Release)(THIS) PURE;
771 
772     /* IDvbLogicalChannelDescriptor methods */
773     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
774     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
775     STDMETHOD_(HRESULT,GetRecordLogicalChannelNumber)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
776     STDMETHOD_(HRESULT,GetRecordServiceId)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
777     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
778 
779     /* IDvbLogicalChannelDescriptor2 methods */
780     STDMETHOD_(HRESULT,GetListRecordLogicalChannelAndVisibility)(THIS_ BYTE bListIndex,BYTE bRecordIndex,WORD *pwVal) PURE;
781 
782     /* IDvbLogicalChannel2Descriptor methods */
783     STDMETHOD_(HRESULT,GetCountOfLists)(THIS_ BYTE *pbVal) PURE;
784     STDMETHOD_(HRESULT,GetListCountOfRecords)(THIS_ BYTE bChannelListIndex,BYTE *pbVal) PURE;
785     STDMETHOD_(HRESULT,GetListCountryCode)(THIS_ BYTE bListIndex,char *pszCode) PURE;
786     STDMETHOD_(HRESULT,GetListId)(THIS_ BYTE bListIndex,BYTE *pbVal) PURE;
787     STDMETHOD_(HRESULT,GetListNameW)(THIS_ BYTE bListIndex,DVB_STRCONV_MODE convMode,BSTR *pbstrName) PURE;
788     STDMETHOD_(HRESULT,GetListRecordLogicalChannelNumber)(THIS_ BYTE bListIndex,BYTE bRecordIndex,WORD *pwVal) PURE;
789     STDMETHOD_(HRESULT,GetListRecordServiceId)(THIS_ BYTE bListIndex,BYTE bRecordIndex,WORD *pwVal) PURE;
790 
791     END_INTERFACE
792 };
793 #ifdef COBJMACROS
794 #define IDvbLogicalChannel2Descriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
795 #define IDvbLogicalChannel2Descriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
796 #define IDvbLogicalChannel2Descriptor_Release(This) (This)->lpVtbl->Release(This)
797 #define IDvbLogicalChannel2Descriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
798 #define IDvbLogicalChannel2Descriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
799 #define IDvbLogicalChannel2Descriptor_GetRecordLogicalChannelNumber(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordLogicalChannelNumber(This,bRecordIndex,pwVal)
800 #define IDvbLogicalChannel2Descriptor_GetRecordServiceId(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordServiceId(This,bRecordIndex,pwVal)
801 #define IDvbLogicalChannel2Descriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
802 #define IDvbLogicalChannel2Descriptor_GetListRecordLogicalChannelAndVisibility(This,bListIndex,bRecordIndex,pwVal) (This)->lpVtbl->GetListRecordLogicalChannelAndVisibility(This,bListIndex,bRecordIndex,pwVal)
803 #define IDvbLogicalChannel2Descriptor_GetCountOfLists(This,pbVal) (This)->lpVtbl->GetCountOfLists(This,pbVal)
804 #define IDvbLogicalChannel2Descriptor_GetListCountOfRecords(This,bChannelListIndex,pbVal) (This)->lpVtbl->GetListCountOfRecords(This,bChannelListIndex,pbVal)
805 #define IDvbLogicalChannel2Descriptor_GetListCountryCode(This,bListIndex,pszCode) (This)->lpVtbl->GetListCountryCode(This,bListIndex,pszCode)
806 #define IDvbLogicalChannel2Descriptor_GetListId(This,bListIndex,pbVal) (This)->lpVtbl->GetListId(This,bListIndex,pbVal)
807 #define IDvbLogicalChannel2Descriptor_GetListNameW(This,bListIndex,convMode,pbstrName) (This)->lpVtbl->GetListNameW(This,bListIndex,convMode,pbstrName)
808 #define IDvbLogicalChannel2Descriptor_GetListRecordLogicalChannelNumber(This,bListIndex,bRecordIndex,pwVal) (This)->lpVtbl->GetListRecordLogicalChannelNumber(This,bListIndex,bRecordIndex,pwVal)
809 #define IDvbLogicalChannel2Descriptor_GetListRecordServiceId(This,bListIndex,bRecordIndex,pwVal) (This)->lpVtbl->GetListRecordServiceId(This,bListIndex,bRecordIndex,pwVal)
810 #endif /*COBJMACROS*/
811 
812 #undef  INTERFACE
813 #define INTERFACE IDvbMultilingualServiceNameDescriptor
814 #ifdef __GNUC__
815 #warning COM interfaces layout in this header has not been verified.
816 #warning COM interfaces with incorrect layout may not work at all.
817 __MINGW_BROKEN_INTERFACE(INTERFACE)
818 #endif
DECLARE_INTERFACE_(IDvbMultilingualServiceNameDescriptor,IUnknown)819 DECLARE_INTERFACE_(IDvbMultilingualServiceNameDescriptor,IUnknown)
820 {
821     BEGIN_INTERFACE
822 
823     /* IUnknown methods */
824     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
825     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
826     STDMETHOD_(ULONG, Release)(THIS) PURE;
827 
828     /* IDvbMultilingualServiceNameDescriptor methods */
829     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
830     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
831     STDMETHOD_(HRESULT,GetRecordLangId)(THIS_ BYTE bRecordIndex,ULONG *ulVal) PURE;
832     STDMETHOD_(HRESULT,GetRecordServiceNameW)(THIS_ BYTE bRecordIndex,DVB_STRCONV_MODE convMode,BSTR *pbstrName) PURE;
833     STDMETHOD_(HRESULT,GetRecordServiceProviderNameW)(THIS_ BYTE bRecordIndex,DVB_STRCONV_MODE convMode,BSTR *pbstrName) PURE;
834     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
835 
836     END_INTERFACE
837 };
838 #ifdef COBJMACROS
839 #define IDvbMultilingualServiceNameDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
840 #define IDvbMultilingualServiceNameDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
841 #define IDvbMultilingualServiceNameDescriptor_Release(This) (This)->lpVtbl->Release(This)
842 #define IDvbMultilingualServiceNameDescriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
843 #define IDvbMultilingualServiceNameDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
844 #define IDvbMultilingualServiceNameDescriptor_GetRecordLangId(This,bRecordIndex,ulVal) (This)->lpVtbl->GetRecordLangId(This,bRecordIndex,ulVal)
845 #define IDvbMultilingualServiceNameDescriptor_GetRecordServiceNameW(This,bRecordIndex,convMode,pbstrName) (This)->lpVtbl->GetRecordServiceNameW(This,bRecordIndex,convMode,pbstrName)
846 #define IDvbMultilingualServiceNameDescriptor_GetRecordServiceProviderNameW(This,bRecordIndex,convMode,pbstrName) (This)->lpVtbl->GetRecordServiceProviderNameW(This,bRecordIndex,convMode,pbstrName)
847 #define IDvbMultilingualServiceNameDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
848 #endif /*COBJMACROS*/
849 
850 #undef  INTERFACE
851 #define INTERFACE IDvbNetworkNameDescriptor
852 #ifdef __GNUC__
853 #warning COM interfaces layout in this header has not been verified.
854 #warning COM interfaces with incorrect layout may not work at all.
855 __MINGW_BROKEN_INTERFACE(INTERFACE)
856 #endif
DECLARE_INTERFACE_(IDvbNetworkNameDescriptor,IUnknown)857 DECLARE_INTERFACE_(IDvbNetworkNameDescriptor,IUnknown)
858 {
859     BEGIN_INTERFACE
860 
861     /* IUnknown methods */
862     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
863     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
864     STDMETHOD_(ULONG, Release)(THIS) PURE;
865 
866     /* IDvbNetworkNameDescriptor methods */
867     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
868     STDMETHOD_(HRESULT,GetNetworkName)(THIS_ char **pszName) PURE;
869     STDMETHOD_(HRESULT,GetNetworkNameW)(THIS_ DVB_STRCONV_MODE convMode,BSTR *pbstrName) PURE;
870     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
871 
872     END_INTERFACE
873 };
874 #ifdef COBJMACROS
875 #define IDvbNetworkNameDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
876 #define IDvbNetworkNameDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
877 #define IDvbNetworkNameDescriptor_Release(This) (This)->lpVtbl->Release(This)
878 #define IDvbNetworkNameDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
879 #define IDvbNetworkNameDescriptor_GetNetworkName(This,pszName) (This)->lpVtbl->GetNetworkName(This,pszName)
880 #define IDvbNetworkNameDescriptor_GetNetworkNameW(This,convMode,pbstrName) (This)->lpVtbl->GetNetworkNameW(This,convMode,pbstrName)
881 #define IDvbNetworkNameDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
882 #endif /*COBJMACROS*/
883 
884 #undef  INTERFACE
885 #define INTERFACE IDvbParentalRatingDescriptor
886 #ifdef __GNUC__
887 #warning COM interfaces layout in this header has not been verified.
888 #warning COM interfaces with incorrect layout may not work at all.
889 __MINGW_BROKEN_INTERFACE(INTERFACE)
890 #endif
DECLARE_INTERFACE_(IDvbParentalRatingDescriptor,IUnknown)891 DECLARE_INTERFACE_(IDvbParentalRatingDescriptor,IUnknown)
892 {
893     BEGIN_INTERFACE
894 
895     /* IUnknown methods */
896     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
897     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
898     STDMETHOD_(ULONG, Release)(THIS) PURE;
899 
900     /* IDvbParentalRatingDescriptor methods */
901     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
902     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
903     STDMETHOD_(HRESULT,GetRecordRating)(THIS_ BYTE bRecordIndex,char *pszCountryCode,BYTE *pbVal) PURE;
904     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
905 
906     END_INTERFACE
907 };
908 #ifdef COBJMACROS
909 #define IDvbParentalRatingDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
910 #define IDvbParentalRatingDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
911 #define IDvbParentalRatingDescriptor_Release(This) (This)->lpVtbl->Release(This)
912 #define IDvbParentalRatingDescriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
913 #define IDvbParentalRatingDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
914 #define IDvbParentalRatingDescriptor_GetRecordRating(This,bRecordIndex,pszCountryCode,pbVal) (This)->lpVtbl->GetRecordRating(This,bRecordIndex,pszCountryCode,pbVal)
915 #define IDvbParentalRatingDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
916 #endif /*COBJMACROS*/
917 
918 #undef  INTERFACE
919 #define INTERFACE IDvbPrivateDataSpecifierDescriptor
920 #ifdef __GNUC__
921 #warning COM interfaces layout in this header has not been verified.
922 #warning COM interfaces with incorrect layout may not work at all.
923 __MINGW_BROKEN_INTERFACE(INTERFACE)
924 #endif
DECLARE_INTERFACE_(IDvbPrivateDataSpecifierDescriptor,IUnknown)925 DECLARE_INTERFACE_(IDvbPrivateDataSpecifierDescriptor,IUnknown)
926 {
927     BEGIN_INTERFACE
928 
929     /* IUnknown methods */
930     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
931     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
932     STDMETHOD_(ULONG, Release)(THIS) PURE;
933 
934     /* IDvbPrivateDataSpecifierDescriptor methods */
935     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
936     STDMETHOD_(HRESULT,GetPrivateDataSpecifier)(THIS_ DWORD *pdwVal) PURE;
937     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
938 
939     END_INTERFACE
940 };
941 #ifdef COBJMACROS
942 #define IDvbPrivateDataSpecifierDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
943 #define IDvbPrivateDataSpecifierDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
944 #define IDvbPrivateDataSpecifierDescriptor_Release(This) (This)->lpVtbl->Release(This)
945 #define IDvbPrivateDataSpecifierDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
946 #define IDvbPrivateDataSpecifierDescriptor_GetPrivateDataSpecifier(This,pdwVal) (This)->lpVtbl->GetPrivateDataSpecifier(This,pdwVal)
947 #define IDvbPrivateDataSpecifierDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
948 #endif /*COBJMACROS*/
949 
950 #undef  INTERFACE
951 #define INTERFACE IDvbServiceDescriptor
952 #ifdef __GNUC__
953 #warning COM interfaces layout in this header has not been verified.
954 #warning COM interfaces with incorrect layout may not work at all.
955 __MINGW_BROKEN_INTERFACE(INTERFACE)
956 #endif
DECLARE_INTERFACE_(IDvbServiceDescriptor,IUnknown)957 DECLARE_INTERFACE_(IDvbServiceDescriptor,IUnknown)
958 {
959     BEGIN_INTERFACE
960 
961     /* IUnknown methods */
962     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
963     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
964     STDMETHOD_(ULONG, Release)(THIS) PURE;
965 
966     /* IDvbServiceDescriptor methods */
967     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
968     STDMETHOD_(HRESULT,GetProcessedServiceName)(THIS_ BSTR *pbstrName) PURE;
969     STDMETHOD_(HRESULT,GetServiceName)(THIS_ char **pszName) PURE;
970     STDMETHOD_(HRESULT,GetServiceNameEmphasized)(THIS_ BSTR *pbstrName) PURE;
971     STDMETHOD_(HRESULT,GetServiceProviderName)(THIS_ char **pszName) PURE;
972     STDMETHOD_(HRESULT,GetServiceProviderNameW)(THIS_ BSTR *pbstrName) PURE;
973     STDMETHOD_(HRESULT,GetServiceType)(THIS_ BYTE *pbVal) PURE;
974     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
975 
976     END_INTERFACE
977 };
978 #ifdef COBJMACROS
979 #define IDvbServiceDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
980 #define IDvbServiceDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
981 #define IDvbServiceDescriptor_Release(This) (This)->lpVtbl->Release(This)
982 #define IDvbServiceDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
983 #define IDvbServiceDescriptor_GetProcessedServiceName(This,pbstrName) (This)->lpVtbl->GetProcessedServiceName(This,pbstrName)
984 #define IDvbServiceDescriptor_GetServiceName(This,pszName) (This)->lpVtbl->GetServiceName(This,pszName)
985 #define IDvbServiceDescriptor_GetServiceNameEmphasized(This,pbstrName) (This)->lpVtbl->GetServiceNameEmphasized(This,pbstrName)
986 #define IDvbServiceDescriptor_GetServiceProviderName(This,pszName) (This)->lpVtbl->GetServiceProviderName(This,pszName)
987 #define IDvbServiceDescriptor_GetServiceProviderNameW(This,pbstrName) (This)->lpVtbl->GetServiceProviderNameW(This,pbstrName)
988 #define IDvbServiceDescriptor_GetServiceType(This,pbVal) (This)->lpVtbl->GetServiceType(This,pbVal)
989 #define IDvbServiceDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
990 #endif /*COBJMACROS*/
991 
992 /* Fixme: Duplicate GetServiceProviderNameW method */
993 #undef  INTERFACE
994 #define INTERFACE IDvbServiceDescriptor2
995 #ifdef __GNUC__
996 #warning COM interfaces layout in this header has not been verified.
997 #warning COM interfaces with incorrect layout may not work at all.
998 __MINGW_BROKEN_INTERFACE(INTERFACE)
999 #endif
DECLARE_INTERFACE_(IDvbServiceDescriptor2,IDvbServiceDescriptor)1000 DECLARE_INTERFACE_(IDvbServiceDescriptor2,IDvbServiceDescriptor)
1001 {
1002     BEGIN_INTERFACE
1003 
1004     /* IUnknown methods */
1005     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1006     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1007     STDMETHOD_(ULONG, Release)(THIS) PURE;
1008 
1009     /* IDvbServiceDescriptor methods */
1010     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
1011     STDMETHOD_(HRESULT,GetProcessedServiceName)(THIS_ BSTR *pbstrName) PURE;
1012     STDMETHOD_(HRESULT,GetServiceName)(THIS_ char **pszName) PURE;
1013     STDMETHOD_(HRESULT,GetServiceNameEmphasized)(THIS_ BSTR *pbstrName) PURE;
1014     STDMETHOD_(HRESULT,GetServiceProviderName)(THIS_ char **pszName) PURE;
1015     STDMETHOD_(HRESULT,GetServiceProviderNameW)(THIS_ BSTR *pbstrName) PURE;
1016     STDMETHOD_(HRESULT,GetServiceType)(THIS_ BYTE *pbVal) PURE;
1017     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
1018 
1019     /* IDvbServiceDescriptor2 methods */
1020     STDMETHOD_(HRESULT,GetServiceNameW)(THIS_ DVB_STRCONV_MODE convMode,BSTR *pbstrName) PURE;
1021     /* STDMETHOD_(HRESULT,GetServiceProviderNameW)(THIS_ DVB_STRCONV_MODE convMode,BSTR *pbstrName) PURE; */
1022 
1023     END_INTERFACE
1024 };
1025 #ifdef COBJMACROS
1026 #define IDvbServiceDescriptor2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1027 #define IDvbServiceDescriptor2_AddRef(This) (This)->lpVtbl->AddRef(This)
1028 #define IDvbServiceDescriptor2_Release(This) (This)->lpVtbl->Release(This)
1029 #define IDvbServiceDescriptor2_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
1030 #define IDvbServiceDescriptor2_GetProcessedServiceName(This,pbstrName) (This)->lpVtbl->GetProcessedServiceName(This,pbstrName)
1031 #define IDvbServiceDescriptor2_GetServiceName(This,pszName) (This)->lpVtbl->GetServiceName(This,pszName)
1032 #define IDvbServiceDescriptor2_GetServiceNameEmphasized(This,pbstrName) (This)->lpVtbl->GetServiceNameEmphasized(This,pbstrName)
1033 #define IDvbServiceDescriptor2_GetServiceProviderName(This,pszName) (This)->lpVtbl->GetServiceProviderName(This,pszName)
1034 #define IDvbServiceDescriptor2_GetServiceProviderNameW(This,pbstrName) (This)->lpVtbl->GetServiceProviderNameW(This,pbstrName)
1035 #define IDvbServiceDescriptor2_GetServiceType(This,pbVal) (This)->lpVtbl->GetServiceType(This,pbVal)
1036 #define IDvbServiceDescriptor2_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
1037 #define IDvbServiceDescriptor2_GetServiceNameW(This,convMode,pbstrName) (This)->lpVtbl->GetServiceNameW(This,convMode,pbstrName)
1038 #define IDvbServiceDescriptor2_GetServiceProviderNameW(This,convMode,pbstrName) (This)->lpVtbl->GetServiceProviderNameW(This,convMode,pbstrName)
1039 #endif /*COBJMACROS*/
1040 
1041 #undef  INTERFACE
1042 #define INTERFACE IDvbShortEventDescriptor
1043 #ifdef __GNUC__
1044 #warning COM interfaces layout in this header has not been verified.
1045 #warning COM interfaces with incorrect layout may not work at all.
1046 __MINGW_BROKEN_INTERFACE(INTERFACE)
1047 #endif
DECLARE_INTERFACE_(IDvbShortEventDescriptor,IUnknown)1048 DECLARE_INTERFACE_(IDvbShortEventDescriptor,IUnknown)
1049 {
1050     BEGIN_INTERFACE
1051 
1052     /* IUnknown methods */
1053     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1054     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1055     STDMETHOD_(ULONG, Release)(THIS) PURE;
1056 
1057     /* IDvbShortEventDescriptor methods */
1058     STDMETHOD_(HRESULT,GetEventNameW)(THIS_ DVB_STRCONV_MODE convMode,BSTR *pbstrName) PURE;
1059     STDMETHOD_(HRESULT,GetLanguageCode)(THIS_ char *pszCode) PURE;
1060     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
1061     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
1062     STDMETHOD_(HRESULT,GetTextW)(THIS_ DVB_STRCONV_MODE convMode,BSTR *pbstrText) PURE;
1063 
1064     END_INTERFACE
1065 };
1066 #ifdef COBJMACROS
1067 #define IDvbShortEventDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1068 #define IDvbShortEventDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
1069 #define IDvbShortEventDescriptor_Release(This) (This)->lpVtbl->Release(This)
1070 #define IDvbShortEventDescriptor_GetEventNameW(This,convMode,pbstrName) (This)->lpVtbl->GetEventNameW(This,convMode,pbstrName)
1071 #define IDvbShortEventDescriptor_GetLanguageCode(This,pszCode) (This)->lpVtbl->GetLanguageCode(This,pszCode)
1072 #define IDvbShortEventDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
1073 #define IDvbShortEventDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
1074 #define IDvbShortEventDescriptor_GetTextW(This,convMode,pbstrText) (This)->lpVtbl->GetTextW(This,convMode,pbstrText)
1075 #endif /*COBJMACROS*/
1076 
1077 #define DVB_EIT_ACTUAL_TID (0x4E)
1078 #define DVB_EIT_OTHER_TID (0x4F)
1079 #define DVB_NIT_ACTUAL_TID (0x40)
1080 #define DVB_NIT_OTHER_TID (0x41)
1081 #define DVB_SDT_ACTUAL_TID (0x42)
1082 #define DVB_SDT_OTHER_TID (0x46)
1083 
1084 #undef  INTERFACE
1085 #define INTERFACE IDvbSiParser
1086 #ifdef __GNUC__
1087 #warning COM interfaces layout in this header has not been verified.
1088 #warning COM interfaces with incorrect layout may not work at all.
1089 __MINGW_BROKEN_INTERFACE(INTERFACE)
1090 #endif
DECLARE_INTERFACE_(IDvbSiParser,IUnknown)1091 DECLARE_INTERFACE_(IDvbSiParser,IUnknown)
1092 {
1093     BEGIN_INTERFACE
1094 
1095     /* IUnknown methods */
1096     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1097     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1098     STDMETHOD_(ULONG, Release)(THIS) PURE;
1099 
1100     /* IDvbSiParser methods */
1101     STDMETHOD_(HRESULT,GetBAT)(THIS_ WORD *pwBouquetId,IDVB_BAT **ppBAT) PURE;
1102     STDMETHOD_(HRESULT,GetCAT)(THIS_ DWORD dwTimeout,ICAT **ppCAT) PURE;
1103     STDMETHOD_(HRESULT,GetDIT)(THIS_ DWORD dwTimeout,IDVB_DIT **ppDIT) PURE;
1104     STDMETHOD_(HRESULT,GetEIT)(THIS_ TID tableId,WORD *pwServiceId,IDVB_EIT **ppEIT) PURE;
1105     STDMETHOD_(HRESULT,GetNIT)(THIS_ TID tableId,WORD *pwNetworkId,IDVB_NIT **ppNIT) PURE;
1106     STDMETHOD_(HRESULT,GetPAT)(THIS_ IPAT **ppPAT) PURE;
1107     STDMETHOD_(HRESULT,GetPMT)(THIS_ PID pid,WORD *pwProgramNumber,IPMT **ppPMT) PURE;
1108     STDMETHOD_(HRESULT,GetRST)(THIS_ DWORD dwTimeout,IDVB_RST **ppRST) PURE;
1109     STDMETHOD_(HRESULT,GetSDT)(THIS_ TID tableId,WORD *pwTransportStreamId,IDVB_SDT **ppSDT) PURE;
1110     STDMETHOD_(HRESULT,GetSIT)(THIS_ DWORD dwTimeout,IDVB_SIT **ppSIT) PURE;
1111     STDMETHOD_(HRESULT,GetST)(THIS_ PID pid,DWORD dwTimeout,IDVB_ST **ppST) PURE;
1112     STDMETHOD_(HRESULT,GetTDT)(THIS_ IDVB_TDT **ppTDT) PURE;
1113     STDMETHOD_(HRESULT,GetTOT)(THIS_ IDVB_TOT **ppTOT) PURE;
1114     STDMETHOD_(HRESULT,GetTSDT)(THIS_ ITSDT **ppTSDT) PURE;
1115     STDMETHOD_(HRESULT,Initialize)(THIS_ IUnknown *punkMpeg2Data) PURE;
1116 
1117     END_INTERFACE
1118 };
1119 #ifdef COBJMACROS
1120 #define IDvbSiParser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1121 #define IDvbSiParser_AddRef(This) (This)->lpVtbl->AddRef(This)
1122 #define IDvbSiParser_Release(This) (This)->lpVtbl->Release(This)
1123 #define IDvbSiParser_GetBAT(This,pwBouquetId,ppBAT) (This)->lpVtbl->GetBAT(This,pwBouquetId,ppBAT)
1124 #define IDvbSiParser_GetCAT(This,dwTimeout,ppCAT) (This)->lpVtbl->GetCAT(This,dwTimeout,ppCAT)
1125 #define IDvbSiParser_GetDIT(This,dwTimeout,ppDIT) (This)->lpVtbl->GetDIT(This,dwTimeout,ppDIT)
1126 #define IDvbSiParser_GetEIT(This,tableId,pwServiceId,ppEIT) (This)->lpVtbl->GetEIT(This,tableId,pwServiceId,ppEIT)
1127 #define IDvbSiParser_GetNIT(This,tableId,pwNetworkId,ppNIT) (This)->lpVtbl->GetNIT(This,tableId,pwNetworkId,ppNIT)
1128 #define IDvbSiParser_GetPAT(This,ppPAT) (This)->lpVtbl->GetPAT(This,ppPAT)
1129 #define IDvbSiParser_GetPMT(This,pid,pwProgramNumber,ppPMT) (This)->lpVtbl->GetPMT(This,pid,pwProgramNumber,ppPMT)
1130 #define IDvbSiParser_GetRST(This,dwTimeout,ppRST) (This)->lpVtbl->GetRST(This,dwTimeout,ppRST)
1131 #define IDvbSiParser_GetSDT(This,tableId,pwTransportStreamId,ppSDT) (This)->lpVtbl->GetSDT(This,tableId,pwTransportStreamId,ppSDT)
1132 #define IDvbSiParser_GetSIT(This,dwTimeout,ppSIT) (This)->lpVtbl->GetSIT(This,dwTimeout,ppSIT)
1133 #define IDvbSiParser_GetST(This,pid,dwTimeout,ppST) (This)->lpVtbl->GetST(This,pid,dwTimeout,ppST)
1134 #define IDvbSiParser_GetTDT(This,ppTDT) (This)->lpVtbl->GetTDT(This,ppTDT)
1135 #define IDvbSiParser_GetTOT(This,ppTOT) (This)->lpVtbl->GetTOT(This,ppTOT)
1136 #define IDvbSiParser_GetTSDT(This,ppTSDT) (This)->lpVtbl->GetTSDT(This,ppTSDT)
1137 #define IDvbSiParser_Initialize(This,punkMpeg2Data) (This)->lpVtbl->Initialize(This,punkMpeg2Data)
1138 #endif /*COBJMACROS*/
1139 
1140 #undef  INTERFACE
1141 #define INTERFACE IDVB_RST
1142 #ifdef __GNUC__
1143 #warning COM interfaces layout in this header has not been verified.
1144 #warning COM interfaces with incorrect layout may not work at all.
1145 __MINGW_BROKEN_INTERFACE(INTERFACE)
1146 #endif
DECLARE_INTERFACE_(IDVB_RST,IUnknown)1147 DECLARE_INTERFACE_(IDVB_RST,IUnknown)
1148 {
1149     BEGIN_INTERFACE
1150 
1151     /* IUnknown methods */
1152     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1153     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1154     STDMETHOD_(ULONG, Release)(THIS) PURE;
1155 
1156     /* IDVB_RST methods */
1157     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ DWORD *pdwVal) PURE;
1158     STDMETHOD_(HRESULT,GetRecordEventId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
1159     STDMETHOD_(HRESULT,GetRecordOriginalNetworkId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
1160     STDMETHOD_(HRESULT,GetRecordRunningStatus)(THIS_ DWORD dwRecordIndex,BYTE *pbVal) PURE;
1161     STDMETHOD_(HRESULT,GetRecordServiceId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
1162     STDMETHOD_(HRESULT,GetRecordTransportStreamId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
1163     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList) PURE;
1164 
1165     END_INTERFACE
1166 };
1167 #ifdef COBJMACROS
1168 #define IDVB_RST_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1169 #define IDVB_RST_AddRef(This) (This)->lpVtbl->AddRef(This)
1170 #define IDVB_RST_Release(This) (This)->lpVtbl->Release(This)
1171 #define IDVB_RST_GetCountOfRecords(This,pdwVal) (This)->lpVtbl->GetCountOfRecords(This,pdwVal)
1172 #define IDVB_RST_GetRecordEventId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordEventId(This,dwRecordIndex,pwVal)
1173 #define IDVB_RST_GetRecordOriginalNetworkId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordOriginalNetworkId(This,dwRecordIndex,pwVal)
1174 #define IDVB_RST_GetRecordRunningStatus(This,dwRecordIndex,pbVal) (This)->lpVtbl->GetRecordRunningStatus(This,dwRecordIndex,pbVal)
1175 #define IDVB_RST_GetRecordServiceId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordServiceId(This,dwRecordIndex,pwVal)
1176 #define IDVB_RST_GetRecordTransportStreamId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordTransportStreamId(This,dwRecordIndex,pwVal)
1177 #define IDVB_RST_Initialize(This,pSectionList) (This)->lpVtbl->Initialize(This,pSectionList)
1178 #endif /*COBJMACROS*/
1179 
1180 #undef  INTERFACE
1181 #define INTERFACE IDVB_SIT
1182 #ifdef __GNUC__
1183 #warning COM interfaces layout in this header has not been verified.
1184 #warning COM interfaces with incorrect layout may not work at all.
1185 __MINGW_BROKEN_INTERFACE(INTERFACE)
1186 #endif
DECLARE_INTERFACE_(IDVB_SIT,IUnknown)1187 DECLARE_INTERFACE_(IDVB_SIT,IUnknown)
1188 {
1189     BEGIN_INTERFACE
1190 
1191     /* IUnknown methods */
1192     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1193     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1194     STDMETHOD_(ULONG, Release)(THIS) PURE;
1195 
1196     /* IDVB_SIT methods */
1197     STDMETHOD_(HRESULT,ConvertNextToCurrent)(THIS) PURE;
1198     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ DWORD *pdwVal) PURE;
1199     STDMETHOD_(HRESULT,GetCountOfTableDescriptors)(THIS_ DWORD *pdwVal) PURE;
1200     STDMETHOD_(HRESULT,GetNextTable)(THIS_ DWORD dwTimeout,IDVB_SIT **ppSIT) PURE;
1201     STDMETHOD_(HRESULT,GetRecordCountOfDescriptors)(THIS_ DWORD dwRecordIndex,DWORD *pdwVal) PURE;
1202     STDMETHOD_(HRESULT,GetRecordDescriptorByIndex)(THIS_ DWORD dwRecordIndex,DWORD dwIndex,IGenericDescriptor **ppDescriptor) PURE;
1203     STDMETHOD_(HRESULT,GetRecordDescriptorByTag)(THIS_ DWORD dwRecordIndex,BYTE bTag,DWORD *pdwCookie,IGenericDescriptor **ppDescriptor) PURE;
1204     STDMETHOD_(HRESULT,GetRecordRunningStatus)(THIS_ DWORD dwRecordIndex,BYTE *pbVal) PURE;
1205     STDMETHOD_(HRESULT,GetRecordServiceId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
1206     STDMETHOD_(HRESULT,GetTableDescriptorByIndex)(THIS_ DWORD dwIndex,IGenericDescriptor **ppDescriptor) PURE;
1207     STDMETHOD_(HRESULT,GetTableDescriptorByTag)(THIS_ BYTE bTag,DWORD *pdwCookie,IGenericDescriptor **ppDescriptor) PURE;
1208     STDMETHOD_(HRESULT,GetVersionNumber)(THIS_ BYTE *pbVal) PURE;
1209     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList,IMpeg2Data *pMPEGData) PURE;
1210     STDMETHOD_(HRESULT,RegisterForNextTable)(THIS_ HANDLE hNextTableAvailable) PURE;
1211     STDMETHOD_(HRESULT,RegisterForWhenCurrent)(THIS_ HANDLE hNextTableIsCurrent) PURE;
1212 
1213     END_INTERFACE
1214 };
1215 #ifdef COBJMACROS
1216 #define IDVB_SIT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1217 #define IDVB_SIT_AddRef(This) (This)->lpVtbl->AddRef(This)
1218 #define IDVB_SIT_Release(This) (This)->lpVtbl->Release(This)
1219 #define IDVB_SIT_ConvertNextToCurrent() (This)->lpVtbl->ConvertNextToCurrent(This)
1220 #define IDVB_SIT_GetCountOfRecords(This,pdwVal) (This)->lpVtbl->GetCountOfRecords(This,pdwVal)
1221 #define IDVB_SIT_GetCountOfTableDescriptors(This,pdwVal) (This)->lpVtbl->GetCountOfTableDescriptors(This,pdwVal)
1222 #define IDVB_SIT_GetNextTable(This,dwTimeout,ppSIT) (This)->lpVtbl->GetNextTable(This,dwTimeout,ppSIT)
1223 #define IDVB_SIT_GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal) (This)->lpVtbl->GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal)
1224 #define IDVB_SIT_GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor)
1225 #define IDVB_SIT_GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor)
1226 #define IDVB_SIT_GetRecordRunningStatus(This,dwRecordIndex,pbVal) (This)->lpVtbl->GetRecordRunningStatus(This,dwRecordIndex,pbVal)
1227 #define IDVB_SIT_GetRecordServiceId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordServiceId(This,dwRecordIndex,pwVal)
1228 #define IDVB_SIT_GetTableDescriptorByIndex(This,dwIndex,ppDescriptor) (This)->lpVtbl->GetTableDescriptorByIndex(This,dwIndex,ppDescriptor)
1229 #define IDVB_SIT_GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor) (This)->lpVtbl->GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor)
1230 #define IDVB_SIT_GetVersionNumber(This,pbVal) (This)->lpVtbl->GetVersionNumber(This,pbVal)
1231 #define IDVB_SIT_Initialize(This,pSectionList,pMPEGData) (This)->lpVtbl->Initialize(This,pSectionList,pMPEGData)
1232 #define IDVB_SIT_RegisterForNextTable(This,hNextTableAvailable) (This)->lpVtbl->RegisterForNextTable(This,hNextTableAvailable)
1233 #define IDVB_SIT_RegisterForWhenCurrent(This,hNextTableIsCurrent) (This)->lpVtbl->RegisterForWhenCurrent(This,hNextTableIsCurrent)
1234 #endif /*COBJMACROS*/
1235 
1236 #undef  INTERFACE
1237 #define INTERFACE IDVB_ST
1238 #ifdef __GNUC__
1239 #warning COM interfaces layout in this header has not been verified.
1240 #warning COM interfaces with incorrect layout may not work at all.
1241 __MINGW_BROKEN_INTERFACE(INTERFACE)
1242 #endif
DECLARE_INTERFACE_(IDVB_ST,IUnknown)1243 DECLARE_INTERFACE_(IDVB_ST,IUnknown)
1244 {
1245     BEGIN_INTERFACE
1246 
1247     /* IUnknown methods */
1248     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1249     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1250     STDMETHOD_(ULONG, Release)(THIS) PURE;
1251 
1252     /* IDVB_ST methods */
1253     STDMETHOD_(HRESULT,GetData)(THIS_ BYTE **ppData) PURE;
1254     STDMETHOD_(HRESULT,GetDataLength)(THIS_ WORD *pwVal) PURE;
1255     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList) PURE;
1256 
1257     END_INTERFACE
1258 };
1259 #ifdef COBJMACROS
1260 #define IDVB_ST_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1261 #define IDVB_ST_AddRef(This) (This)->lpVtbl->AddRef(This)
1262 #define IDVB_ST_Release(This) (This)->lpVtbl->Release(This)
1263 #define IDVB_ST_GetData(This,ppData) (This)->lpVtbl->GetData(This,ppData)
1264 #define IDVB_ST_GetDataLength(This,pwVal) (This)->lpVtbl->GetDataLength(This,pwVal)
1265 #define IDVB_ST_Initialize(This,pSectionList) (This)->lpVtbl->Initialize(This,pSectionList)
1266 #endif /*COBJMACROS*/
1267 
1268 #undef  INTERFACE
1269 #define INTERFACE IDVB_TDT
1270 #ifdef __GNUC__
1271 #warning COM interfaces layout in this header has not been verified.
1272 #warning COM interfaces with incorrect layout may not work at all.
1273 __MINGW_BROKEN_INTERFACE(INTERFACE)
1274 #endif
DECLARE_INTERFACE_(IDVB_TDT,IUnknown)1275 DECLARE_INTERFACE_(IDVB_TDT,IUnknown)
1276 {
1277     BEGIN_INTERFACE
1278 
1279     /* IUnknown methods */
1280     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1281     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1282     STDMETHOD_(ULONG, Release)(THIS) PURE;
1283 
1284     /* IDVB_TDT methods */
1285     STDMETHOD_(HRESULT,GetUTCTime)(THIS_ MPEG_DATE_AND_TIME *pmdtVal) PURE;
1286     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList) PURE;
1287 
1288     END_INTERFACE
1289 };
1290 #ifdef COBJMACROS
1291 #define IDVB_TDT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1292 #define IDVB_TDT_AddRef(This) (This)->lpVtbl->AddRef(This)
1293 #define IDVB_TDT_Release(This) (This)->lpVtbl->Release(This)
1294 #define IDVB_TDT_GetUTCTime(This,pmdtVal) (This)->lpVtbl->GetUTCTime(This,pmdtVal)
1295 #define IDVB_TDT_Initialize(This,pSectionList) (This)->lpVtbl->Initialize(This,pSectionList)
1296 #endif /*COBJMACROS*/
1297 
1298 #undef  INTERFACE
1299 #define INTERFACE IDVB_TOT
1300 #ifdef __GNUC__
1301 #warning COM interfaces layout in this header has not been verified.
1302 #warning COM interfaces with incorrect layout may not work at all.
1303 __MINGW_BROKEN_INTERFACE(INTERFACE)
1304 #endif
DECLARE_INTERFACE_(IDVB_TOT,IUnknown)1305 DECLARE_INTERFACE_(IDVB_TOT,IUnknown)
1306 {
1307     BEGIN_INTERFACE
1308 
1309     /* IUnknown methods */
1310     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1311     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1312     STDMETHOD_(ULONG, Release)(THIS) PURE;
1313 
1314     /* IDVB_TOT methods */
1315     STDMETHOD_(HRESULT,GetCountOfTableDescriptors)(THIS_ DWORD *pdwVal) PURE;
1316     STDMETHOD_(HRESULT,GetTableDescriptorByIndex)(THIS_ DWORD dwIndex,IGenericDescriptor **ppDescriptor) PURE;
1317     STDMETHOD_(HRESULT,GetTableDescriptorByTag)(THIS_ BYTE bTag,DWORD *pdwCookie,IGenericDescriptor **ppDescriptor) PURE;
1318     STDMETHOD_(HRESULT,GetUTCTime)(THIS_ MPEG_DATE_AND_TIME *pmdtVal) PURE;
1319     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList) PURE;
1320 
1321     END_INTERFACE
1322 };
1323 #ifdef COBJMACROS
1324 #define IDVB_TOT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1325 #define IDVB_TOT_AddRef(This) (This)->lpVtbl->AddRef(This)
1326 #define IDVB_TOT_Release(This) (This)->lpVtbl->Release(This)
1327 #define IDVB_TOT_GetCountOfTableDescriptors(This,pdwVal) (This)->lpVtbl->GetCountOfTableDescriptors(This,pdwVal)
1328 #define IDVB_TOT_GetTableDescriptorByIndex(This,dwIndex,ppDescriptor) (This)->lpVtbl->GetTableDescriptorByIndex(This,dwIndex,ppDescriptor)
1329 #define IDVB_TOT_GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor) (This)->lpVtbl->GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor)
1330 #define IDVB_TOT_GetUTCTime(This,pmdtVal) (This)->lpVtbl->GetUTCTime(This,pmdtVal)
1331 #define IDVB_TOT_Initialize(This,pSectionList) (This)->lpVtbl->Initialize(This,pSectionList)
1332 #endif /*COBJMACROS*/
1333 
1334 /* Fixme: Possibly F6B96EDA-1A94-4476-A85F-4D3DC7B39C3F */
1335 #undef  INTERFACE
1336 #define INTERFACE IDvbSiParser2
1337 #ifdef __GNUC__
1338 #warning COM interfaces layout in this header has not been verified.
1339 #warning COM interfaces with incorrect layout may not work at all.
1340 __MINGW_BROKEN_INTERFACE(INTERFACE)
1341 #endif
DECLARE_INTERFACE_(IDvbSiParser2,IDvbSiParser)1342 DECLARE_INTERFACE_(IDvbSiParser2,IDvbSiParser)
1343 {
1344     BEGIN_INTERFACE
1345 
1346     /* IUnknown methods */
1347     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1348     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1349     STDMETHOD_(ULONG, Release)(THIS) PURE;
1350 
1351     /* IDvbSiParser methods */
1352     STDMETHOD_(HRESULT,GetBAT)(THIS_ WORD *pwBouquetId,IDVB_BAT **ppBAT) PURE;
1353     STDMETHOD_(HRESULT,GetCAT)(THIS_ DWORD dwTimeout,ICAT **ppCAT) PURE;
1354     STDMETHOD_(HRESULT,GetDIT)(THIS_ DWORD dwTimeout,IDVB_DIT **ppDIT) PURE;
1355     STDMETHOD_(HRESULT,GetEIT)(THIS_ TID tableId,WORD *pwServiceId,IDVB_EIT **ppEIT) PURE;
1356     STDMETHOD_(HRESULT,GetNIT)(THIS_ TID tableId,WORD *pwNetworkId,IDVB_NIT **ppNIT) PURE;
1357     STDMETHOD_(HRESULT,GetPAT)(THIS_ IPAT **ppPAT) PURE;
1358     STDMETHOD_(HRESULT,GetPMT)(THIS_ PID pid,WORD *pwProgramNumber,IPMT **ppPMT) PURE;
1359     STDMETHOD_(HRESULT,GetRST)(THIS_ DWORD dwTimeout,IDVB_RST **ppRST) PURE;
1360     STDMETHOD_(HRESULT,GetSDT)(THIS_ TID tableId,WORD *pwTransportStreamId,IDVB_SDT **ppSDT) PURE;
1361     STDMETHOD_(HRESULT,GetSIT)(THIS_ DWORD dwTimeout,IDVB_SIT **ppSIT) PURE;
1362     STDMETHOD_(HRESULT,GetST)(THIS_ PID pid,DWORD dwTimeout,IDVB_ST **ppST) PURE;
1363     STDMETHOD_(HRESULT,GetTDT)(THIS_ IDVB_TDT **ppTDT) PURE;
1364     STDMETHOD_(HRESULT,GetTOT)(THIS_ IDVB_TOT **ppTOT) PURE;
1365     STDMETHOD_(HRESULT,GetTSDT)(THIS_ ITSDT **ppTSDT) PURE;
1366     STDMETHOD_(HRESULT,Initialize)(THIS_ IUnknown *punkMpeg2Data) PURE;
1367 
1368     /* IDvbSiParser2 methods */
1369     STDMETHOD_(HRESULT,GetEIT2)(THIS_ TID tableId,WORD *pwServiceId,BYTE *pbSegment,IDVB_EIT2 **ppEIT) PURE;
1370 
1371     END_INTERFACE
1372 };
1373 #ifdef COBJMACROS
1374 #define IDvbSiParser2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1375 #define IDvbSiParser2_AddRef(This) (This)->lpVtbl->AddRef(This)
1376 #define IDvbSiParser2_Release(This) (This)->lpVtbl->Release(This)
1377 #define IDvbSiParser2_GetBAT(This,pwBouquetId,ppBAT) (This)->lpVtbl->GetBAT(This,pwBouquetId,ppBAT)
1378 #define IDvbSiParser2_GetCAT(This,dwTimeout,ppCAT) (This)->lpVtbl->GetCAT(This,dwTimeout,ppCAT)
1379 #define IDvbSiParser2_GetDIT(This,dwTimeout,ppDIT) (This)->lpVtbl->GetDIT(This,dwTimeout,ppDIT)
1380 #define IDvbSiParser2_GetEIT(This,tableId,pwServiceId,ppEIT) (This)->lpVtbl->GetEIT(This,tableId,pwServiceId,ppEIT)
1381 #define IDvbSiParser2_GetNIT(This,tableId,pwNetworkId,ppNIT) (This)->lpVtbl->GetNIT(This,tableId,pwNetworkId,ppNIT)
1382 #define IDvbSiParser2_GetPAT(This,ppPAT) (This)->lpVtbl->GetPAT(This,ppPAT)
1383 #define IDvbSiParser2_GetPMT(This,pid,pwProgramNumber,ppPMT) (This)->lpVtbl->GetPMT(This,pid,pwProgramNumber,ppPMT)
1384 #define IDvbSiParser2_GetRST(This,dwTimeout,ppRST) (This)->lpVtbl->GetRST(This,dwTimeout,ppRST)
1385 #define IDvbSiParser2_GetSDT(This,tableId,pwTransportStreamId,ppSDT) (This)->lpVtbl->GetSDT(This,tableId,pwTransportStreamId,ppSDT)
1386 #define IDvbSiParser2_GetSIT(This,dwTimeout,ppSIT) (This)->lpVtbl->GetSIT(This,dwTimeout,ppSIT)
1387 #define IDvbSiParser2_GetST(This,pid,dwTimeout,ppST) (This)->lpVtbl->GetST(This,pid,dwTimeout,ppST)
1388 #define IDvbSiParser2_GetTDT(This,ppTDT) (This)->lpVtbl->GetTDT(This,ppTDT)
1389 #define IDvbSiParser2_GetTOT(This,ppTOT) (This)->lpVtbl->GetTOT(This,ppTOT)
1390 #define IDvbSiParser2_GetTSDT(This,ppTSDT) (This)->lpVtbl->GetTSDT(This,ppTSDT)
1391 #define IDvbSiParser2_Initialize(This,punkMpeg2Data) (This)->lpVtbl->Initialize(This,punkMpeg2Data)
1392 #define IDvbSiParser2_GetEIT2(This,tableId,pwServiceId,pbSegment,ppEIT) (This)->lpVtbl->GetEIT2(This,tableId,pwServiceId,pbSegment,ppEIT)
1393 #endif /*COBJMACROS*/
1394 
1395 #undef  INTERFACE
1396 #define INTERFACE IDvbSubtitlingDescriptor
1397 #ifdef __GNUC__
1398 #warning COM interfaces layout in this header has not been verified.
1399 #warning COM interfaces with incorrect layout may not work at all.
1400 __MINGW_BROKEN_INTERFACE(INTERFACE)
1401 #endif
DECLARE_INTERFACE_(IDvbSubtitlingDescriptor,IUnknown)1402 DECLARE_INTERFACE_(IDvbSubtitlingDescriptor,IUnknown)
1403 {
1404     BEGIN_INTERFACE
1405 
1406     /* IUnknown methods */
1407     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1408     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1409     STDMETHOD_(ULONG, Release)(THIS) PURE;
1410 
1411     /* IDvbSubtitlingDescriptor methods */
1412     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
1413     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
1414     STDMETHOD_(HRESULT,GetRecordAncillaryPageID)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
1415     STDMETHOD_(HRESULT,GetRecordCompositionPageID)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
1416     STDMETHOD_(HRESULT,GetRecordLangId)(THIS_ BYTE bRecordIndex,ULONG *pulVal) PURE;
1417     STDMETHOD_(HRESULT,GetRecordSubtitlingType)(THIS_ BYTE bRecordIndex,BYTE *pbVal) PURE;
1418     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
1419 
1420     END_INTERFACE
1421 };
1422 #ifdef COBJMACROS
1423 #define IDvbSubtitlingDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1424 #define IDvbSubtitlingDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
1425 #define IDvbSubtitlingDescriptor_Release(This) (This)->lpVtbl->Release(This)
1426 #define IDvbSubtitlingDescriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
1427 #define IDvbSubtitlingDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
1428 #define IDvbSubtitlingDescriptor_GetRecordAncillaryPageID(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordAncillaryPageID(This,bRecordIndex,pwVal)
1429 #define IDvbSubtitlingDescriptor_GetRecordCompositionPageID(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordCompositionPageID(This,bRecordIndex,pwVal)
1430 #define IDvbSubtitlingDescriptor_GetRecordLangId(This,bRecordIndex,pulVal) (This)->lpVtbl->GetRecordLangId(This,bRecordIndex,pulVal)
1431 #define IDvbSubtitlingDescriptor_GetRecordSubtitlingType(This,bRecordIndex,pbVal) (This)->lpVtbl->GetRecordSubtitlingType(This,bRecordIndex,pbVal)
1432 #define IDvbSubtitlingDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
1433 #endif /*COBJMACROS*/
1434 
1435 #undef  INTERFACE
1436 #define INTERFACE IDvbServiceListDescriptor
1437 #ifdef __GNUC__
1438 #warning COM interfaces layout in this header has not been verified.
1439 #warning COM interfaces with incorrect layout may not work at all.
1440 __MINGW_BROKEN_INTERFACE(INTERFACE)
1441 #endif
DECLARE_INTERFACE_(IDvbServiceListDescriptor,IUnknown)1442 DECLARE_INTERFACE_(IDvbServiceListDescriptor,IUnknown)
1443 {
1444     BEGIN_INTERFACE
1445 
1446     /* IUnknown methods */
1447     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1448     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1449     STDMETHOD_(ULONG, Release)(THIS) PURE;
1450 
1451     /* IDvbServiceListDescriptor methods */
1452     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
1453     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
1454     STDMETHOD_(HRESULT,GetRecordServiceId)(THIS_ BYTE bRecordIndex,WORD *pwVal) PURE;
1455     STDMETHOD_(HRESULT,GetRecordServiceType)(THIS_ BYTE bRecordIndex,BYTE *pbVal) PURE;
1456     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
1457 
1458     END_INTERFACE
1459 };
1460 #ifdef COBJMACROS
1461 #define IDvbServiceListDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1462 #define IDvbServiceListDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
1463 #define IDvbServiceListDescriptor_Release(This) (This)->lpVtbl->Release(This)
1464 #define IDvbServiceListDescriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
1465 #define IDvbServiceListDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
1466 #define IDvbServiceListDescriptor_GetRecordServiceId(This,bRecordIndex,pwVal) (This)->lpVtbl->GetRecordServiceId(This,bRecordIndex,pwVal)
1467 #define IDvbServiceListDescriptor_GetRecordServiceType(This,bRecordIndex,pbVal) (This)->lpVtbl->GetRecordServiceType(This,bRecordIndex,pbVal)
1468 #define IDvbServiceListDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
1469 #endif /*COBJMACROS*/
1470 
1471 #undef  INTERFACE
1472 #define INTERFACE IDvbTeletextDescriptor
1473 #ifdef __GNUC__
1474 #warning COM interfaces layout in this header has not been verified.
1475 #warning COM interfaces with incorrect layout may not work at all.
1476 __MINGW_BROKEN_INTERFACE(INTERFACE)
1477 #endif
DECLARE_INTERFACE_(IDvbTeletextDescriptor,IUnknown)1478 DECLARE_INTERFACE_(IDvbTeletextDescriptor,IUnknown)
1479 {
1480     BEGIN_INTERFACE
1481 
1482     /* IUnknown methods */
1483     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1484     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1485     STDMETHOD_(ULONG, Release)(THIS) PURE;
1486 
1487     /* IDvbTeletextDescriptor methods */
1488     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ BYTE *pbVal) PURE;
1489     STDMETHOD_(HRESULT,GetLength)(THIS_ BYTE *pbVal) PURE;
1490     STDMETHOD_(HRESULT,GetRecordLangId)(THIS_ BYTE bRecordIndex,ULONG *pulVal) PURE;
1491     STDMETHOD_(HRESULT,GetRecordMagazineNumber)(THIS_ BYTE bRecordIndex,BYTE *pbVal) PURE;
1492     STDMETHOD_(HRESULT,GetRecordPageNumber)(THIS_ BYTE bRecordIndex,BYTE *pbVal) PURE;
1493     STDMETHOD_(HRESULT,GetRecordTeletextType)(THIS_ BYTE bRecordIndex,BYTE *pbVal) PURE;
1494     STDMETHOD_(HRESULT,GetTag)(THIS_ BYTE *pbVal) PURE;
1495 
1496     END_INTERFACE
1497 };
1498 #ifdef COBJMACROS
1499 #define IDvbTeletextDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1500 #define IDvbTeletextDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
1501 #define IDvbTeletextDescriptor_Release(This) (This)->lpVtbl->Release(This)
1502 #define IDvbTeletextDescriptor_GetCountOfRecords(This,pbVal) (This)->lpVtbl->GetCountOfRecords(This,pbVal)
1503 #define IDvbTeletextDescriptor_GetLength(This,pbVal) (This)->lpVtbl->GetLength(This,pbVal)
1504 #define IDvbTeletextDescriptor_GetRecordLangId(This,bRecordIndex,pulVal) (This)->lpVtbl->GetRecordLangId(This,bRecordIndex,pulVal)
1505 #define IDvbTeletextDescriptor_GetRecordMagazineNumber(This,bRecordIndex,pbVal) (This)->lpVtbl->GetRecordMagazineNumber(This,bRecordIndex,pbVal)
1506 #define IDvbTeletextDescriptor_GetRecordPageNumber(This,bRecordIndex,pbVal) (This)->lpVtbl->GetRecordPageNumber(This,bRecordIndex,pbVal)
1507 #define IDvbTeletextDescriptor_GetRecordTeletextType(This,bRecordIndex,pbVal) (This)->lpVtbl->GetRecordTeletextType(This,bRecordIndex,pbVal)
1508 #define IDvbTeletextDescriptor_GetTag(This,pbVal) (This)->lpVtbl->GetTag(This,pbVal)
1509 #endif /*COBJMACROS*/
1510 
1511 #undef  INTERFACE
1512 #define INTERFACE IDVB_BAT
1513 #ifdef __GNUC__
1514 #warning COM interfaces layout in this header has not been verified.
1515 #warning COM interfaces with incorrect layout may not work at all.
1516 __MINGW_BROKEN_INTERFACE(INTERFACE)
1517 #endif
DECLARE_INTERFACE_(IDVB_BAT,IUnknown)1518 DECLARE_INTERFACE_(IDVB_BAT,IUnknown)
1519 {
1520     BEGIN_INTERFACE
1521 
1522     /* IUnknown methods */
1523     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1524     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1525     STDMETHOD_(ULONG, Release)(THIS) PURE;
1526 
1527     /* IDVB_BAT methods */
1528     STDMETHOD_(HRESULT,ConvertNextToCurrent)(THIS) PURE;
1529     STDMETHOD_(HRESULT,GetBouquetId)(THIS_ WORD *pwVal) PURE;
1530     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ DWORD *pdwVal) PURE;
1531     STDMETHOD_(HRESULT,GetCountOfTableDescriptors)(THIS_ DWORD *pdwVal) PURE;
1532     STDMETHOD_(HRESULT,GetNextTable)(THIS_ IDVB_BAT **ppBAT) PURE;
1533     STDMETHOD_(HRESULT,GetRecordCountOfDescriptors)(THIS_ DWORD dwRecordIndex,DWORD *pdwVal) PURE;
1534     STDMETHOD_(HRESULT,GetRecordDescriptorByIndex)(THIS_ DWORD dwRecordIndex,DWORD dwIndex,IGenericDescriptor **ppDescriptor) PURE;
1535     STDMETHOD_(HRESULT,GetRecordDescriptorByTag)(THIS_ DWORD dwRecordIndex,BYTE bTag,DWORD *pdwCookie,IGenericDescriptor **ppDescriptor) PURE;
1536     STDMETHOD_(HRESULT,GetRecordOriginalNetworkId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
1537     STDMETHOD_(HRESULT,GetRecordTransportStreamId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
1538     STDMETHOD_(HRESULT,GetTableDescriptorByIndex)(THIS_ DWORD dwIndex,IGenericDescriptor **ppDescriptor) PURE;
1539     STDMETHOD_(HRESULT,GetTableDescriptorByTag)(THIS_ BYTE bTag,DWORD *pdwCookie,IGenericDescriptor **ppDescriptor) PURE;
1540     STDMETHOD_(HRESULT,GetVersionNumber)(THIS_ BYTE *pbVal) PURE;
1541     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList,IMpeg2Data *pMPEGData) PURE;
1542     STDMETHOD_(HRESULT,RegisterForNextTable)(THIS_ HANDLE hNextTableAvailable) PURE;
1543     STDMETHOD_(HRESULT,RegisterForWhenCurrent)(THIS_ HANDLE hNextTableIsCurrent) PURE;
1544 
1545     END_INTERFACE
1546 };
1547 #ifdef COBJMACROS
1548 #define IDVB_BAT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1549 #define IDVB_BAT_AddRef(This) (This)->lpVtbl->AddRef(This)
1550 #define IDVB_BAT_Release(This) (This)->lpVtbl->Release(This)
1551 #define IDVB_BAT_ConvertNextToCurrent() (This)->lpVtbl->ConvertNextToCurrent(This)
1552 #define IDVB_BAT_GetBouquetId(This,pwVal) (This)->lpVtbl->GetBouquetId(This,pwVal)
1553 #define IDVB_BAT_GetCountOfRecords(This,pdwVal) (This)->lpVtbl->GetCountOfRecords(This,pdwVal)
1554 #define IDVB_BAT_GetCountOfTableDescriptors(This,pdwVal) (This)->lpVtbl->GetCountOfTableDescriptors(This,pdwVal)
1555 #define IDVB_BAT_GetNextTable(This,ppBAT) (This)->lpVtbl->GetNextTable(This,ppBAT)
1556 #define IDVB_BAT_GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal) (This)->lpVtbl->GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal)
1557 #define IDVB_BAT_GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor)
1558 #define IDVB_BAT_GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor)
1559 #define IDVB_BAT_GetRecordOriginalNetworkId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordOriginalNetworkId(This,dwRecordIndex,pwVal)
1560 #define IDVB_BAT_GetRecordTransportStreamId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordTransportStreamId(This,dwRecordIndex,pwVal)
1561 #define IDVB_BAT_GetTableDescriptorByIndex(This,dwIndex,ppDescriptor) (This)->lpVtbl->GetTableDescriptorByIndex(This,dwIndex,ppDescriptor)
1562 #define IDVB_BAT_GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor) (This)->lpVtbl->GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor)
1563 #define IDVB_BAT_GetVersionNumber(This,pbVal) (This)->lpVtbl->GetVersionNumber(This,pbVal)
1564 #define IDVB_BAT_Initialize(This,pSectionList,pMPEGData) (This)->lpVtbl->Initialize(This,pSectionList,pMPEGData)
1565 #define IDVB_BAT_RegisterForNextTable(This,hNextTableAvailable) (This)->lpVtbl->RegisterForNextTable(This,hNextTableAvailable)
1566 #define IDVB_BAT_RegisterForWhenCurrent(This,hNextTableIsCurrent) (This)->lpVtbl->RegisterForWhenCurrent(This,hNextTableIsCurrent)
1567 #endif /*COBJMACROS*/
1568 
1569 #undef  INTERFACE
1570 #define INTERFACE IDVB_DIT
1571 #ifdef __GNUC__
1572 #warning COM interfaces layout in this header has not been verified.
1573 #warning COM interfaces with incorrect layout may not work at all.
1574 __MINGW_BROKEN_INTERFACE(INTERFACE)
1575 #endif
DECLARE_INTERFACE_(IDVB_DIT,IUnknown)1576 DECLARE_INTERFACE_(IDVB_DIT,IUnknown)
1577 {
1578     BEGIN_INTERFACE
1579 
1580     /* IUnknown methods */
1581     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1582     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1583     STDMETHOD_(ULONG, Release)(THIS) PURE;
1584 
1585     /* IDVB_DIT methods */
1586     STDMETHOD_(HRESULT,GetTransitionFlag)(THIS_ WINBOOL *pfVal) PURE;
1587     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList) PURE;
1588 
1589     END_INTERFACE
1590 };
1591 #ifdef COBJMACROS
1592 #define IDVB_DIT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1593 #define IDVB_DIT_AddRef(This) (This)->lpVtbl->AddRef(This)
1594 #define IDVB_DIT_Release(This) (This)->lpVtbl->Release(This)
1595 #define IDVB_DIT_GetTransitionFlag(This,pfVal) (This)->lpVtbl->GetTransitionFlag(This,pfVal)
1596 #define IDVB_DIT_Initialize(This,pSectionList) (This)->lpVtbl->Initialize(This,pSectionList)
1597 #endif /*COBJMACROS*/
1598 
1599 #undef  INTERFACE
1600 #define INTERFACE IDVB_NIT
1601 #ifdef __GNUC__
1602 #warning COM interfaces layout in this header has not been verified.
1603 #warning COM interfaces with incorrect layout may not work at all.
1604 __MINGW_BROKEN_INTERFACE(INTERFACE)
1605 #endif
DECLARE_INTERFACE_(IDVB_NIT,IUnknown)1606 DECLARE_INTERFACE_(IDVB_NIT,IUnknown)
1607 {
1608     BEGIN_INTERFACE
1609 
1610     /* IUnknown methods */
1611     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1612     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1613     STDMETHOD_(ULONG, Release)(THIS) PURE;
1614 
1615     /* IDVB_NIT methods */
1616     STDMETHOD_(HRESULT,ConvertNextToCurrent)(THIS) PURE;
1617     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ DWORD *pdwVal) PURE;
1618     STDMETHOD_(HRESULT,GetCountOfTableDescriptors)(THIS_ DWORD *pdwVal) PURE;
1619     STDMETHOD_(HRESULT,GetNetworkId)(THIS_ WORD *pwVal) PURE;
1620     STDMETHOD_(HRESULT,GetNextTable)(THIS_ IDVB_NIT **ppNIT) PURE;
1621     STDMETHOD_(HRESULT,GetRecordCountOfDescriptors)(THIS_ DWORD dwRecordIndex,DWORD *pdwVal) PURE;
1622     STDMETHOD_(HRESULT,GetRecordDescriptorByIndex)(THIS_ DWORD dwRecordIndex,DWORD dwIndex,IGenericDescriptor **ppDescriptor) PURE;
1623     STDMETHOD_(HRESULT,GetRecordDescriptorByTag)(THIS_ DWORD dwRecordIndex,BYTE bTag,DWORD *pdwCookie,IGenericDescriptor **ppDescriptor) PURE;
1624     STDMETHOD_(HRESULT,GetRecordOriginalNetworkId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
1625     STDMETHOD_(HRESULT,GetRecordTransportStreamId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
1626     STDMETHOD_(HRESULT,GetTableDescriptorByIndex)(THIS_ DWORD dwIndex,IGenericDescriptor **ppDescriptor) PURE;
1627     STDMETHOD_(HRESULT,GetTableDescriptorByTag)(THIS_ BYTE bTag,DWORD *pdwCookie,IGenericDescriptor **ppDescriptor) PURE;
1628     STDMETHOD_(HRESULT,GetVersionHash)(THIS_ BYTE *pbVal) PURE;
1629     STDMETHOD_(HRESULT,GetVersionNumber)(THIS_ BYTE *pbVal) PURE;
1630     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList,IMpeg2Data *pMPEGData) PURE;
1631     STDMETHOD_(HRESULT,RegisterForNextTable)(THIS_ HANDLE hNextTableAvailable) PURE;
1632     STDMETHOD_(HRESULT,RegisterForWhenCurrent)(THIS_ HANDLE hNextTableIsCurrent) PURE;
1633 
1634     END_INTERFACE
1635 };
1636 #ifdef COBJMACROS
1637 #define IDVB_NIT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1638 #define IDVB_NIT_AddRef(This) (This)->lpVtbl->AddRef(This)
1639 #define IDVB_NIT_Release(This) (This)->lpVtbl->Release(This)
1640 #define IDVB_NIT_ConvertNextToCurrent() (This)->lpVtbl->ConvertNextToCurrent(This)
1641 #define IDVB_NIT_GetCountOfRecords(This,pdwVal) (This)->lpVtbl->GetCountOfRecords(This,pdwVal)
1642 #define IDVB_NIT_GetCountOfTableDescriptors(This,pdwVal) (This)->lpVtbl->GetCountOfTableDescriptors(This,pdwVal)
1643 #define IDVB_NIT_GetNetworkId(This,pwVal) (This)->lpVtbl->GetNetworkId(This,pwVal)
1644 #define IDVB_NIT_GetNextTable(This,ppNIT) (This)->lpVtbl->GetNextTable(This,ppNIT)
1645 #define IDVB_NIT_GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal) (This)->lpVtbl->GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal)
1646 #define IDVB_NIT_GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor)
1647 #define IDVB_NIT_GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor)
1648 #define IDVB_NIT_GetRecordOriginalNetworkId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordOriginalNetworkId(This,dwRecordIndex,pwVal)
1649 #define IDVB_NIT_GetRecordTransportStreamId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordTransportStreamId(This,dwRecordIndex,pwVal)
1650 #define IDVB_NIT_GetTableDescriptorByIndex(This,dwIndex,ppDescriptor) (This)->lpVtbl->GetTableDescriptorByIndex(This,dwIndex,ppDescriptor)
1651 #define IDVB_NIT_GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor) (This)->lpVtbl->GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor)
1652 #define IDVB_NIT_GetVersionHash(This,pbVal) (This)->lpVtbl->GetVersionHash(This,pbVal)
1653 #define IDVB_NIT_GetVersionNumber(This,pbVal) (This)->lpVtbl->GetVersionNumber(This,pbVal)
1654 #define IDVB_NIT_Initialize(This,pSectionList,pMPEGData) (This)->lpVtbl->Initialize(This,pSectionList,pMPEGData)
1655 #define IDVB_NIT_RegisterForNextTable(This,hNextTableAvailable) (This)->lpVtbl->RegisterForNextTable(This,hNextTableAvailable)
1656 #define IDVB_NIT_RegisterForWhenCurrent(This,hNextTableIsCurrent) (This)->lpVtbl->RegisterForWhenCurrent(This,hNextTableIsCurrent)
1657 #endif /*COBJMACROS*/
1658 
1659 #undef  INTERFACE
1660 #define INTERFACE IDVB_SDT
1661 #ifdef __GNUC__
1662 #warning COM interfaces layout in this header has not been verified.
1663 #warning COM interfaces with incorrect layout may not work at all.
1664 __MINGW_BROKEN_INTERFACE(INTERFACE)
1665 #endif
DECLARE_INTERFACE_(IDVB_SDT,IUnknown)1666 DECLARE_INTERFACE_(IDVB_SDT,IUnknown)
1667 {
1668     BEGIN_INTERFACE
1669 
1670     /* IUnknown methods */
1671     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1672     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1673     STDMETHOD_(ULONG, Release)(THIS) PURE;
1674 
1675     /* IDVB_SDT methods */
1676     STDMETHOD_(HRESULT,ConvertNextToCurrent)(THIS) PURE;
1677     STDMETHOD_(HRESULT,GetCountOfRecords)(THIS_ DWORD *pdwVal) PURE;
1678     STDMETHOD_(HRESULT,GetNextTable)(THIS_ IDVB_SDT **ppSDT) PURE;
1679     STDMETHOD_(HRESULT,GetOriginalNetworkId)(THIS_ WORD *pwVal) PURE;
1680     STDMETHOD_(HRESULT,GetRecordCountOfDescriptors)(THIS_ DWORD dwRecordIndex,DWORD *pdwVal) PURE;
1681     STDMETHOD_(HRESULT,GetRecordDescriptorByIndex)(THIS_ DWORD dwRecordIndex,DWORD dwIndex,IGenericDescriptor **ppDescriptor) PURE;
1682     STDMETHOD_(HRESULT,GetRecordDescriptorByTag)(THIS_ DWORD dwRecordIndex,BYTE bTag,DWORD *pdwCookie,IGenericDescriptor **ppDescriptor) PURE;
1683     STDMETHOD_(HRESULT,GetRecordEITPresentFollowingFlag)(THIS_ DWORD dwRecordIndex,WINBOOL *pfVal) PURE;
1684     STDMETHOD_(HRESULT,GetRecordEITScheduleFlag)(THIS_ DWORD dwRecordIndex,WINBOOL *pfVal) PURE;
1685     STDMETHOD_(HRESULT,GetRecordFreeCAMode)(THIS_ DWORD dwRecordIndex,WINBOOL *pfVal) PURE;
1686     STDMETHOD_(HRESULT,GetRecordRunningStatus)(THIS_ DWORD dwRecordIndex,BYTE *pbVal) PURE;
1687     STDMETHOD_(HRESULT,GetRecordServiceId)(THIS_ DWORD dwRecordIndex,WORD *pwVal) PURE;
1688     STDMETHOD_(HRESULT,GetTransportStreamId)(THIS_ WORD *pwVal) PURE;
1689     STDMETHOD_(HRESULT,GetVersionHash)(THIS_ BYTE *pbVal) PURE;
1690     STDMETHOD_(HRESULT,GetVersionNumber)(THIS_ BYTE *pbVal) PURE;
1691     STDMETHOD_(HRESULT,Initialize)(THIS_ ISectionList *pSectionList,IMpeg2Data *pMPEGData) PURE;
1692     STDMETHOD_(HRESULT,RegisterForNextTable)(THIS_ HANDLE hNextTableAvailable) PURE;
1693     STDMETHOD_(HRESULT,RegisterForWhenCurrent)(THIS_ HANDLE hNextTableIsCurrent) PURE;
1694 
1695     END_INTERFACE
1696 };
1697 #ifdef COBJMACROS
1698 #define IDVB_SDT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1699 #define IDVB_SDT_AddRef(This) (This)->lpVtbl->AddRef(This)
1700 #define IDVB_SDT_Release(This) (This)->lpVtbl->Release(This)
1701 #define IDVB_SDT_ConvertNextToCurrent() (This)->lpVtbl->ConvertNextToCurrent(This)
1702 #define IDVB_SDT_GetCountOfRecords(This,pdwVal) (This)->lpVtbl->GetCountOfRecords(This,pdwVal)
1703 #define IDVB_SDT_GetNextTable(This,ppSDT) (This)->lpVtbl->GetNextTable(This,ppSDT)
1704 #define IDVB_SDT_GetOriginalNetworkId(This,pwVal) (This)->lpVtbl->GetOriginalNetworkId(This,pwVal)
1705 #define IDVB_SDT_GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal) (This)->lpVtbl->GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal)
1706 #define IDVB_SDT_GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByIndex(This,dwRecordIndex,dwIndex,ppDescriptor)
1707 #define IDVB_SDT_GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor) (This)->lpVtbl->GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor)
1708 #define IDVB_SDT_GetRecordEITPresentFollowingFlag(This,dwRecordIndex,pfVal) (This)->lpVtbl->GetRecordEITPresentFollowingFlag(This,dwRecordIndex,pfVal)
1709 #define IDVB_SDT_GetRecordEITScheduleFlag(This,dwRecordIndex,pfVal) (This)->lpVtbl->GetRecordEITScheduleFlag(This,dwRecordIndex,pfVal)
1710 #define IDVB_SDT_GetRecordFreeCAMode(This,dwRecordIndex,pfVal) (This)->lpVtbl->GetRecordFreeCAMode(This,dwRecordIndex,pfVal)
1711 #define IDVB_SDT_GetRecordRunningStatus(This,dwRecordIndex,pbVal) (This)->lpVtbl->GetRecordRunningStatus(This,dwRecordIndex,pbVal)
1712 #define IDVB_SDT_GetRecordServiceId(This,dwRecordIndex,pwVal) (This)->lpVtbl->GetRecordServiceId(This,dwRecordIndex,pwVal)
1713 #define IDVB_SDT_GetTransportStreamId(This,pwVal) (This)->lpVtbl->GetTransportStreamId(This,pwVal)
1714 #define IDVB_SDT_GetVersionHash(This,pbVal) (This)->lpVtbl->GetVersionHash(This,pbVal)
1715 #define IDVB_SDT_GetVersionNumber(This,pbVal) (This)->lpVtbl->GetVersionNumber(This,pbVal)
1716 #define IDVB_SDT_Initialize(This,pSectionList,pMPEGData) (This)->lpVtbl->Initialize(This,pSectionList,pMPEGData)
1717 #define IDVB_SDT_RegisterForNextTable(This,hNextTableAvailable) (This)->lpVtbl->RegisterForNextTable(This,hNextTableAvailable)
1718 #define IDVB_SDT_RegisterForWhenCurrent(This,hNextTableIsCurrent) (This)->lpVtbl->RegisterForWhenCurrent(This,hNextTableIsCurrent)
1719 #endif /*COBJMACROS*/
1720 
1721 #endif /*__DVBSIPARSER_H__*/
1722