/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 7.00.0555 */ /* Compiler settings for mpeg2psiparser.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ /* @@MIDL_FILE_HEADING( ) */ #pragma warning( disable: 4049 ) /* more than 64k source lines */ /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 500 #endif /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCSAL_H_VERSION__ #define __REQUIRED_RPCSAL_H_VERSION__ 100 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ #ifndef COM_NO_WINDOWS_H #include "windows.h" #include "ole2.h" #endif /*COM_NO_WINDOWS_H*/ #ifndef __mpeg2psiparser_h__ #define __mpeg2psiparser_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* Forward Declarations */ #ifndef __IGenericDescriptor_FWD_DEFINED__ #define __IGenericDescriptor_FWD_DEFINED__ typedef interface IGenericDescriptor IGenericDescriptor; #endif /* __IGenericDescriptor_FWD_DEFINED__ */ #ifndef __IGenericDescriptor2_FWD_DEFINED__ #define __IGenericDescriptor2_FWD_DEFINED__ typedef interface IGenericDescriptor2 IGenericDescriptor2; #endif /* __IGenericDescriptor2_FWD_DEFINED__ */ #ifndef __IPAT_FWD_DEFINED__ #define __IPAT_FWD_DEFINED__ typedef interface IPAT IPAT; #endif /* __IPAT_FWD_DEFINED__ */ #ifndef __ICAT_FWD_DEFINED__ #define __ICAT_FWD_DEFINED__ typedef interface ICAT ICAT; #endif /* __ICAT_FWD_DEFINED__ */ #ifndef __IPMT_FWD_DEFINED__ #define __IPMT_FWD_DEFINED__ typedef interface IPMT IPMT; #endif /* __IPMT_FWD_DEFINED__ */ #ifndef __ITSDT_FWD_DEFINED__ #define __ITSDT_FWD_DEFINED__ typedef interface ITSDT ITSDT; #endif /* __ITSDT_FWD_DEFINED__ */ #ifndef __IPSITables_FWD_DEFINED__ #define __IPSITables_FWD_DEFINED__ typedef interface IPSITables IPSITables; #endif /* __IPSITables_FWD_DEFINED__ */ /* header files for imported files */ #include "oaidl.h" #include "ocidl.h" #include "mpeg2structs.h" #include "mpeg2data.h" #ifdef __cplusplus extern "C"{ #endif /* interface __MIDL_itf_mpeg2psiparser_0000_0000 */ /* [local] */ extern RPC_IF_HANDLE __MIDL_itf_mpeg2psiparser_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mpeg2psiparser_0000_0000_v0_0_s_ifspec; #ifndef __IGenericDescriptor_INTERFACE_DEFINED__ #define __IGenericDescriptor_INTERFACE_DEFINED__ /* interface IGenericDescriptor */ /* [unique][uuid][local][object] */ EXTERN_C const IID IID_IGenericDescriptor; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6A5918F8-A77A-4f61-AED0-5702BDCDA3E6") IGenericDescriptor : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ BYTE *pbDesc, /* [in] */ INT bCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetTag( /* [out] */ BYTE *pbVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetLength( /* [out] */ BYTE *pbVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetBody( /* [out] */ BYTE **ppbVal) = 0; }; #else /* C style interface */ typedef struct IGenericDescriptorVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IGenericDescriptor * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IGenericDescriptor * This); ULONG ( STDMETHODCALLTYPE *Release )( IGenericDescriptor * This); HRESULT ( STDMETHODCALLTYPE *Initialize )( IGenericDescriptor * This, /* [in] */ BYTE *pbDesc, /* [in] */ INT bCount); HRESULT ( STDMETHODCALLTYPE *GetTag )( IGenericDescriptor * This, /* [out] */ BYTE *pbVal); HRESULT ( STDMETHODCALLTYPE *GetLength )( IGenericDescriptor * This, /* [out] */ BYTE *pbVal); HRESULT ( STDMETHODCALLTYPE *GetBody )( IGenericDescriptor * This, /* [out] */ BYTE **ppbVal); END_INTERFACE } IGenericDescriptorVtbl; interface IGenericDescriptor { CONST_VTBL struct IGenericDescriptorVtbl *lpVtbl; }; #ifdef COBJMACROS #define IGenericDescriptor_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IGenericDescriptor_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IGenericDescriptor_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IGenericDescriptor_Initialize(This,pbDesc,bCount) \ ( (This)->lpVtbl -> Initialize(This,pbDesc,bCount) ) #define IGenericDescriptor_GetTag(This,pbVal) \ ( (This)->lpVtbl -> GetTag(This,pbVal) ) #define IGenericDescriptor_GetLength(This,pbVal) \ ( (This)->lpVtbl -> GetLength(This,pbVal) ) #define IGenericDescriptor_GetBody(This,ppbVal) \ ( (This)->lpVtbl -> GetBody(This,ppbVal) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IGenericDescriptor_INTERFACE_DEFINED__ */ #ifndef __IGenericDescriptor2_INTERFACE_DEFINED__ #define __IGenericDescriptor2_INTERFACE_DEFINED__ /* interface IGenericDescriptor2 */ /* [unique][uuid][local][object] */ EXTERN_C const IID IID_IGenericDescriptor2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("BF02FB7E-9792-4e10-A68D-033A2CC246A5") IGenericDescriptor2 : public IGenericDescriptor { public: virtual HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ BYTE *pbDesc, /* [in] */ WORD wCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetLength( /* [out] */ WORD *pwVal) = 0; }; #else /* C style interface */ typedef struct IGenericDescriptor2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IGenericDescriptor2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IGenericDescriptor2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IGenericDescriptor2 * This); HRESULT ( STDMETHODCALLTYPE *Initialize )( IGenericDescriptor2 * This, /* [in] */ BYTE *pbDesc, /* [in] */ INT bCount); HRESULT ( STDMETHODCALLTYPE *GetTag )( IGenericDescriptor2 * This, /* [out] */ BYTE *pbVal); HRESULT ( STDMETHODCALLTYPE *GetLength )( IGenericDescriptor2 * This, /* [out] */ BYTE *pbVal); HRESULT ( STDMETHODCALLTYPE *GetBody )( IGenericDescriptor2 * This, /* [out] */ BYTE **ppbVal); HRESULT ( STDMETHODCALLTYPE *Initialize )( IGenericDescriptor2 * This, /* [in] */ BYTE *pbDesc, /* [in] */ WORD wCount); HRESULT ( STDMETHODCALLTYPE *GetLength )( IGenericDescriptor2 * This, /* [out] */ WORD *pwVal); END_INTERFACE } IGenericDescriptor2Vtbl; interface IGenericDescriptor2 { CONST_VTBL struct IGenericDescriptor2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IGenericDescriptor2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IGenericDescriptor2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IGenericDescriptor2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IGenericDescriptor2_Initialize(This,pbDesc,bCount) \ ( (This)->lpVtbl -> Initialize(This,pbDesc,bCount) ) #define IGenericDescriptor2_GetTag(This,pbVal) \ ( (This)->lpVtbl -> GetTag(This,pbVal) ) #define IGenericDescriptor2_GetLength(This,pbVal) \ ( (This)->lpVtbl -> GetLength(This,pbVal) ) #define IGenericDescriptor2_GetBody(This,ppbVal) \ ( (This)->lpVtbl -> GetBody(This,ppbVal) ) #define IGenericDescriptor2_Initialize(This,pbDesc,wCount) \ ( (This)->lpVtbl -> Initialize(This,pbDesc,wCount) ) #define IGenericDescriptor2_GetLength(This,pwVal) \ ( (This)->lpVtbl -> GetLength(This,pwVal) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IGenericDescriptor2_INTERFACE_DEFINED__ */ #ifndef __IPAT_INTERFACE_DEFINED__ #define __IPAT_INTERFACE_DEFINED__ /* interface IPAT */ /* [unique][uuid][local][object] */ typedef /* [public] */ struct __MIDL_IPAT_0001 { WORD wProgramNumber; WORD wProgramMapPID; } ProgramElement; EXTERN_C const IID IID_IPAT; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6623B511-4B5F-43c3-9A01-E8FF84188060") IPAT : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ ISectionList *pSectionList, /* [in] */ IMpeg2Data *pMPEGData) = 0; virtual HRESULT STDMETHODCALLTYPE GetTransportStreamId( /* [out] */ WORD *pwVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetVersionNumber( /* [out] */ BYTE *pbVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetCountOfRecords( /* [out] */ DWORD *pdwVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetRecordProgramNumber( /* [in] */ DWORD dwIndex, /* [out] */ WORD *pwVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetRecordProgramMapPid( /* [in] */ DWORD dwIndex, /* [out] */ WORD *pwVal) = 0; virtual HRESULT STDMETHODCALLTYPE FindRecordProgramMapPid( /* [in] */ WORD wProgramNumber, /* [out] */ WORD *pwVal) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterForNextTable( /* [in] */ HANDLE hNextTableAvailable) = 0; virtual HRESULT STDMETHODCALLTYPE GetNextTable( /* [out] */ IPAT **ppPAT) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterForWhenCurrent( /* [in] */ HANDLE hNextTableIsCurrent) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertNextToCurrent( void) = 0; }; #else /* C style interface */ typedef struct IPATVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IPAT * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IPAT * This); ULONG ( STDMETHODCALLTYPE *Release )( IPAT * This); HRESULT ( STDMETHODCALLTYPE *Initialize )( IPAT * This, /* [in] */ ISectionList *pSectionList, /* [in] */ IMpeg2Data *pMPEGData); HRESULT ( STDMETHODCALLTYPE *GetTransportStreamId )( IPAT * This, /* [out] */ WORD *pwVal); HRESULT ( STDMETHODCALLTYPE *GetVersionNumber )( IPAT * This, /* [out] */ BYTE *pbVal); HRESULT ( STDMETHODCALLTYPE *GetCountOfRecords )( IPAT * This, /* [out] */ DWORD *pdwVal); HRESULT ( STDMETHODCALLTYPE *GetRecordProgramNumber )( IPAT * This, /* [in] */ DWORD dwIndex, /* [out] */ WORD *pwVal); HRESULT ( STDMETHODCALLTYPE *GetRecordProgramMapPid )( IPAT * This, /* [in] */ DWORD dwIndex, /* [out] */ WORD *pwVal); HRESULT ( STDMETHODCALLTYPE *FindRecordProgramMapPid )( IPAT * This, /* [in] */ WORD wProgramNumber, /* [out] */ WORD *pwVal); HRESULT ( STDMETHODCALLTYPE *RegisterForNextTable )( IPAT * This, /* [in] */ HANDLE hNextTableAvailable); HRESULT ( STDMETHODCALLTYPE *GetNextTable )( IPAT * This, /* [out] */ IPAT **ppPAT); HRESULT ( STDMETHODCALLTYPE *RegisterForWhenCurrent )( IPAT * This, /* [in] */ HANDLE hNextTableIsCurrent); HRESULT ( STDMETHODCALLTYPE *ConvertNextToCurrent )( IPAT * This); END_INTERFACE } IPATVtbl; interface IPAT { CONST_VTBL struct IPATVtbl *lpVtbl; }; #ifdef COBJMACROS #define IPAT_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IPAT_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IPAT_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IPAT_Initialize(This,pSectionList,pMPEGData) \ ( (This)->lpVtbl -> Initialize(This,pSectionList,pMPEGData) ) #define IPAT_GetTransportStreamId(This,pwVal) \ ( (This)->lpVtbl -> GetTransportStreamId(This,pwVal) ) #define IPAT_GetVersionNumber(This,pbVal) \ ( (This)->lpVtbl -> GetVersionNumber(This,pbVal) ) #define IPAT_GetCountOfRecords(This,pdwVal) \ ( (This)->lpVtbl -> GetCountOfRecords(This,pdwVal) ) #define IPAT_GetRecordProgramNumber(This,dwIndex,pwVal) \ ( (This)->lpVtbl -> GetRecordProgramNumber(This,dwIndex,pwVal) ) #define IPAT_GetRecordProgramMapPid(This,dwIndex,pwVal) \ ( (This)->lpVtbl -> GetRecordProgramMapPid(This,dwIndex,pwVal) ) #define IPAT_FindRecordProgramMapPid(This,wProgramNumber,pwVal) \ ( (This)->lpVtbl -> FindRecordProgramMapPid(This,wProgramNumber,pwVal) ) #define IPAT_RegisterForNextTable(This,hNextTableAvailable) \ ( (This)->lpVtbl -> RegisterForNextTable(This,hNextTableAvailable) ) #define IPAT_GetNextTable(This,ppPAT) \ ( (This)->lpVtbl -> GetNextTable(This,ppPAT) ) #define IPAT_RegisterForWhenCurrent(This,hNextTableIsCurrent) \ ( (This)->lpVtbl -> RegisterForWhenCurrent(This,hNextTableIsCurrent) ) #define IPAT_ConvertNextToCurrent(This) \ ( (This)->lpVtbl -> ConvertNextToCurrent(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IPAT_INTERFACE_DEFINED__ */ #ifndef __ICAT_INTERFACE_DEFINED__ #define __ICAT_INTERFACE_DEFINED__ /* interface ICAT */ /* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICAT; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7C6995FB-2A31-4bd7-953E-B1AD7FB7D31C") ICAT : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ ISectionList *pSectionList, /* [in] */ IMpeg2Data *pMPEGData) = 0; virtual HRESULT STDMETHODCALLTYPE GetVersionNumber( /* [out] */ BYTE *pbVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetCountOfTableDescriptors( /* [out] */ DWORD *pdwVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetTableDescriptorByIndex( /* [in] */ DWORD dwIndex, /* [out] */ IGenericDescriptor **ppDescriptor) = 0; virtual HRESULT STDMETHODCALLTYPE GetTableDescriptorByTag( /* [in] */ BYTE bTag, /* [out][in] */ DWORD *pdwCookie, /* [out] */ IGenericDescriptor **ppDescriptor) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterForNextTable( /* [in] */ HANDLE hNextTableAvailable) = 0; virtual HRESULT STDMETHODCALLTYPE GetNextTable( /* [in] */ DWORD dwTimeout, /* [out] */ ICAT **ppCAT) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterForWhenCurrent( /* [in] */ HANDLE hNextTableIsCurrent) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertNextToCurrent( void) = 0; }; #else /* C style interface */ typedef struct ICATVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICAT * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( ICAT * This); ULONG ( STDMETHODCALLTYPE *Release )( ICAT * This); HRESULT ( STDMETHODCALLTYPE *Initialize )( ICAT * This, /* [in] */ ISectionList *pSectionList, /* [in] */ IMpeg2Data *pMPEGData); HRESULT ( STDMETHODCALLTYPE *GetVersionNumber )( ICAT * This, /* [out] */ BYTE *pbVal); HRESULT ( STDMETHODCALLTYPE *GetCountOfTableDescriptors )( ICAT * This, /* [out] */ DWORD *pdwVal); HRESULT ( STDMETHODCALLTYPE *GetTableDescriptorByIndex )( ICAT * This, /* [in] */ DWORD dwIndex, /* [out] */ IGenericDescriptor **ppDescriptor); HRESULT ( STDMETHODCALLTYPE *GetTableDescriptorByTag )( ICAT * This, /* [in] */ BYTE bTag, /* [out][in] */ DWORD *pdwCookie, /* [out] */ IGenericDescriptor **ppDescriptor); HRESULT ( STDMETHODCALLTYPE *RegisterForNextTable )( ICAT * This, /* [in] */ HANDLE hNextTableAvailable); HRESULT ( STDMETHODCALLTYPE *GetNextTable )( ICAT * This, /* [in] */ DWORD dwTimeout, /* [out] */ ICAT **ppCAT); HRESULT ( STDMETHODCALLTYPE *RegisterForWhenCurrent )( ICAT * This, /* [in] */ HANDLE hNextTableIsCurrent); HRESULT ( STDMETHODCALLTYPE *ConvertNextToCurrent )( ICAT * This); END_INTERFACE } ICATVtbl; interface ICAT { CONST_VTBL struct ICATVtbl *lpVtbl; }; #ifdef COBJMACROS #define ICAT_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICAT_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define ICAT_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define ICAT_Initialize(This,pSectionList,pMPEGData) \ ( (This)->lpVtbl -> Initialize(This,pSectionList,pMPEGData) ) #define ICAT_GetVersionNumber(This,pbVal) \ ( (This)->lpVtbl -> GetVersionNumber(This,pbVal) ) #define ICAT_GetCountOfTableDescriptors(This,pdwVal) \ ( (This)->lpVtbl -> GetCountOfTableDescriptors(This,pdwVal) ) #define ICAT_GetTableDescriptorByIndex(This,dwIndex,ppDescriptor) \ ( (This)->lpVtbl -> GetTableDescriptorByIndex(This,dwIndex,ppDescriptor) ) #define ICAT_GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor) \ ( (This)->lpVtbl -> GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor) ) #define ICAT_RegisterForNextTable(This,hNextTableAvailable) \ ( (This)->lpVtbl -> RegisterForNextTable(This,hNextTableAvailable) ) #define ICAT_GetNextTable(This,dwTimeout,ppCAT) \ ( (This)->lpVtbl -> GetNextTable(This,dwTimeout,ppCAT) ) #define ICAT_RegisterForWhenCurrent(This,hNextTableIsCurrent) \ ( (This)->lpVtbl -> RegisterForWhenCurrent(This,hNextTableIsCurrent) ) #define ICAT_ConvertNextToCurrent(This) \ ( (This)->lpVtbl -> ConvertNextToCurrent(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __ICAT_INTERFACE_DEFINED__ */ #ifndef __IPMT_INTERFACE_DEFINED__ #define __IPMT_INTERFACE_DEFINED__ /* interface IPMT */ /* [unique][uuid][local][object] */ EXTERN_C const IID IID_IPMT; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("01F3B398-9527-4736-94DB-5195878E97A8") IPMT : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ ISectionList *pSectionList, /* [in] */ IMpeg2Data *pMPEGData) = 0; virtual HRESULT STDMETHODCALLTYPE GetProgramNumber( /* [out] */ WORD *pwVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetVersionNumber( /* [out] */ BYTE *pbVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetPcrPid( /* [out] */ PID *pPidVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetCountOfTableDescriptors( /* [out] */ DWORD *pdwVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetTableDescriptorByIndex( /* [in] */ DWORD dwIndex, /* [out] */ IGenericDescriptor **ppDescriptor) = 0; virtual HRESULT STDMETHODCALLTYPE GetTableDescriptorByTag( /* [in] */ BYTE bTag, /* [out][in] */ DWORD *pdwCookie, /* [out] */ IGenericDescriptor **ppDescriptor) = 0; virtual HRESULT STDMETHODCALLTYPE GetCountOfRecords( /* [out] */ WORD *pwVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetRecordStreamType( /* [in] */ DWORD dwRecordIndex, /* [out] */ BYTE *pbVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetRecordElementaryPid( /* [in] */ DWORD dwRecordIndex, /* [out] */ PID *pPidVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetRecordCountOfDescriptors( /* [in] */ DWORD dwRecordIndex, /* [out] */ DWORD *pdwVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetRecordDescriptorByIndex( /* [in] */ DWORD dwRecordIndex, /* [in] */ DWORD dwDescIndex, /* [out] */ IGenericDescriptor **ppDescriptor) = 0; virtual HRESULT STDMETHODCALLTYPE GetRecordDescriptorByTag( /* [in] */ DWORD dwRecordIndex, /* [in] */ BYTE bTag, /* [out][in] */ DWORD *pdwCookie, /* [out] */ IGenericDescriptor **ppDescriptor) = 0; virtual HRESULT STDMETHODCALLTYPE QueryServiceGatewayInfo( /* [out] */ DSMCC_ELEMENT **ppDSMCCList, /* [out] */ UINT *puiCount) = 0; virtual HRESULT STDMETHODCALLTYPE QueryMPEInfo( /* [out] */ MPE_ELEMENT **ppMPEList, /* [out] */ UINT *puiCount) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterForNextTable( /* [in] */ HANDLE hNextTableAvailable) = 0; virtual HRESULT STDMETHODCALLTYPE GetNextTable( /* [out] */ IPMT **ppPMT) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterForWhenCurrent( /* [in] */ HANDLE hNextTableIsCurrent) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertNextToCurrent( void) = 0; }; #else /* C style interface */ typedef struct IPMTVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IPMT * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IPMT * This); ULONG ( STDMETHODCALLTYPE *Release )( IPMT * This); HRESULT ( STDMETHODCALLTYPE *Initialize )( IPMT * This, /* [in] */ ISectionList *pSectionList, /* [in] */ IMpeg2Data *pMPEGData); HRESULT ( STDMETHODCALLTYPE *GetProgramNumber )( IPMT * This, /* [out] */ WORD *pwVal); HRESULT ( STDMETHODCALLTYPE *GetVersionNumber )( IPMT * This, /* [out] */ BYTE *pbVal); HRESULT ( STDMETHODCALLTYPE *GetPcrPid )( IPMT * This, /* [out] */ PID *pPidVal); HRESULT ( STDMETHODCALLTYPE *GetCountOfTableDescriptors )( IPMT * This, /* [out] */ DWORD *pdwVal); HRESULT ( STDMETHODCALLTYPE *GetTableDescriptorByIndex )( IPMT * This, /* [in] */ DWORD dwIndex, /* [out] */ IGenericDescriptor **ppDescriptor); HRESULT ( STDMETHODCALLTYPE *GetTableDescriptorByTag )( IPMT * This, /* [in] */ BYTE bTag, /* [out][in] */ DWORD *pdwCookie, /* [out] */ IGenericDescriptor **ppDescriptor); HRESULT ( STDMETHODCALLTYPE *GetCountOfRecords )( IPMT * This, /* [out] */ WORD *pwVal); HRESULT ( STDMETHODCALLTYPE *GetRecordStreamType )( IPMT * This, /* [in] */ DWORD dwRecordIndex, /* [out] */ BYTE *pbVal); HRESULT ( STDMETHODCALLTYPE *GetRecordElementaryPid )( IPMT * This, /* [in] */ DWORD dwRecordIndex, /* [out] */ PID *pPidVal); HRESULT ( STDMETHODCALLTYPE *GetRecordCountOfDescriptors )( IPMT * This, /* [in] */ DWORD dwRecordIndex, /* [out] */ DWORD *pdwVal); HRESULT ( STDMETHODCALLTYPE *GetRecordDescriptorByIndex )( IPMT * This, /* [in] */ DWORD dwRecordIndex, /* [in] */ DWORD dwDescIndex, /* [out] */ IGenericDescriptor **ppDescriptor); HRESULT ( STDMETHODCALLTYPE *GetRecordDescriptorByTag )( IPMT * This, /* [in] */ DWORD dwRecordIndex, /* [in] */ BYTE bTag, /* [out][in] */ DWORD *pdwCookie, /* [out] */ IGenericDescriptor **ppDescriptor); HRESULT ( STDMETHODCALLTYPE *QueryServiceGatewayInfo )( IPMT * This, /* [out] */ DSMCC_ELEMENT **ppDSMCCList, /* [out] */ UINT *puiCount); HRESULT ( STDMETHODCALLTYPE *QueryMPEInfo )( IPMT * This, /* [out] */ MPE_ELEMENT **ppMPEList, /* [out] */ UINT *puiCount); HRESULT ( STDMETHODCALLTYPE *RegisterForNextTable )( IPMT * This, /* [in] */ HANDLE hNextTableAvailable); HRESULT ( STDMETHODCALLTYPE *GetNextTable )( IPMT * This, /* [out] */ IPMT **ppPMT); HRESULT ( STDMETHODCALLTYPE *RegisterForWhenCurrent )( IPMT * This, /* [in] */ HANDLE hNextTableIsCurrent); HRESULT ( STDMETHODCALLTYPE *ConvertNextToCurrent )( IPMT * This); END_INTERFACE } IPMTVtbl; interface IPMT { CONST_VTBL struct IPMTVtbl *lpVtbl; }; #ifdef COBJMACROS #define IPMT_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IPMT_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IPMT_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IPMT_Initialize(This,pSectionList,pMPEGData) \ ( (This)->lpVtbl -> Initialize(This,pSectionList,pMPEGData) ) #define IPMT_GetProgramNumber(This,pwVal) \ ( (This)->lpVtbl -> GetProgramNumber(This,pwVal) ) #define IPMT_GetVersionNumber(This,pbVal) \ ( (This)->lpVtbl -> GetVersionNumber(This,pbVal) ) #define IPMT_GetPcrPid(This,pPidVal) \ ( (This)->lpVtbl -> GetPcrPid(This,pPidVal) ) #define IPMT_GetCountOfTableDescriptors(This,pdwVal) \ ( (This)->lpVtbl -> GetCountOfTableDescriptors(This,pdwVal) ) #define IPMT_GetTableDescriptorByIndex(This,dwIndex,ppDescriptor) \ ( (This)->lpVtbl -> GetTableDescriptorByIndex(This,dwIndex,ppDescriptor) ) #define IPMT_GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor) \ ( (This)->lpVtbl -> GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor) ) #define IPMT_GetCountOfRecords(This,pwVal) \ ( (This)->lpVtbl -> GetCountOfRecords(This,pwVal) ) #define IPMT_GetRecordStreamType(This,dwRecordIndex,pbVal) \ ( (This)->lpVtbl -> GetRecordStreamType(This,dwRecordIndex,pbVal) ) #define IPMT_GetRecordElementaryPid(This,dwRecordIndex,pPidVal) \ ( (This)->lpVtbl -> GetRecordElementaryPid(This,dwRecordIndex,pPidVal) ) #define IPMT_GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal) \ ( (This)->lpVtbl -> GetRecordCountOfDescriptors(This,dwRecordIndex,pdwVal) ) #define IPMT_GetRecordDescriptorByIndex(This,dwRecordIndex,dwDescIndex,ppDescriptor) \ ( (This)->lpVtbl -> GetRecordDescriptorByIndex(This,dwRecordIndex,dwDescIndex,ppDescriptor) ) #define IPMT_GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor) \ ( (This)->lpVtbl -> GetRecordDescriptorByTag(This,dwRecordIndex,bTag,pdwCookie,ppDescriptor) ) #define IPMT_QueryServiceGatewayInfo(This,ppDSMCCList,puiCount) \ ( (This)->lpVtbl -> QueryServiceGatewayInfo(This,ppDSMCCList,puiCount) ) #define IPMT_QueryMPEInfo(This,ppMPEList,puiCount) \ ( (This)->lpVtbl -> QueryMPEInfo(This,ppMPEList,puiCount) ) #define IPMT_RegisterForNextTable(This,hNextTableAvailable) \ ( (This)->lpVtbl -> RegisterForNextTable(This,hNextTableAvailable) ) #define IPMT_GetNextTable(This,ppPMT) \ ( (This)->lpVtbl -> GetNextTable(This,ppPMT) ) #define IPMT_RegisterForWhenCurrent(This,hNextTableIsCurrent) \ ( (This)->lpVtbl -> RegisterForWhenCurrent(This,hNextTableIsCurrent) ) #define IPMT_ConvertNextToCurrent(This) \ ( (This)->lpVtbl -> ConvertNextToCurrent(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IPMT_INTERFACE_DEFINED__ */ #ifndef __ITSDT_INTERFACE_DEFINED__ #define __ITSDT_INTERFACE_DEFINED__ /* interface ITSDT */ /* [unique][uuid][local][object] */ EXTERN_C const IID IID_ITSDT; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("D19BDB43-405B-4a7c-A791-C89110C33165") ITSDT : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ ISectionList *pSectionList, /* [in] */ IMpeg2Data *pMPEGData) = 0; virtual HRESULT STDMETHODCALLTYPE GetVersionNumber( /* [out] */ BYTE *pbVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetCountOfTableDescriptors( /* [out] */ DWORD *pdwVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetTableDescriptorByIndex( /* [in] */ DWORD dwIndex, /* [out] */ IGenericDescriptor **ppDescriptor) = 0; virtual HRESULT STDMETHODCALLTYPE GetTableDescriptorByTag( /* [in] */ BYTE bTag, /* [out][in] */ DWORD *pdwCookie, /* [out] */ IGenericDescriptor **ppDescriptor) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterForNextTable( /* [in] */ HANDLE hNextTableAvailable) = 0; virtual HRESULT STDMETHODCALLTYPE GetNextTable( /* [out] */ ITSDT **ppTSDT) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterForWhenCurrent( /* [in] */ HANDLE hNextTableIsCurrent) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertNextToCurrent( void) = 0; }; #else /* C style interface */ typedef struct ITSDTVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ITSDT * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( ITSDT * This); ULONG ( STDMETHODCALLTYPE *Release )( ITSDT * This); HRESULT ( STDMETHODCALLTYPE *Initialize )( ITSDT * This, /* [in] */ ISectionList *pSectionList, /* [in] */ IMpeg2Data *pMPEGData); HRESULT ( STDMETHODCALLTYPE *GetVersionNumber )( ITSDT * This, /* [out] */ BYTE *pbVal); HRESULT ( STDMETHODCALLTYPE *GetCountOfTableDescriptors )( ITSDT * This, /* [out] */ DWORD *pdwVal); HRESULT ( STDMETHODCALLTYPE *GetTableDescriptorByIndex )( ITSDT * This, /* [in] */ DWORD dwIndex, /* [out] */ IGenericDescriptor **ppDescriptor); HRESULT ( STDMETHODCALLTYPE *GetTableDescriptorByTag )( ITSDT * This, /* [in] */ BYTE bTag, /* [out][in] */ DWORD *pdwCookie, /* [out] */ IGenericDescriptor **ppDescriptor); HRESULT ( STDMETHODCALLTYPE *RegisterForNextTable )( ITSDT * This, /* [in] */ HANDLE hNextTableAvailable); HRESULT ( STDMETHODCALLTYPE *GetNextTable )( ITSDT * This, /* [out] */ ITSDT **ppTSDT); HRESULT ( STDMETHODCALLTYPE *RegisterForWhenCurrent )( ITSDT * This, /* [in] */ HANDLE hNextTableIsCurrent); HRESULT ( STDMETHODCALLTYPE *ConvertNextToCurrent )( ITSDT * This); END_INTERFACE } ITSDTVtbl; interface ITSDT { CONST_VTBL struct ITSDTVtbl *lpVtbl; }; #ifdef COBJMACROS #define ITSDT_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ITSDT_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define ITSDT_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define ITSDT_Initialize(This,pSectionList,pMPEGData) \ ( (This)->lpVtbl -> Initialize(This,pSectionList,pMPEGData) ) #define ITSDT_GetVersionNumber(This,pbVal) \ ( (This)->lpVtbl -> GetVersionNumber(This,pbVal) ) #define ITSDT_GetCountOfTableDescriptors(This,pdwVal) \ ( (This)->lpVtbl -> GetCountOfTableDescriptors(This,pdwVal) ) #define ITSDT_GetTableDescriptorByIndex(This,dwIndex,ppDescriptor) \ ( (This)->lpVtbl -> GetTableDescriptorByIndex(This,dwIndex,ppDescriptor) ) #define ITSDT_GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor) \ ( (This)->lpVtbl -> GetTableDescriptorByTag(This,bTag,pdwCookie,ppDescriptor) ) #define ITSDT_RegisterForNextTable(This,hNextTableAvailable) \ ( (This)->lpVtbl -> RegisterForNextTable(This,hNextTableAvailable) ) #define ITSDT_GetNextTable(This,ppTSDT) \ ( (This)->lpVtbl -> GetNextTable(This,ppTSDT) ) #define ITSDT_RegisterForWhenCurrent(This,hNextTableIsCurrent) \ ( (This)->lpVtbl -> RegisterForWhenCurrent(This,hNextTableIsCurrent) ) #define ITSDT_ConvertNextToCurrent(This) \ ( (This)->lpVtbl -> ConvertNextToCurrent(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __ITSDT_INTERFACE_DEFINED__ */ #ifndef __IPSITables_INTERFACE_DEFINED__ #define __IPSITables_INTERFACE_DEFINED__ /* interface IPSITables */ /* [unique][uuid][object] */ EXTERN_C const IID IID_IPSITables; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("919F24C5-7B14-42ac-A4B0-2AE08DAF00AC") IPSITables : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetTable( /* [in] */ DWORD dwTSID, /* [in] */ DWORD dwTID_PID, /* [in] */ DWORD dwHashedVer, /* [in] */ DWORD dwPara4, /* [out] */ __RPC__deref_out_opt IUnknown **ppIUnknown) = 0; }; #else /* C style interface */ typedef struct IPSITablesVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( __RPC__in IPSITables * This, /* [in] */ __RPC__in REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in IPSITables * This); ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in IPSITables * This); HRESULT ( STDMETHODCALLTYPE *GetTable )( __RPC__in IPSITables * This, /* [in] */ DWORD dwTSID, /* [in] */ DWORD dwTID_PID, /* [in] */ DWORD dwHashedVer, /* [in] */ DWORD dwPara4, /* [out] */ __RPC__deref_out_opt IUnknown **ppIUnknown); END_INTERFACE } IPSITablesVtbl; interface IPSITables { CONST_VTBL struct IPSITablesVtbl *lpVtbl; }; #ifdef COBJMACROS #define IPSITables_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IPSITables_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IPSITables_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IPSITables_GetTable(This,dwTSID,dwTID_PID,dwHashedVer,dwPara4,ppIUnknown) \ ( (This)->lpVtbl -> GetTable(This,dwTSID,dwTID_PID,dwHashedVer,dwPara4,ppIUnknown) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IPSITables_INTERFACE_DEFINED__ */ /* Additional Prototypes for ALL interfaces */ /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif