Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1072 lines
29 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0357 */
  4. /* Compiler settings for mpeg2data.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef __mpeg2data_h__
  23. #define __mpeg2data_h__
  24. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  25. #pragma once
  26. #endif
  27. /* Forward Declarations */
  28. #ifndef __IMpeg2Data_FWD_DEFINED__
  29. #define __IMpeg2Data_FWD_DEFINED__
  30. typedef interface IMpeg2Data IMpeg2Data;
  31. #endif /* __IMpeg2Data_FWD_DEFINED__ */
  32. #ifndef __ISectionList_FWD_DEFINED__
  33. #define __ISectionList_FWD_DEFINED__
  34. typedef interface ISectionList ISectionList;
  35. #endif /* __ISectionList_FWD_DEFINED__ */
  36. #ifndef __IMpeg2Stream_FWD_DEFINED__
  37. #define __IMpeg2Stream_FWD_DEFINED__
  38. typedef interface IMpeg2Stream IMpeg2Stream;
  39. #endif /* __IMpeg2Stream_FWD_DEFINED__ */
  40. #ifndef __SectionList_FWD_DEFINED__
  41. #define __SectionList_FWD_DEFINED__
  42. #ifdef __cplusplus
  43. typedef class SectionList SectionList;
  44. #else
  45. typedef struct SectionList SectionList;
  46. #endif /* __cplusplus */
  47. #endif /* __SectionList_FWD_DEFINED__ */
  48. #ifndef __Mpeg2Stream_FWD_DEFINED__
  49. #define __Mpeg2Stream_FWD_DEFINED__
  50. #ifdef __cplusplus
  51. typedef class Mpeg2Stream Mpeg2Stream;
  52. #else
  53. typedef struct Mpeg2Stream Mpeg2Stream;
  54. #endif /* __cplusplus */
  55. #endif /* __Mpeg2Stream_FWD_DEFINED__ */
  56. #ifndef __Mpeg2Data_FWD_DEFINED__
  57. #define __Mpeg2Data_FWD_DEFINED__
  58. #ifdef __cplusplus
  59. typedef class Mpeg2Data Mpeg2Data;
  60. #else
  61. typedef struct Mpeg2Data Mpeg2Data;
  62. #endif /* __cplusplus */
  63. #endif /* __Mpeg2Data_FWD_DEFINED__ */
  64. /* header files for imported files */
  65. #include "oaidl.h"
  66. #include "ocidl.h"
  67. #include "bdaiface.h"
  68. #ifdef __cplusplus
  69. extern "C"{
  70. #endif
  71. void * __RPC_USER MIDL_user_allocate(size_t);
  72. void __RPC_USER MIDL_user_free( void * );
  73. /* interface __MIDL_itf_mpeg2data_0000 */
  74. /* [local] */
  75. #pragma pack(push)
  76. #pragma pack(1)
  77. #define MPEG_PAT_PID 0x0000
  78. #define MPEG_PAT_TID 0x00
  79. #define MPEG_CAT_PID 0x0001
  80. #define MPEG_CAT_TID 0x01
  81. #define MPEG_PMT_TID 0x02
  82. #define MPEG_TSDT_PID 0x0002
  83. #define MPEG_TSDT_TID 0x03
  84. #define ATSC_MGT_PID 0x1FFB
  85. #define ATSC_MGT_TID 0xC7
  86. #define ATSC_VCT_PID 0x1FFB
  87. #define ATSC_VCT_TERR_TID 0xC8
  88. #define ATSC_VCT_CABL_TID 0xC9
  89. #define ATSC_RRT_PID 0x1FFB
  90. #define ATSC_RRT_TID 0xCA
  91. #define ATSC_EIT_TID 0xCB
  92. #define ATSC_ETT_TID 0xCC
  93. #define ATSC_STT_PID 0x1FFB
  94. #define ATSC_STT_TID 0xCD
  95. #define ATSC_PIT_TID 0xD0
  96. #define DVB_NIT_PID 0x0010
  97. #define DVB_NIT_ACTUAL_TID 0x40
  98. #define DVB_NIT_OTHER_TID 0x41
  99. #define DVB_SDT_PID 0x0011
  100. #define DVB_SDT_ACTUAL_TID 0x42
  101. #define DVB_SDT_OTHER_TID 0x46
  102. #define DVB_BAT_PID 0x0011
  103. #define DVB_BAT_TID 0x4A
  104. #define DVB_EIT_PID 0x0012
  105. #define DVB_EIT_ACTUAL_TID 0x4E
  106. #define DVB_EIT_OTHER_TID 0x4F
  107. #define DVB_RST_PID 0x0013
  108. #define DVB_RST_TID 0x71
  109. #define DVB_TDT_PID 0x0014
  110. #define DVB_TDT_TID 0x70
  111. #define DVB_ST_PID_16 0x0010
  112. #define DVB_ST_PID_17 0x0011
  113. #define DVB_ST_PID_18 0x0012
  114. #define DVB_ST_PID_19 0x0013
  115. #define DVB_ST_PID_20 0x0014
  116. #define DVB_ST_TID 0x72
  117. #define DVB_TOT_PID 0x0014
  118. #define DVB_TOT_TID 0x73
  119. #define DVB_DIT_PID 0x001E
  120. #define DVB_DIT_TID 0x7E
  121. #define DVB_SIT_PID 0x001F
  122. #define DVB_SIT_TID 0x7F
  123. #define ISDB_DCT_PID 0x0017
  124. #define ISDB_DCT_TID 0xC0
  125. #define ISDB_LIT_PID 0x0020
  126. #define ISDB_LIT_TID 0xD0
  127. #define ISDB_ERT_PID 0x0021
  128. #define ISDB_ERT_TID 0xD1
  129. #define ISDB_ITT_TID 0xD2
  130. #define ISDB_DLT_TID 0xC1
  131. #define ISDB_PCAT_PID 0x0022
  132. #define ISDB_PCAT_TID 0xC2
  133. #define ISDB_SDTT_PID 0x0023
  134. #define ISDB_SDTT_TID 0xC3
  135. class DECLSPEC_UUID("DBAF6C1B-B6A4-4898-AE65-204F0D9509A1") Mpeg2DataLib;
  136. extern RPC_IF_HANDLE __MIDL_itf_mpeg2data_0000_v0_0_c_ifspec;
  137. extern RPC_IF_HANDLE __MIDL_itf_mpeg2data_0000_v0_0_s_ifspec;
  138. #ifndef __Mpeg2DataLib_LIBRARY_DEFINED__
  139. #define __Mpeg2DataLib_LIBRARY_DEFINED__
  140. /* library Mpeg2DataLib */
  141. /* [version][uuid] */
  142. #pragma once
  143. #pragma pack(push)
  144. #pragma pack(1)
  145. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0001
  146. {
  147. WORD Bits;
  148. } PID_BITS_MIDL;
  149. typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0002
  150. {
  151. WORD Bits;
  152. } MPEG_HEADER_BITS_MIDL;
  153. typedef /* [public][public][public][public][public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0003
  154. {
  155. BYTE Bits;
  156. } MPEG_HEADER_VERSION_BITS_MIDL;
  157. #pragma pack(pop)
  158. typedef WORD PID;
  159. typedef BYTE TID;
  160. typedef UINT ClientKey;
  161. typedef /* [public] */
  162. enum __MIDL___MIDL_itf_mpeg2data_0000_0004
  163. { MPEG_SECTION_IS_NEXT = 0,
  164. MPEG_SECTION_IS_CURRENT = 1
  165. } MPEG_CURRENT_NEXT_BIT;
  166. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0005
  167. {
  168. WORD wTidExt;
  169. WORD wCount;
  170. } TID_EXTENSION;
  171. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0005 *PTID_EXTENSION;
  172. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0006
  173. {
  174. TID TableId;
  175. union
  176. {
  177. MPEG_HEADER_BITS_MIDL S;
  178. WORD W;
  179. } Header;
  180. BYTE SectionData[ 1 ];
  181. } SECTION;
  182. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0006 *PSECTION;
  183. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0008
  184. {
  185. TID TableId;
  186. union
  187. {
  188. MPEG_HEADER_BITS_MIDL S;
  189. WORD W;
  190. } Header;
  191. WORD TableIdExtension;
  192. union
  193. {
  194. MPEG_HEADER_VERSION_BITS_MIDL S;
  195. BYTE B;
  196. } Version;
  197. BYTE SectionNumber;
  198. BYTE LastSectionNumber;
  199. BYTE RemainingData[ 1 ];
  200. } LONG_SECTION;
  201. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0008 *PLONG_SECTION;
  202. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0011
  203. {
  204. TID TableId;
  205. union
  206. {
  207. MPEG_HEADER_BITS_MIDL S;
  208. WORD W;
  209. } Header;
  210. WORD TableIdExtension;
  211. union
  212. {
  213. MPEG_HEADER_VERSION_BITS_MIDL S;
  214. BYTE B;
  215. } Version;
  216. BYTE SectionNumber;
  217. BYTE LastSectionNumber;
  218. BYTE ProtocolDiscriminator;
  219. BYTE DsmccType;
  220. WORD MessageId;
  221. DWORD TransactionId;
  222. BYTE Reserved;
  223. BYTE AdaptationLength;
  224. WORD MessageLength;
  225. BYTE RemainingData[ 1 ];
  226. } DSMCC_SECTION;
  227. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0011 *PDSMCC_SECTION;
  228. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0014
  229. {
  230. DWORD dwLength;
  231. PSECTION pSection;
  232. } MPEG_RQST_PACKET;
  233. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0014 *PMPEG_RQST_PACKET;
  234. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0015
  235. {
  236. WORD wPacketCount;
  237. PMPEG_RQST_PACKET PacketList[ 1 ];
  238. } MPEG_PACKET_LIST;
  239. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0015 *PMPEG_PACKET_LIST;
  240. typedef /* [public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0016
  241. {
  242. BOOL fSpecifyProtocol;
  243. BYTE Protocol;
  244. BOOL fSpecifyType;
  245. BYTE Type;
  246. BOOL fSpecifyMessageId;
  247. WORD MessageId;
  248. BOOL fSpecifyTransactionId;
  249. BOOL fUseTrxIdMessageIdMask;
  250. DWORD TransactionId;
  251. BOOL fSpecifyModuleVersion;
  252. BYTE ModuleVersion;
  253. BOOL fSpecifyBlockNumber;
  254. WORD BlockNumber;
  255. BOOL fGetModuleCall;
  256. WORD NumberOfBlocksInModule;
  257. } DSMCC_FILTER_OPTIONS;
  258. typedef /* [public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0017
  259. {
  260. BOOL fSpecifyEtmId;
  261. DWORD EtmId;
  262. } ATSC_FILTER_OPTIONS;
  263. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0018
  264. {
  265. BYTE bVersionNumber;
  266. WORD wFilterSize;
  267. BOOL fUseRawFilteringBits;
  268. BYTE Filter[ 16 ];
  269. BYTE Mask[ 16 ];
  270. BOOL fSpecifyTableIdExtension;
  271. WORD TableIdExtension;
  272. BOOL fSpecifyVersion;
  273. BYTE Version;
  274. BOOL fSpecifySectionNumber;
  275. BYTE SectionNumber;
  276. BOOL fSpecifyCurrentNext;
  277. BOOL fNext;
  278. BOOL fSpecifyDsmccOptions;
  279. DSMCC_FILTER_OPTIONS Dsmcc;
  280. BOOL fSpecifyAtscOptions;
  281. ATSC_FILTER_OPTIONS Atsc;
  282. } MPEG2_FILTER;
  283. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0018 *PMPEG2_FILTER;
  284. #define MPEG2_FILTER_VERSION_1_SIZE 124
  285. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0019
  286. {
  287. HRESULT hr;
  288. DWORD dwDataBufferSize;
  289. DWORD dwSizeOfDataRead;
  290. BYTE *pDataBuffer;
  291. } MPEG_STREAM_BUFFER;
  292. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0019 *PMPEG_STREAM_BUFFER;
  293. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0020
  294. {
  295. BYTE Hours;
  296. BYTE Minutes;
  297. BYTE Seconds;
  298. } MPEG_TIME;
  299. typedef MPEG_TIME MPEG_DURATION;
  300. typedef /* [public][public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0021
  301. {
  302. BYTE Date;
  303. BYTE Month;
  304. WORD Year;
  305. } MPEG_DATE;
  306. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0022
  307. {
  308. MPEG_DATE D;
  309. MPEG_TIME T;
  310. } MPEG_DATE_AND_TIME;
  311. typedef /* [public][public][public][public][public][public][public] */
  312. enum __MIDL___MIDL_itf_mpeg2data_0000_0023
  313. { MPEG_CONTEXT_BCS_DEMUX = 0,
  314. MPEG_CONTEXT_WINSOCK = MPEG_CONTEXT_BCS_DEMUX + 1
  315. } MPEG_CONTEXT_TYPE;
  316. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0024
  317. {
  318. DWORD AVMGraphId;
  319. } MPEG_BCS_DEMUX;
  320. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0025
  321. {
  322. DWORD AVMGraphId;
  323. } MPEG_WINSOCK;
  324. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0026
  325. {
  326. MPEG_CONTEXT_TYPE Type;
  327. union
  328. {
  329. MPEG_BCS_DEMUX Demux;
  330. MPEG_WINSOCK Winsock;
  331. } U;
  332. } MPEG_CONTEXT;
  333. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0026 *PMPEG_CONTEXT;
  334. typedef /* [public][public][public][public][public] */
  335. enum __MIDL___MIDL_itf_mpeg2data_0000_0028
  336. { MPEG_RQST_UNKNOWN = 0,
  337. MPEG_RQST_GET_SECTION = MPEG_RQST_UNKNOWN + 1,
  338. MPEG_RQST_GET_SECTION_ASYNC = MPEG_RQST_GET_SECTION + 1,
  339. MPEG_RQST_GET_TABLE = MPEG_RQST_GET_SECTION_ASYNC + 1,
  340. MPEG_RQST_GET_TABLE_ASYNC = MPEG_RQST_GET_TABLE + 1,
  341. MPEG_RQST_GET_SECTIONS_STREAM = MPEG_RQST_GET_TABLE_ASYNC + 1,
  342. MPEG_RQST_GET_PES_STREAM = MPEG_RQST_GET_SECTIONS_STREAM + 1,
  343. MPEG_RQST_GET_TS_STREAM = MPEG_RQST_GET_PES_STREAM + 1,
  344. MPEG_RQST_START_MPE_STREAM = MPEG_RQST_GET_TS_STREAM + 1
  345. } MPEG_REQUEST_TYPE;
  346. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0029
  347. {
  348. MPEG_REQUEST_TYPE Type;
  349. MPEG_CONTEXT Context;
  350. PID Pid;
  351. TID TableId;
  352. MPEG2_FILTER Filter;
  353. DWORD Flags;
  354. } MPEG_SERVICE_REQUEST;
  355. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0029 *PMPEG_SERVICE_REQUEST;
  356. typedef /* [public] */ struct __MIDL___MIDL_itf_mpeg2data_0000_0030
  357. {
  358. DWORD IPAddress;
  359. WORD Port;
  360. } MPEG_SERVICE_RESPONSE;
  361. typedef struct __MIDL___MIDL_itf_mpeg2data_0000_0030 *PMPEG_SERVICE_RESPONSE;
  362. typedef struct _DSMCC_ELEMENT
  363. {
  364. PID pid;
  365. BYTE bComponentTag;
  366. DWORD dwCarouselId;
  367. DWORD dwTransactionId;
  368. struct _DSMCC_ELEMENT *pNext;
  369. } DSMCC_ELEMENT;
  370. typedef struct _DSMCC_ELEMENT *PDSMCC_ELEMENT;
  371. typedef struct _MPE_ELEMENT
  372. {
  373. PID pid;
  374. BYTE bComponentTag;
  375. struct _MPE_ELEMENT *pNext;
  376. } MPE_ELEMENT;
  377. typedef struct _MPE_ELEMENT *PMPE_ELEMENT;
  378. typedef struct _MPEG_STREAM_FILTER
  379. {
  380. WORD wPidValue;
  381. DWORD dwFilterSize;
  382. BOOL fCrcEnabled;
  383. BYTE rgchFilter[ 16 ];
  384. BYTE rgchMask[ 16 ];
  385. } MPEG_STREAM_FILTER;
  386. EXTERN_C const IID LIBID_Mpeg2DataLib;
  387. #ifndef __IMpeg2Data_INTERFACE_DEFINED__
  388. #define __IMpeg2Data_INTERFACE_DEFINED__
  389. /* interface IMpeg2Data */
  390. /* [unique][uuid][object] */
  391. EXTERN_C const IID IID_IMpeg2Data;
  392. #if defined(__cplusplus) && !defined(CINTERFACE)
  393. MIDL_INTERFACE("9B396D40-F380-4e3c-A514-1A82BF6EBFE6")
  394. IMpeg2Data : public IUnknown
  395. {
  396. public:
  397. virtual HRESULT STDMETHODCALLTYPE GetSection(
  398. /* [in] */ PID pid,
  399. /* [in] */ TID tid,
  400. /* [in] */ PMPEG2_FILTER pFilter,
  401. /* [in] */ DWORD dwTimeout,
  402. /* [out] */ ISectionList **ppSectionList) = 0;
  403. virtual HRESULT STDMETHODCALLTYPE GetTable(
  404. /* [in] */ PID pid,
  405. /* [in] */ TID tid,
  406. /* [in] */ PMPEG2_FILTER pFilter,
  407. /* [in] */ DWORD dwTimeout,
  408. /* [out] */ ISectionList **ppSectionList) = 0;
  409. virtual HRESULT STDMETHODCALLTYPE GetStreamOfSections(
  410. /* [in] */ PID pid,
  411. /* [in] */ TID tid,
  412. /* [in] */ PMPEG2_FILTER pFilter,
  413. /* [in] */ HANDLE hDataReadyEvent,
  414. /* [out] */ IMpeg2Stream **ppMpegStream) = 0;
  415. };
  416. #else /* C style interface */
  417. typedef struct IMpeg2DataVtbl
  418. {
  419. BEGIN_INTERFACE
  420. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  421. IMpeg2Data * This,
  422. /* [in] */ REFIID riid,
  423. /* [iid_is][out] */ void **ppvObject);
  424. ULONG ( STDMETHODCALLTYPE *AddRef )(
  425. IMpeg2Data * This);
  426. ULONG ( STDMETHODCALLTYPE *Release )(
  427. IMpeg2Data * This);
  428. HRESULT ( STDMETHODCALLTYPE *GetSection )(
  429. IMpeg2Data * This,
  430. /* [in] */ PID pid,
  431. /* [in] */ TID tid,
  432. /* [in] */ PMPEG2_FILTER pFilter,
  433. /* [in] */ DWORD dwTimeout,
  434. /* [out] */ ISectionList **ppSectionList);
  435. HRESULT ( STDMETHODCALLTYPE *GetTable )(
  436. IMpeg2Data * This,
  437. /* [in] */ PID pid,
  438. /* [in] */ TID tid,
  439. /* [in] */ PMPEG2_FILTER pFilter,
  440. /* [in] */ DWORD dwTimeout,
  441. /* [out] */ ISectionList **ppSectionList);
  442. HRESULT ( STDMETHODCALLTYPE *GetStreamOfSections )(
  443. IMpeg2Data * This,
  444. /* [in] */ PID pid,
  445. /* [in] */ TID tid,
  446. /* [in] */ PMPEG2_FILTER pFilter,
  447. /* [in] */ HANDLE hDataReadyEvent,
  448. /* [out] */ IMpeg2Stream **ppMpegStream);
  449. END_INTERFACE
  450. } IMpeg2DataVtbl;
  451. interface IMpeg2Data
  452. {
  453. CONST_VTBL struct IMpeg2DataVtbl *lpVtbl;
  454. };
  455. #ifdef COBJMACROS
  456. #define IMpeg2Data_QueryInterface(This,riid,ppvObject) \
  457. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  458. #define IMpeg2Data_AddRef(This) \
  459. (This)->lpVtbl -> AddRef(This)
  460. #define IMpeg2Data_Release(This) \
  461. (This)->lpVtbl -> Release(This)
  462. #define IMpeg2Data_GetSection(This,pid,tid,pFilter,dwTimeout,ppSectionList) \
  463. (This)->lpVtbl -> GetSection(This,pid,tid,pFilter,dwTimeout,ppSectionList)
  464. #define IMpeg2Data_GetTable(This,pid,tid,pFilter,dwTimeout,ppSectionList) \
  465. (This)->lpVtbl -> GetTable(This,pid,tid,pFilter,dwTimeout,ppSectionList)
  466. #define IMpeg2Data_GetStreamOfSections(This,pid,tid,pFilter,hDataReadyEvent,ppMpegStream) \
  467. (This)->lpVtbl -> GetStreamOfSections(This,pid,tid,pFilter,hDataReadyEvent,ppMpegStream)
  468. #endif /* COBJMACROS */
  469. #endif /* C style interface */
  470. HRESULT STDMETHODCALLTYPE IMpeg2Data_GetSection_Proxy(
  471. IMpeg2Data * This,
  472. /* [in] */ PID pid,
  473. /* [in] */ TID tid,
  474. /* [in] */ PMPEG2_FILTER pFilter,
  475. /* [in] */ DWORD dwTimeout,
  476. /* [out] */ ISectionList **ppSectionList);
  477. void __RPC_STUB IMpeg2Data_GetSection_Stub(
  478. IRpcStubBuffer *This,
  479. IRpcChannelBuffer *_pRpcChannelBuffer,
  480. PRPC_MESSAGE _pRpcMessage,
  481. DWORD *_pdwStubPhase);
  482. HRESULT STDMETHODCALLTYPE IMpeg2Data_GetTable_Proxy(
  483. IMpeg2Data * This,
  484. /* [in] */ PID pid,
  485. /* [in] */ TID tid,
  486. /* [in] */ PMPEG2_FILTER pFilter,
  487. /* [in] */ DWORD dwTimeout,
  488. /* [out] */ ISectionList **ppSectionList);
  489. void __RPC_STUB IMpeg2Data_GetTable_Stub(
  490. IRpcStubBuffer *This,
  491. IRpcChannelBuffer *_pRpcChannelBuffer,
  492. PRPC_MESSAGE _pRpcMessage,
  493. DWORD *_pdwStubPhase);
  494. HRESULT STDMETHODCALLTYPE IMpeg2Data_GetStreamOfSections_Proxy(
  495. IMpeg2Data * This,
  496. /* [in] */ PID pid,
  497. /* [in] */ TID tid,
  498. /* [in] */ PMPEG2_FILTER pFilter,
  499. /* [in] */ HANDLE hDataReadyEvent,
  500. /* [out] */ IMpeg2Stream **ppMpegStream);
  501. void __RPC_STUB IMpeg2Data_GetStreamOfSections_Stub(
  502. IRpcStubBuffer *This,
  503. IRpcChannelBuffer *_pRpcChannelBuffer,
  504. PRPC_MESSAGE _pRpcMessage,
  505. DWORD *_pdwStubPhase);
  506. #endif /* __IMpeg2Data_INTERFACE_DEFINED__ */
  507. #ifndef __ISectionList_INTERFACE_DEFINED__
  508. #define __ISectionList_INTERFACE_DEFINED__
  509. /* interface ISectionList */
  510. /* [unique][uuid][object] */
  511. EXTERN_C const IID IID_ISectionList;
  512. #if defined(__cplusplus) && !defined(CINTERFACE)
  513. MIDL_INTERFACE("AFEC1EB5-2A64-46c6-BF4B-AE3CCB6AFDB0")
  514. ISectionList : public IUnknown
  515. {
  516. public:
  517. virtual HRESULT STDMETHODCALLTYPE Initialize(
  518. /* [in] */ MPEG_REQUEST_TYPE requestType,
  519. /* [in] */ IMpeg2Data *pMpeg2Data,
  520. /* [in] */ PMPEG_CONTEXT pContext,
  521. /* [in] */ PID pid,
  522. /* [in] */ TID tid,
  523. /* [in] */ PMPEG2_FILTER pFilter,
  524. /* [in] */ DWORD timeout,
  525. /* [in] */ HANDLE hDoneEvent) = 0;
  526. virtual HRESULT STDMETHODCALLTYPE InitializeWithRawSections(
  527. /* [in] */ PMPEG_PACKET_LIST pmplSections) = 0;
  528. virtual HRESULT STDMETHODCALLTYPE CancelPendingRequest( void) = 0;
  529. virtual HRESULT STDMETHODCALLTYPE GetNumberOfSections(
  530. /* [out] */ WORD *pCount) = 0;
  531. virtual HRESULT STDMETHODCALLTYPE GetSectionData(
  532. /* [in] */ WORD sectionNumber,
  533. /* [out] */ DWORD *pdwRawPacketLength,
  534. /* [out] */ PSECTION *ppSection) = 0;
  535. virtual HRESULT STDMETHODCALLTYPE GetProgramIdentifier(
  536. PID *pPid) = 0;
  537. virtual HRESULT STDMETHODCALLTYPE GetTableIdentifier(
  538. TID *pTableId) = 0;
  539. };
  540. #else /* C style interface */
  541. typedef struct ISectionListVtbl
  542. {
  543. BEGIN_INTERFACE
  544. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  545. ISectionList * This,
  546. /* [in] */ REFIID riid,
  547. /* [iid_is][out] */ void **ppvObject);
  548. ULONG ( STDMETHODCALLTYPE *AddRef )(
  549. ISectionList * This);
  550. ULONG ( STDMETHODCALLTYPE *Release )(
  551. ISectionList * This);
  552. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  553. ISectionList * This,
  554. /* [in] */ MPEG_REQUEST_TYPE requestType,
  555. /* [in] */ IMpeg2Data *pMpeg2Data,
  556. /* [in] */ PMPEG_CONTEXT pContext,
  557. /* [in] */ PID pid,
  558. /* [in] */ TID tid,
  559. /* [in] */ PMPEG2_FILTER pFilter,
  560. /* [in] */ DWORD timeout,
  561. /* [in] */ HANDLE hDoneEvent);
  562. HRESULT ( STDMETHODCALLTYPE *InitializeWithRawSections )(
  563. ISectionList * This,
  564. /* [in] */ PMPEG_PACKET_LIST pmplSections);
  565. HRESULT ( STDMETHODCALLTYPE *CancelPendingRequest )(
  566. ISectionList * This);
  567. HRESULT ( STDMETHODCALLTYPE *GetNumberOfSections )(
  568. ISectionList * This,
  569. /* [out] */ WORD *pCount);
  570. HRESULT ( STDMETHODCALLTYPE *GetSectionData )(
  571. ISectionList * This,
  572. /* [in] */ WORD sectionNumber,
  573. /* [out] */ DWORD *pdwRawPacketLength,
  574. /* [out] */ PSECTION *ppSection);
  575. HRESULT ( STDMETHODCALLTYPE *GetProgramIdentifier )(
  576. ISectionList * This,
  577. PID *pPid);
  578. HRESULT ( STDMETHODCALLTYPE *GetTableIdentifier )(
  579. ISectionList * This,
  580. TID *pTableId);
  581. END_INTERFACE
  582. } ISectionListVtbl;
  583. interface ISectionList
  584. {
  585. CONST_VTBL struct ISectionListVtbl *lpVtbl;
  586. };
  587. #ifdef COBJMACROS
  588. #define ISectionList_QueryInterface(This,riid,ppvObject) \
  589. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  590. #define ISectionList_AddRef(This) \
  591. (This)->lpVtbl -> AddRef(This)
  592. #define ISectionList_Release(This) \
  593. (This)->lpVtbl -> Release(This)
  594. #define ISectionList_Initialize(This,requestType,pMpeg2Data,pContext,pid,tid,pFilter,timeout,hDoneEvent) \
  595. (This)->lpVtbl -> Initialize(This,requestType,pMpeg2Data,pContext,pid,tid,pFilter,timeout,hDoneEvent)
  596. #define ISectionList_InitializeWithRawSections(This,pmplSections) \
  597. (This)->lpVtbl -> InitializeWithRawSections(This,pmplSections)
  598. #define ISectionList_CancelPendingRequest(This) \
  599. (This)->lpVtbl -> CancelPendingRequest(This)
  600. #define ISectionList_GetNumberOfSections(This,pCount) \
  601. (This)->lpVtbl -> GetNumberOfSections(This,pCount)
  602. #define ISectionList_GetSectionData(This,sectionNumber,pdwRawPacketLength,ppSection) \
  603. (This)->lpVtbl -> GetSectionData(This,sectionNumber,pdwRawPacketLength,ppSection)
  604. #define ISectionList_GetProgramIdentifier(This,pPid) \
  605. (This)->lpVtbl -> GetProgramIdentifier(This,pPid)
  606. #define ISectionList_GetTableIdentifier(This,pTableId) \
  607. (This)->lpVtbl -> GetTableIdentifier(This,pTableId)
  608. #endif /* COBJMACROS */
  609. #endif /* C style interface */
  610. HRESULT STDMETHODCALLTYPE ISectionList_Initialize_Proxy(
  611. ISectionList * This,
  612. /* [in] */ MPEG_REQUEST_TYPE requestType,
  613. /* [in] */ IMpeg2Data *pMpeg2Data,
  614. /* [in] */ PMPEG_CONTEXT pContext,
  615. /* [in] */ PID pid,
  616. /* [in] */ TID tid,
  617. /* [in] */ PMPEG2_FILTER pFilter,
  618. /* [in] */ DWORD timeout,
  619. /* [in] */ HANDLE hDoneEvent);
  620. void __RPC_STUB ISectionList_Initialize_Stub(
  621. IRpcStubBuffer *This,
  622. IRpcChannelBuffer *_pRpcChannelBuffer,
  623. PRPC_MESSAGE _pRpcMessage,
  624. DWORD *_pdwStubPhase);
  625. HRESULT STDMETHODCALLTYPE ISectionList_InitializeWithRawSections_Proxy(
  626. ISectionList * This,
  627. /* [in] */ PMPEG_PACKET_LIST pmplSections);
  628. void __RPC_STUB ISectionList_InitializeWithRawSections_Stub(
  629. IRpcStubBuffer *This,
  630. IRpcChannelBuffer *_pRpcChannelBuffer,
  631. PRPC_MESSAGE _pRpcMessage,
  632. DWORD *_pdwStubPhase);
  633. HRESULT STDMETHODCALLTYPE ISectionList_CancelPendingRequest_Proxy(
  634. ISectionList * This);
  635. void __RPC_STUB ISectionList_CancelPendingRequest_Stub(
  636. IRpcStubBuffer *This,
  637. IRpcChannelBuffer *_pRpcChannelBuffer,
  638. PRPC_MESSAGE _pRpcMessage,
  639. DWORD *_pdwStubPhase);
  640. HRESULT STDMETHODCALLTYPE ISectionList_GetNumberOfSections_Proxy(
  641. ISectionList * This,
  642. /* [out] */ WORD *pCount);
  643. void __RPC_STUB ISectionList_GetNumberOfSections_Stub(
  644. IRpcStubBuffer *This,
  645. IRpcChannelBuffer *_pRpcChannelBuffer,
  646. PRPC_MESSAGE _pRpcMessage,
  647. DWORD *_pdwStubPhase);
  648. HRESULT STDMETHODCALLTYPE ISectionList_GetSectionData_Proxy(
  649. ISectionList * This,
  650. /* [in] */ WORD sectionNumber,
  651. /* [out] */ DWORD *pdwRawPacketLength,
  652. /* [out] */ PSECTION *ppSection);
  653. void __RPC_STUB ISectionList_GetSectionData_Stub(
  654. IRpcStubBuffer *This,
  655. IRpcChannelBuffer *_pRpcChannelBuffer,
  656. PRPC_MESSAGE _pRpcMessage,
  657. DWORD *_pdwStubPhase);
  658. HRESULT STDMETHODCALLTYPE ISectionList_GetProgramIdentifier_Proxy(
  659. ISectionList * This,
  660. PID *pPid);
  661. void __RPC_STUB ISectionList_GetProgramIdentifier_Stub(
  662. IRpcStubBuffer *This,
  663. IRpcChannelBuffer *_pRpcChannelBuffer,
  664. PRPC_MESSAGE _pRpcMessage,
  665. DWORD *_pdwStubPhase);
  666. HRESULT STDMETHODCALLTYPE ISectionList_GetTableIdentifier_Proxy(
  667. ISectionList * This,
  668. TID *pTableId);
  669. void __RPC_STUB ISectionList_GetTableIdentifier_Stub(
  670. IRpcStubBuffer *This,
  671. IRpcChannelBuffer *_pRpcChannelBuffer,
  672. PRPC_MESSAGE _pRpcMessage,
  673. DWORD *_pdwStubPhase);
  674. #endif /* __ISectionList_INTERFACE_DEFINED__ */
  675. #ifndef __IMpeg2Stream_INTERFACE_DEFINED__
  676. #define __IMpeg2Stream_INTERFACE_DEFINED__
  677. /* interface IMpeg2Stream */
  678. /* [unique][uuid][object] */
  679. EXTERN_C const IID IID_IMpeg2Stream;
  680. #if defined(__cplusplus) && !defined(CINTERFACE)
  681. MIDL_INTERFACE("400CC286-32A0-4ce4-9041-39571125A635")
  682. IMpeg2Stream : public IUnknown
  683. {
  684. public:
  685. virtual HRESULT STDMETHODCALLTYPE Initialize(
  686. /* [in] */ MPEG_REQUEST_TYPE requestType,
  687. /* [in] */ IMpeg2Data *pMpeg2Data,
  688. /* [in] */ PMPEG_CONTEXT pContext,
  689. /* [in] */ PID pid,
  690. /* [in] */ TID tid,
  691. /* [in] */ PMPEG2_FILTER pFilter,
  692. /* [in] */ HANDLE hDataReadyEvent) = 0;
  693. virtual HRESULT STDMETHODCALLTYPE SupplyDataBuffer(
  694. /* [in] */ PMPEG_STREAM_BUFFER pStreamBuffer) = 0;
  695. };
  696. #else /* C style interface */
  697. typedef struct IMpeg2StreamVtbl
  698. {
  699. BEGIN_INTERFACE
  700. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  701. IMpeg2Stream * This,
  702. /* [in] */ REFIID riid,
  703. /* [iid_is][out] */ void **ppvObject);
  704. ULONG ( STDMETHODCALLTYPE *AddRef )(
  705. IMpeg2Stream * This);
  706. ULONG ( STDMETHODCALLTYPE *Release )(
  707. IMpeg2Stream * This);
  708. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  709. IMpeg2Stream * This,
  710. /* [in] */ MPEG_REQUEST_TYPE requestType,
  711. /* [in] */ IMpeg2Data *pMpeg2Data,
  712. /* [in] */ PMPEG_CONTEXT pContext,
  713. /* [in] */ PID pid,
  714. /* [in] */ TID tid,
  715. /* [in] */ PMPEG2_FILTER pFilter,
  716. /* [in] */ HANDLE hDataReadyEvent);
  717. HRESULT ( STDMETHODCALLTYPE *SupplyDataBuffer )(
  718. IMpeg2Stream * This,
  719. /* [in] */ PMPEG_STREAM_BUFFER pStreamBuffer);
  720. END_INTERFACE
  721. } IMpeg2StreamVtbl;
  722. interface IMpeg2Stream
  723. {
  724. CONST_VTBL struct IMpeg2StreamVtbl *lpVtbl;
  725. };
  726. #ifdef COBJMACROS
  727. #define IMpeg2Stream_QueryInterface(This,riid,ppvObject) \
  728. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  729. #define IMpeg2Stream_AddRef(This) \
  730. (This)->lpVtbl -> AddRef(This)
  731. #define IMpeg2Stream_Release(This) \
  732. (This)->lpVtbl -> Release(This)
  733. #define IMpeg2Stream_Initialize(This,requestType,pMpeg2Data,pContext,pid,tid,pFilter,hDataReadyEvent) \
  734. (This)->lpVtbl -> Initialize(This,requestType,pMpeg2Data,pContext,pid,tid,pFilter,hDataReadyEvent)
  735. #define IMpeg2Stream_SupplyDataBuffer(This,pStreamBuffer) \
  736. (This)->lpVtbl -> SupplyDataBuffer(This,pStreamBuffer)
  737. #endif /* COBJMACROS */
  738. #endif /* C style interface */
  739. HRESULT STDMETHODCALLTYPE IMpeg2Stream_Initialize_Proxy(
  740. IMpeg2Stream * This,
  741. /* [in] */ MPEG_REQUEST_TYPE requestType,
  742. /* [in] */ IMpeg2Data *pMpeg2Data,
  743. /* [in] */ PMPEG_CONTEXT pContext,
  744. /* [in] */ PID pid,
  745. /* [in] */ TID tid,
  746. /* [in] */ PMPEG2_FILTER pFilter,
  747. /* [in] */ HANDLE hDataReadyEvent);
  748. void __RPC_STUB IMpeg2Stream_Initialize_Stub(
  749. IRpcStubBuffer *This,
  750. IRpcChannelBuffer *_pRpcChannelBuffer,
  751. PRPC_MESSAGE _pRpcMessage,
  752. DWORD *_pdwStubPhase);
  753. HRESULT STDMETHODCALLTYPE IMpeg2Stream_SupplyDataBuffer_Proxy(
  754. IMpeg2Stream * This,
  755. /* [in] */ PMPEG_STREAM_BUFFER pStreamBuffer);
  756. void __RPC_STUB IMpeg2Stream_SupplyDataBuffer_Stub(
  757. IRpcStubBuffer *This,
  758. IRpcChannelBuffer *_pRpcChannelBuffer,
  759. PRPC_MESSAGE _pRpcMessage,
  760. DWORD *_pdwStubPhase);
  761. #endif /* __IMpeg2Stream_INTERFACE_DEFINED__ */
  762. EXTERN_C const CLSID CLSID_SectionList;
  763. #ifdef __cplusplus
  764. class DECLSPEC_UUID("73DA5D04-4347-45d3-A9DC-FAE9DDBE558D")
  765. SectionList;
  766. #endif
  767. EXTERN_C const CLSID CLSID_Mpeg2Stream;
  768. #ifdef __cplusplus
  769. class DECLSPEC_UUID("F91D96C7-8509-4d0b-AB26-A0DD10904BB7")
  770. Mpeg2Stream;
  771. #endif
  772. EXTERN_C const CLSID CLSID_Mpeg2Data;
  773. #ifdef __cplusplus
  774. class DECLSPEC_UUID("C666E115-BB62-4027-A113-82D643FE2D99")
  775. Mpeg2Data;
  776. #endif
  777. #endif /* __Mpeg2DataLib_LIBRARY_DEFINED__ */
  778. /* interface __MIDL_itf_mpeg2data_0432 */
  779. /* [local] */
  780. #pragma pack(pop)
  781. extern RPC_IF_HANDLE __MIDL_itf_mpeg2data_0432_v0_0_c_ifspec;
  782. extern RPC_IF_HANDLE __MIDL_itf_mpeg2data_0432_v0_0_s_ifspec;
  783. /* Additional Prototypes for ALL interfaces */
  784. /* end of Additional Prototypes */
  785. #ifdef __cplusplus
  786. }
  787. #endif
  788. #endif