dvbsiparser.h 94 KB

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