master
   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__
  14typedef struct IDVB_EIT2 IDVB_EIT2;
  15#endif
  16
  17#ifndef __IDVB_EIT_FWD_DEFINED__
  18#define __IDVB_EIT_FWD_DEFINED__
  19typedef struct IDVB_EIT IDVB_EIT;
  20#endif
  21
  22#ifndef __IDvbComponentDescriptor_FWD_DEFINED__
  23#define __IDvbComponentDescriptor_FWD_DEFINED__
  24typedef struct IDvbComponentDescriptor IDvbComponentDescriptor;
  25#endif
  26
  27#ifndef __IDvbContentDescriptor_FWD_DEFINED__
  28#define __IDvbContentDescriptor_FWD_DEFINED__
  29typedef struct IDvbContentDescriptor IDvbContentDescriptor;
  30#endif
  31
  32#ifndef __IDvbContentIdentifierDescriptor_FWD_DEFINED__
  33#define __IDvbContentIdentifierDescriptor_FWD_DEFINED__
  34typedef struct IDvbContentIdentifierDescriptor IDvbContentIdentifierDescriptor;
  35#endif
  36
  37#ifndef __IDvbDataBroadcastDescriptor_FWD_DEFINED__
  38#define __IDvbDataBroadcastDescriptor_FWD_DEFINED__
  39typedef struct IDvbDataBroadcastDescriptor IDvbDataBroadcastDescriptor;
  40#endif
  41
  42#ifndef __IDvbDataBroadcastIDDescriptor_FWD_DEFINED__
  43#define __IDvbDataBroadcastIDDescriptor_FWD_DEFINED__
  44typedef struct IDvbDataBroadcastIDDescriptor IDvbDataBroadcastIDDescriptor;
  45#endif
  46
  47#ifndef __IDvbDefaultAuthorityDescriptor_FWD_DEFINED__
  48#define __IDvbDefaultAuthorityDescriptor_FWD_DEFINED__
  49typedef struct IDvbDefaultAuthorityDescriptor IDvbDefaultAuthorityDescriptor;
  50#endif
  51
  52#ifndef __IDvbExtendedEventDescriptor_FWD_DEFINED__
  53#define __IDvbExtendedEventDescriptor_FWD_DEFINED__
  54typedef struct IDvbExtendedEventDescriptor IDvbExtendedEventDescriptor;
  55#endif
  56
  57#ifndef __IDvbLogicalChannelDescriptor_FWD_DEFINED__
  58#define __IDvbLogicalChannelDescriptor_FWD_DEFINED__
  59typedef struct IDvbLogicalChannelDescriptor IDvbLogicalChannelDescriptor;
  60#endif
  61
  62#ifndef __IDvbHDSimulcastLogicalChannelDescriptor_FWD_DEFINED__
  63#define __IDvbHDSimulcastLogicalChannelDescriptor_FWD_DEFINED__
  64typedef struct IDvbHDSimulcastLogicalChannelDescriptor IDvbHDSimulcastLogicalChannelDescriptor;
  65#endif
  66
  67#ifndef __IDvbLinkageDescriptor_FWD_DEFINED__
  68#define __IDvbLinkageDescriptor_FWD_DEFINED__
  69typedef struct IDvbLinkageDescriptor IDvbLinkageDescriptor;
  70#endif
  71
  72#ifndef __IDvbLogicalChannel2Descriptor_FWD_DEFINED__
  73#define __IDvbLogicalChannel2Descriptor_FWD_DEFINED__
  74typedef struct IDvbLogicalChannel2Descriptor IDvbLogicalChannel2Descriptor;
  75#endif
  76
  77#ifndef __IDvbMultilingualServiceNameDescriptor_FWD_DEFINED__
  78#define __IDvbMultilingualServiceNameDescriptor_FWD_DEFINED__
  79typedef struct IDvbMultilingualServiceNameDescriptor IDvbMultilingualServiceNameDescriptor;
  80#endif
  81
  82#ifndef __IDvbNetworkNameDescriptor_FWD_DEFINED__
  83#define __IDvbNetworkNameDescriptor_FWD_DEFINED__
  84typedef struct IDvbNetworkNameDescriptor IDvbNetworkNameDescriptor;
  85#endif
  86
  87#ifndef __IDvbParentalRatingDescriptor_FWD_DEFINED__
  88#define __IDvbParentalRatingDescriptor_FWD_DEFINED__
  89typedef struct IDvbParentalRatingDescriptor IDvbParentalRatingDescriptor;
  90#endif
  91
  92#ifndef __IDvbPrivateDataSpecifierDescriptor_FWD_DEFINED__
  93#define __IDvbPrivateDataSpecifierDescriptor_FWD_DEFINED__
  94typedef struct IDvbPrivateDataSpecifierDescriptor IDvbPrivateDataSpecifierDescriptor;
  95#endif
  96
  97#ifndef __IDvbServiceDescriptor_FWD_DEFINED__
  98#define __IDvbServiceDescriptor_FWD_DEFINED__
  99typedef struct IDvbServiceDescriptor IDvbServiceDescriptor;
 100#endif
 101
 102#ifndef __IDvbServiceDescriptor2_FWD_DEFINED__
 103#define __IDvbServiceDescriptor2_FWD_DEFINED__
 104typedef struct IDvbServiceDescriptor2 IDvbServiceDescriptor2;
 105#endif
 106
 107#ifndef __IDvbLogicalChannelDescriptor2_FWD_DEFINED__
 108#define __IDvbLogicalChannelDescriptor2_FWD_DEFINED__
 109typedef struct IDvbLogicalChannelDescriptor2 IDvbLogicalChannelDescriptor2;
 110#endif
 111
 112#ifndef __IDvbShortEventDescriptor_FWD_DEFINED__
 113#define __IDvbShortEventDescriptor_FWD_DEFINED__
 114typedef struct IDvbShortEventDescriptor IDvbShortEventDescriptor;
 115#endif
 116
 117#ifndef __IDVB_RST_FWD_DEFINED__
 118#define __IDVB_RST_FWD_DEFINED__
 119typedef struct IDVB_RST IDVB_RST;
 120#endif
 121
 122#ifndef __IDVB_SIT_FWD_DEFINED__
 123#define __IDVB_SIT_FWD_DEFINED__
 124typedef struct IDVB_SIT IDVB_SIT;
 125#endif
 126
 127#ifndef __IDVB_ST_FWD_DEFINED__
 128#define __IDVB_ST_FWD_DEFINED__
 129typedef struct IDVB_ST IDVB_ST;
 130#endif
 131
 132#ifndef __IDVB_TDT_FWD_DEFINED__
 133#define __IDVB_TDT_FWD_DEFINED__
 134typedef struct IDVB_TDT IDVB_TDT;
 135#endif
 136
 137#ifndef __IDVB_TOT_FWD_DEFINED__
 138#define __IDVB_TOT_FWD_DEFINED__
 139typedef struct IDVB_TOT IDVB_TOT;
 140#endif
 141
 142#ifndef __IDvbSiParser2_FWD_DEFINED__
 143#define __IDvbSiParser2_FWD_DEFINED__
 144typedef struct IDvbSiParser2 IDvbSiParser2;
 145#endif
 146
 147#ifndef __IDvbSubtitlingDescriptor_FWD_DEFINED__
 148#define __IDvbSubtitlingDescriptor_FWD_DEFINED__
 149typedef struct IDvbSubtitlingDescriptor IDvbSubtitlingDescriptor;
 150#endif
 151
 152#ifndef __IDvbServiceListDescriptor_FWD_DEFINED__
 153#define __IDvbServiceListDescriptor_FWD_DEFINED__
 154typedef struct IDvbServiceListDescriptor IDvbServiceListDescriptor;
 155#endif
 156
 157#ifndef __IDvbTeletextDescriptor_FWD_DEFINED__
 158#define __IDvbTeletextDescriptor_FWD_DEFINED__
 159typedef struct IDvbTeletextDescriptor IDvbTeletextDescriptor;
 160#endif
 161
 162#ifndef __IDVB_BAT_FWD_DEFINED__
 163#define __IDVB_BAT_FWD_DEFINED__
 164typedef struct IDVB_BAT IDVB_BAT;
 165#endif
 166
 167#ifndef __IDVB_DIT_FWD_DEFINED__
 168#define __IDVB_DIT_FWD_DEFINED__
 169typedef struct IDVB_DIT IDVB_DIT;
 170#endif
 171
 172#ifndef __IDVB_NIT_FWD_DEFINED__
 173#define __IDVB_NIT_FWD_DEFINED__
 174typedef struct IDVB_NIT IDVB_NIT;
 175#endif
 176
 177#ifndef __IDVB_SDT_FWD_DEFINED__
 178#define __IDVB_SDT_FWD_DEFINED__
 179typedef 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 */
 183typedef 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
 197DECLARE_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
 265DECLARE_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
 339DECLARE_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
 379DECLARE_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
 415DECLARE_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
 449DECLARE_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
 493DECLARE_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
 527DECLARE_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
 559DECLARE_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
 607DECLARE_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
 643DECLARE_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
 681DECLARE_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
 723DECLARE_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
 763DECLARE_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
 819DECLARE_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
 857DECLARE_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
 891DECLARE_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
 925DECLARE_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
 957DECLARE_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
1000DECLARE_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
1048DECLARE_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
1091DECLARE_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
1147DECLARE_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
1187DECLARE_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
1243DECLARE_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
1275DECLARE_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
1305DECLARE_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
1342DECLARE_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
1402DECLARE_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
1442DECLARE_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
1478DECLARE_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
1518DECLARE_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
1576DECLARE_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
1606DECLARE_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
1666DECLARE_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__*/