Home | History | Annotate | Download | only in include
      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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
   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
   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
   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
   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
   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
   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
   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
   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
   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
   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
   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
   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
   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
   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
   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
   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