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 __INC_BDAIFACE__ 7 #define __INC_BDAIFACE__ 8 9 #include <objbase.h> 10 #include <bdatypes.h> 11 #include <dshow.h> 12 13 #if (_WIN32_WINNT >= 0x0601) 14 15 typedef enum ApplicationTypeType { 16 SCTE28_ConditionalAccess = 0, 17 SCTE28_POD_Host_Binding_Information, 18 SCTE28_IPService, 19 SCTE28_NetworkInterface_SCTE55_2, 20 SCTE28_NetworkInterface_SCTE55_1, 21 SCTE28_CopyProtection, 22 SCTE28_Diagnostic, 23 SCTE28_Undesignated, 24 SCTE28_Reserved 25 } ApplicationTypeType; 26 27 typedef enum BDA_DrmPairingError { 28 BDA_DrmPairing_Succeeded = 0, 29 BDA_DrmPairing_HardwareFailure, 30 BDA_DrmPairing_NeedRevocationData, 31 BDA_DrmPairing_NeedIndiv, 32 BDA_DrmPairing_Other, 33 BDA_DrmPairing_DrmInitFailed, 34 BDA_DrmPairing_DrmNotPaired, 35 BDA_DrmPairing_DrmRePairSoon 36 } BDA_DrmPairingError; 37 38 typedef enum SmartCardAssociationType { 39 NotAssociated = 0, 40 Associated, 41 AssociationUnknown 42 } SmartCardAssociationType; 43 44 enum SmartCardStatusType { 45 CardInserted = 0, 46 CardRemoved, 47 CardError, 48 CardDataChanged, 49 CardFirmwareUpgrade 50 }; 51 52 enum UICloseReasonType { 53 NotReady = 0, 54 UserClosed, 55 SystemClosed, 56 DeviceClosed, 57 ErrorClosed 58 }; 59 60 /* Guessed from: https://acidframework.googlecode.com/svn-history/r215/trunk/Acid/Multimedia/DirectShow/BDA/BDAIface.cs */ 61 typedef enum _LocationCodeSchemeType { 62 SCTE_18 = 0 63 } LocationCodeSchemeType; 64 65 typedef struct _EALocationCodeType { 66 LocationCodeSchemeType LocationCodeScheme; 67 BYTE state_code; 68 BYTE county_subdivision; 69 WORD county_code; 70 } EALocationCodeType; 71 72 typedef struct _SmartCardApplication { 73 ApplicationTypeType ApplicationType; 74 USHORT ApplicationVersion; 75 BSTR pbstrApplicationName; 76 BSTR pbstrApplicationURL; 77 } SmartCardApplication; 78 79 typedef struct _TransportSampleStatistics { 80 DWORD dwWindowSize; 81 DWORD dwNoOfRunningPackets; 82 DWORD dwNoOfScrambledPackets; 83 DWORD dwNoOfDiscontinuity; 84 DWORD dwNoOfDroppedPackets; 85 REFERENCE_TIME rtCurrentStreamTime; 86 REFERENCE_TIME rtFirstPacketStreamTime; 87 REFERENCE_TIME rtLastPacketStreamTime; 88 REFERENCE_TIME rtLastDemuxInputSampleTime; 89 } TRANSPORT_SAMPLE_STATISTICS; 90 91 #define PBDA_Encoder_Video_MPEG2PartII 0x00000000 92 #define PBDA_Encoder_Video_MPEG4Part10 0x00000001 93 #define PBDA_Encoder_Video_MPEG4Part10 0x00000001 94 #define PBDA_Encoder_Video_H264 0x00000001 95 96 #define PBDA_Encoder_BitrateMode_Constant 0x00000001 97 #define PBDA_Encoder_BitrateMode_Variable 0x00000002 98 #define PBDA_Encoder_BitrateMode_Average 0x00000003 99 100 #ifndef __IBDA_ConditionalAccessEx_FWD_DEFINED__ 101 #define __IBDA_ConditionalAccessEx_FWD_DEFINED__ 102 typedef struct IBDA_ConditionalAccessEx IBDA_ConditionalAccessEx; 103 #endif 104 105 #ifndef __IBDA_DRIDRMService_FWD_DEFINED__ 106 #define __IBDA_DRIDRMService_FWD_DEFINED__ 107 typedef struct IBDA_DRIDRMService IBDA_DRIDRMService; 108 #endif 109 110 #ifndef __IBDA_Encoder_FWD_DEFINED__ 111 #define __IBDA_Encoder_FWD_DEFINED__ 112 typedef struct IBDA_Encoder IBDA_Encoder; 113 #endif 114 115 #ifndef __IBDA_EventingService_FWD_DEFINED__ 116 #define __IBDA_EventingService_FWD_DEFINED__ 117 typedef struct IBDA_EventingService IBDA_EventingService; 118 #endif 119 120 #ifndef __IBDA_FDC_FWD_DEFINED__ 121 #define __IBDA_FDC_FWD_DEFINED__ 122 typedef struct IBDA_FDC IBDA_FDC; 123 #endif 124 125 #ifndef __IBDA_GuideDataDeliveryService_FWD_DEFINED__ 126 #define __IBDA_GuideDataDeliveryService_FWD_DEFINED__ 127 typedef struct IBDA_GuideDataDeliveryService IBDA_GuideDataDeliveryService; 128 #endif 129 130 #ifndef __IBDA_ISDBConditionalAccess_FWD_DEFINED__ 131 #define __IBDA_ISDBConditionalAccess_FWD_DEFINED__ 132 typedef struct IBDA_ISDBConditionalAccess IBDA_ISDBConditionalAccess; 133 #endif 134 135 #ifndef __IBDA_MUX_FWD_DEFINED__ 136 #define __IBDA_MUX_FWD_DEFINED__ 137 typedef struct IBDA_MUX IBDA_MUX; 138 #endif 139 140 #ifndef __IBDA_UserActivityService_FWD_DEFINED__ 141 #define __IBDA_UserActivityService_FWD_DEFINED__ 142 typedef struct IBDA_UserActivityService IBDA_UserActivityService; 143 #endif 144 145 #ifndef __IBDA_ISDBConditionalAccess_FWD_DEFINED__ 146 #define __IBDA_ISDBConditionalAccess_FWD_DEFINED__ 147 typedef struct IBDA_ISDBConditionalAccess IBDA_ISDBConditionalAccess; 148 #endif 149 150 #undef INTERFACE 151 #define INTERFACE IBDA_ConditionalAccessEx 152 #ifdef __GNUC__ 153 #warning COM interfaces layout in this header has not been verified. 154 #warning COM interfaces with incorrect layout may not work at all. 155 __MINGW_BROKEN_INTERFACE(INTERFACE) 156 #endif 157 DECLARE_INTERFACE_(IBDA_ConditionalAccessEx,IUnknown) 158 { 159 BEGIN_INTERFACE 160 161 /* IUnknown methods */ 162 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 163 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 164 STDMETHOD_(ULONG, Release)(THIS) PURE; 165 166 /* IBDA_ConditionalAccessEx methods */ 167 STDMETHOD_(HRESULT,CheckEntitlementToken)(THIS_ ULONG ulDialogRequest,BSTR bstrLanguage,BDA_CONDITIONALACCESS_REQUESTTYPE RequestType,ULONG ulcbEntitlementTokenLen,BYTE *pbEntitlementToken,ULONG *pulDescrambleStatus) PURE; 168 STDMETHOD_(HRESULT,CloseMmiDialog)(THIS_ ULONG ulDialogRequest,BSTR bstrLanguage,ULONG ulDialogNumber,BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode,ULONG *pulSessionResult) PURE; 169 STDMETHOD_(HRESULT,CreateDialogRequestNumber)(THIS_ ULONG *pulDialogRequestNumber) PURE; 170 STDMETHOD_(HRESULT,OpenBroadcastMmi)(THIS_ ULONG ulDialogRequest,BSTR bstrLanguage,ULONG EventId) PURE; 171 STDMETHOD_(HRESULT,SetCaptureToken)(THIS_ ULONG ulcbCaptureTokenLen,BYTE *pbCaptureToken) PURE; 172 173 END_INTERFACE 174 }; 175 #ifdef COBJMACROS 176 #define IBDA_ConditionalAccessEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 177 #define IBDA_ConditionalAccessEx_AddRef(This) (This)->lpVtbl->AddRef(This) 178 #define IBDA_ConditionalAccessEx_Release(This) (This)->lpVtbl->Release(This) 179 #define IBDA_ConditionalAccessEx_CheckEntitlementToken(This,ulDialogRequest,bstrLanguage,RequestType,ulcbEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus) (This)->lpVtbl->CheckEntitlementToken(This,ulDialogRequest,bstrLanguage,RequestType,ulcbEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus) 180 #define IBDA_ConditionalAccessEx_CloseMmiDialog(This,ulDialogRequest,bstrLanguage,ulDialogNumber,ReasonCode,pulSessionResult) (This)->lpVtbl->CloseMmiDialog(This,ulDialogRequest,bstrLanguage,ulDialogNumber,ReasonCode,pulSessionResult) 181 #define IBDA_ConditionalAccessEx_CreateDialogRequestNumber(This,pulDialogRequestNumber) (This)->lpVtbl->CreateDialogRequestNumber(This,pulDialogRequestNumber) 182 #define IBDA_ConditionalAccessEx_OpenBroadcastMmi(This,ulDialogRequest,bstrLanguage,EventId) (This)->lpVtbl->OpenBroadcastMmi(This,ulDialogRequest,bstrLanguage,EventId) 183 #define IBDA_ConditionalAccessEx_SetCaptureToken(This,ulcbCaptureTokenLen,pbCaptureToken) (This)->lpVtbl->SetCaptureToken(This,ulcbCaptureTokenLen,pbCaptureToken) 184 #endif /*COBJMACROS*/ 185 186 #undef INTERFACE 187 #define INTERFACE IBDA_DRIDRMService 188 #ifdef __GNUC__ 189 #warning COM interfaces layout in this header has not been verified. 190 #warning COM interfaces with incorrect layout may not work at all. 191 __MINGW_BROKEN_INTERFACE(INTERFACE) 192 #endif 193 DECLARE_INTERFACE_(IBDA_DRIDRMService,IUnknown) 194 { 195 BEGIN_INTERFACE 196 197 /* IUnknown methods */ 198 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 199 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 200 STDMETHOD_(ULONG, Release)(THIS) PURE; 201 202 /* IBDA_DRIDRMService methods */ 203 STDMETHOD_(HRESULT,GetDRMStatus)(THIS_ BSTR *pbstrDrmUuidList,GUID *DrmUuid) PURE; 204 STDMETHOD_(HRESULT,GetPairingStatus)(THIS_ BDA_DrmPairingError *penumPairingStatus) PURE; 205 STDMETHOD_(HRESULT,SetDRM)(THIS_ GUID *puuidNewDrm) PURE; 206 207 END_INTERFACE 208 }; 209 #ifdef COBJMACROS 210 #define IBDA_DRIDRMService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 211 #define IBDA_DRIDRMService_AddRef(This) (This)->lpVtbl->AddRef(This) 212 #define IBDA_DRIDRMService_Release(This) (This)->lpVtbl->Release(This) 213 #define IBDA_DRIDRMService_GetDRMStatus(This,pbstrDrmUuidList,DrmUuid) (This)->lpVtbl->GetDRMStatus(This,pbstrDrmUuidList,DrmUuid) 214 #define IBDA_DRIDRMService_GetPairingStatus(This,penumPairingStatus) (This)->lpVtbl->GetPairingStatus(This,penumPairingStatus) 215 #define IBDA_DRIDRMService_SetDRM(This,puuidNewDrm) (This)->lpVtbl->SetDRM(This,puuidNewDrm) 216 #endif /*COBJMACROS*/ 217 218 #undef INTERFACE 219 #define INTERFACE IBDA_Encoder 220 #ifdef __GNUC__ 221 #warning COM interfaces layout in this header has not been verified. 222 #warning COM interfaces with incorrect layout may not work at all. 223 __MINGW_BROKEN_INTERFACE(INTERFACE) 224 #endif 225 DECLARE_INTERFACE_(IBDA_Encoder,IUnknown) 226 { 227 BEGIN_INTERFACE 228 229 /* IUnknown methods */ 230 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 231 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 232 STDMETHOD_(ULONG, Release)(THIS) PURE; 233 234 /* IBDA_Encoder methods */ 235 STDMETHOD_(HRESULT,EnumAudioCapability)(THIS_ DWORD FmtIndex,DWORD *MethodID,DWORD *AlgorithmType,DWORD *SamplingRate,DWORD *BitDepth,DWORD *NumChannels) PURE; 236 STDMETHOD_(HRESULT,EnumVideoCapability)(THIS_ DWORD FmtIndex,DWORD *MethodID,DWORD *AlgorithmType,DWORD *VerticalSize,DWORD *HorizontalSize,DWORD *AspectRatio,DWORD *FrameRateCode,DWORD *ProgressiveSequence) PURE; 237 STDMETHOD_(HRESULT,GetState)(THIS_ DWORD *AudioBitrateMax,DWORD *AudioBitrateMin,DWORD *AudioBitrateMode,DWORD *AudioBitrateStepping,DWORD *AudioBitrate,DWORD *AudioMethodID,DWORD *AvailableAudioPrograms,DWORD *AudioProgram,DWORD *VideoBitrateMax,DWORD *VideoBitrateMin,DWORD *VideoBitrateMode,DWORD *VideoBitrate,DWORD *VideoBitrateStepping,DWORD *VideoMethodID,DWORD *SignalSourceID,ULONGLONG *SignalFormat,WINBOOL *SignalLock,LONG *SignalLevel,DWORD *SignalToNoiseRatio) PURE; 238 STDMETHOD_(HRESULT,QueryCapabilities)(THIS_ DWORD *NumAudioFmts,DWORD *NumVideoFmts) PURE; 239 STDMETHOD_(HRESULT,SetParameters)(THIS_ DWORD AudioBitrateMode,DWORD AudioBitrate,DWORD AudioMethodID,DWORD AudioProgram,DWORD VideoBitrateMode,DWORD VideoBitrate,DWORD VideoMethodID) PURE; 240 241 END_INTERFACE 242 }; 243 #ifdef COBJMACROS 244 #define IBDA_Encoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 245 #define IBDA_Encoder_AddRef(This) (This)->lpVtbl->AddRef(This) 246 #define IBDA_Encoder_Release(This) (This)->lpVtbl->Release(This) 247 #define IBDA_Encoder_EnumAudioCapability(This,FmtIndex,MethodID,AlgorithmType,SamplingRate,BitDepth,NumChannels) (This)->lpVtbl->EnumAudioCapability(This,FmtIndex,MethodID,AlgorithmType,SamplingRate,BitDepth,NumChannels) 248 #define IBDA_Encoder_EnumVideoCapability(This,FmtIndex,MethodID,AlgorithmType,VerticalSize,HorizontalSize,AspectRatio,FrameRateCode,ProgressiveSequence) (This)->lpVtbl->EnumVideoCapability(This,FmtIndex,MethodID,AlgorithmType,VerticalSize,HorizontalSize,AspectRatio,FrameRateCode,ProgressiveSequence) 249 #define IBDA_Encoder_GetState(This,AudioBitrateMax,AudioBitrateMin,AudioBitrateMode,AudioBitrateStepping,AudioBitrate,AudioMethodID,AvailableAudioPrograms,AudioProgram,VideoBitrateMax,VideoBitrateMin,VideoBitrateMode,VideoBitrate,VideoBitrateStepping,VideoMethodID,SignalSourceID,SignalFormat,SignalLock,SignalLevel,SignalToNoiseRatio) (This)->lpVtbl->GetState(This,AudioBitrateMax,AudioBitrateMin,AudioBitrateMode,AudioBitrateStepping,AudioBitrate,AudioMethodID,AvailableAudioPrograms,AudioProgram,VideoBitrateMax,VideoBitrateMin,VideoBitrateMode,VideoBitrate,VideoBitrateStepping,VideoMethodID,SignalSourceID,SignalFormat,SignalLock,SignalLevel,SignalToNoiseRatio) 250 #define IBDA_Encoder_QueryCapabilities(This,NumAudioFmts,NumVideoFmts) (This)->lpVtbl->QueryCapabilities(This,NumAudioFmts,NumVideoFmts) 251 #define IBDA_Encoder_SetParameters(This,AudioBitrateMode,AudioBitrate,AudioMethodID,AudioProgram,VideoBitrateMode,VideoBitrate,VideoMethodID) (This)->lpVtbl->SetParameters(This,AudioBitrateMode,AudioBitrate,AudioMethodID,AudioProgram,VideoBitrateMode,VideoBitrate,VideoMethodID) 252 #endif /*COBJMACROS*/ 253 254 #undef INTERFACE 255 #define INTERFACE IBDA_EventingService 256 DECLARE_INTERFACE_(IBDA_EventingService,IUnknown) 257 { 258 BEGIN_INTERFACE 259 260 /* IUnknown methods */ 261 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 262 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 263 STDMETHOD_(ULONG, Release)(THIS) PURE; 264 265 /* IBDA_EventingService methods */ 266 STDMETHOD_(HRESULT,CompleteEvent)(THIS_ ULONG ulEventID,ULONG ulEventResult) PURE; 267 268 END_INTERFACE 269 }; 270 #ifdef COBJMACROS 271 #define IBDA_EventingService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 272 #define IBDA_EventingService_AddRef(This) (This)->lpVtbl->AddRef(This) 273 #define IBDA_EventingService_Release(This) (This)->lpVtbl->Release(This) 274 #define IBDA_EventingService_CompleteEvent(This,ulEventID,ulEventResult) (This)->lpVtbl->CompleteEvent(This,ulEventID,ulEventResult) 275 #endif /*COBJMACROS*/ 276 277 #undef INTERFACE 278 #define INTERFACE IBDA_FDC 279 #ifdef __GNUC__ 280 #warning COM interfaces layout in this header has not been verified. 281 #warning COM interfaces with incorrect layout may not work at all. 282 __MINGW_BROKEN_INTERFACE(INTERFACE) 283 #endif 284 DECLARE_INTERFACE_(IBDA_FDC,IUnknown) 285 { 286 BEGIN_INTERFACE 287 288 /* IUnknown methods */ 289 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 290 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 291 STDMETHOD_(ULONG, Release)(THIS) PURE; 292 293 /* IBDA_FDC methods */ 294 STDMETHOD_(HRESULT,AddPid)(THIS_ BSTR PidsToAdd,DWORD *RemainingFilterEntries) PURE; 295 STDMETHOD_(HRESULT,AddTid)(THIS_ BSTR TidsToAdd,BSTR *CurrentTidList) PURE; 296 STDMETHOD_(HRESULT,GetStatus)(THIS_ DWORD *CurrentBitrate,WINBOOL *CarrierLock,DWORD *CurrentFrequency,WINBOOL *CurrentSpectrumInversion,BSTR *CurrentPIDList,BSTR *CurrentTIDList,WINBOOL *Overflow) PURE; 297 STDMETHOD_(HRESULT,GetTableSection)(THIS_ DWORD *Pid,DWORD MaxBufferSize,DWORD *ActualSize,BYTE *SecBuffer) PURE; 298 STDMETHOD_(HRESULT,RemovePid)(THIS_ BSTR PidsToRemove) PURE; 299 STDMETHOD_(HRESULT,RemoveTid)(THIS_ BSTR TidsToRemove) PURE; 300 STDMETHOD_(HRESULT,RequestTables)(THIS_ BSTR TableIDs) PURE; 301 302 END_INTERFACE 303 }; 304 #ifdef COBJMACROS 305 #define IBDA_FDC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 306 #define IBDA_FDC_AddRef(This) (This)->lpVtbl->AddRef(This) 307 #define IBDA_FDC_Release(This) (This)->lpVtbl->Release(This) 308 #define IBDA_FDC_AddPid(This,PidsToAdd,RemainingFilterEntries) (This)->lpVtbl->AddPid(This,PidsToAdd,RemainingFilterEntries) 309 #define IBDA_FDC_AddTid(This,TidsToAdd,CurrentTidList) (This)->lpVtbl->AddTid(This,TidsToAdd,CurrentTidList) 310 #define IBDA_FDC_GetStatus(This,CurrentBitrate,CarrierLock,CurrentFrequency,CurrentSpectrumInversion,CurrentPIDList,CurrentTIDList,Overflow) (This)->lpVtbl->GetStatus(This,CurrentBitrate,CarrierLock,CurrentFrequency,CurrentSpectrumInversion,CurrentPIDList,CurrentTIDList,Overflow) 311 #define IBDA_FDC_GetTableSection(This,Pid,MaxBufferSize,ActualSize,SecBuffer) (This)->lpVtbl->GetTableSection(This,Pid,MaxBufferSize,ActualSize,SecBuffer) 312 #define IBDA_FDC_RemovePid(This,PidsToRemove) (This)->lpVtbl->RemovePid(This,PidsToRemove) 313 #define IBDA_FDC_RemoveTid(This,TidsToRemove) (This)->lpVtbl->RemoveTid(This,TidsToRemove) 314 #define IBDA_FDC_RequestTables(This,TableIDs) (This)->lpVtbl->RequestTables(This,TableIDs) 315 #endif /*COBJMACROS*/ 316 317 #undef INTERFACE 318 #define INTERFACE IBDA_GuideDataDeliveryService 319 #ifdef __GNUC__ 320 #warning COM interfaces layout in this header has not been verified. 321 #warning COM interfaces with incorrect layout may not work at all. 322 __MINGW_BROKEN_INTERFACE(INTERFACE) 323 #endif 324 DECLARE_INTERFACE_(IBDA_GuideDataDeliveryService,IUnknown) 325 { 326 BEGIN_INTERFACE 327 328 /* IUnknown methods */ 329 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 330 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 331 STDMETHOD_(ULONG, Release)(THIS) PURE; 332 333 /* IBDA_GuideDataDeliveryService methods */ 334 STDMETHOD(GetGuideData)(THIS_ ULONG *pulcbBufferLen,BYTE *pbBuffer,ULONG *pulGuideDataPercentageProgress) PURE; 335 STDMETHOD_(HRESULT,GetGuideDataType)(THIS_ GUID *pguidDataType) PURE; 336 STDMETHOD_(HRESULT,GetServiceInfoFromTuneXml)(THIS_ BSTR bstrTuneXml,BSTR *pbstrServiceDescription) PURE; 337 STDMETHOD_(HRESULT,GetServices)(THIS_ ULONG *pulcbBufferLen,BYTE *pbBuffer) PURE; 338 STDMETHOD_(HRESULT,GetTuneXmlFromServiceIdx)(THIS_ ULONG64 ul64ServiceIdx,BSTR *pbstrTuneXml) PURE; 339 STDMETHOD_(HRESULT,RequestGuideDataUpdate)(THIS) PURE; 340 341 END_INTERFACE 342 }; 343 #ifdef COBJMACROS 344 #define IBDA_GuideDataDeliveryService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 345 #define IBDA_GuideDataDeliveryService_AddRef(This) (This)->lpVtbl->AddRef(This) 346 #define IBDA_GuideDataDeliveryService_Release(This) (This)->lpVtbl->Release(This) 347 #define IBDA_GuideDataDeliveryService_GetGuideData(This,pulcbBufferLen,pbBuffer,pulGuideDataPercentageProgress) (This)->lpVtbl->GetGuideData(This,pulcbBufferLen,pbBuffer,pulGuideDataPercentageProgress) 348 #define IBDA_GuideDataDeliveryService_GetGuideDataType(This,pguidDataType) (This)->lpVtbl->GetGuideDataType(This,pguidDataType) 349 #define IBDA_GuideDataDeliveryService_GetServiceInfoFromTuneXml(This,bstrTuneXml,pbstrServiceDescription) (This)->lpVtbl->GetServiceInfoFromTuneXml(This,bstrTuneXml,pbstrServiceDescription) 350 #define IBDA_GuideDataDeliveryService_GetServices(This,pulcbBufferLen,pbBuffer) (This)->lpVtbl->GetServices(This,pulcbBufferLen,pbBuffer) 351 #define IBDA_GuideDataDeliveryService_GetTuneXmlFromServiceIdx(This,ul64ServiceIdx,pbstrTuneXml) (This)->lpVtbl->GetTuneXmlFromServiceIdx(This,ul64ServiceIdx,pbstrTuneXml) 352 #define IBDA_GuideDataDeliveryService_RequestGuideDataUpdate() (This)->lpVtbl->RequestGuideDataUpdate(This) 353 #endif /*COBJMACROS*/ 354 355 #undef INTERFACE 356 #define INTERFACE IBDA_ISDBConditionalAccess 357 DECLARE_INTERFACE_(IBDA_ISDBConditionalAccess,IUnknown) 358 { 359 BEGIN_INTERFACE 360 361 /* IUnknown methods */ 362 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 363 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 364 STDMETHOD_(ULONG, Release)(THIS) PURE; 365 366 /* IBDA_ISDBConditionalAccess methods */ 367 STDMETHOD_(HRESULT,SetIsdbCasRequest)(THIS_ ULONG ulRequestId,ULONG ulcbRequestBufferLen,BYTE *pbRequestBuffer) PURE; 368 369 END_INTERFACE 370 }; 371 #ifdef COBJMACROS 372 #define IBDA_ISDBConditionalAccess_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 373 #define IBDA_ISDBConditionalAccess_AddRef(This) (This)->lpVtbl->AddRef(This) 374 #define IBDA_ISDBConditionalAccess_Release(This) (This)->lpVtbl->Release(This) 375 #define IBDA_ISDBConditionalAccess_SetIsdbCasRequest(This,ulRequestId,ulcbRequestBufferLen,pbRequestBuffer) (This)->lpVtbl->SetIsdbCasRequest(This,ulRequestId,ulcbRequestBufferLen,pbRequestBuffer) 376 #endif /*COBJMACROS*/ 377 378 #undef INTERFACE 379 #define INTERFACE IBDA_MUX 380 #ifdef __GNUC__ 381 #warning COM interfaces layout in this header has not been verified. 382 #warning COM interfaces with incorrect layout may not work at all. 383 __MINGW_BROKEN_INTERFACE(INTERFACE) 384 #endif 385 DECLARE_INTERFACE_(IBDA_MUX,IUnknown) 386 { 387 BEGIN_INTERFACE 388 389 /* IUnknown methods */ 390 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 391 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 392 STDMETHOD_(ULONG, Release)(THIS) PURE; 393 394 /* IBDA_MUX methods */ 395 STDMETHOD_(HRESULT,GetPidList)(THIS_ BDA_MUX_PIDLISTITEM *pbPidListBuffer) PURE; 396 STDMETHOD_(HRESULT,SetPidList)(THIS_ ULONG ulPidListCount,BDA_MUX_PIDLISTITEM *pbPidListBuffer) PURE; 397 398 END_INTERFACE 399 }; 400 #ifdef COBJMACROS 401 #define IBDA_MUX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 402 #define IBDA_MUX_AddRef(This) (This)->lpVtbl->AddRef(This) 403 #define IBDA_MUX_Release(This) (This)->lpVtbl->Release(This) 404 #define IBDA_MUX_GetPidList(This,pbPidListBuffer) (This)->lpVtbl->GetPidList(This,pbPidListBuffer) 405 #define IBDA_MUX_SetPidList(This,ulPidListCount,pbPidListBuffer) (This)->lpVtbl->SetPidList(This,ulPidListCount,pbPidListBuffer) 406 #endif /*COBJMACROS*/ 407 408 #undef INTERFACE 409 #define INTERFACE IBDA_UserActivityService 410 #ifdef __GNUC__ 411 #warning COM interfaces layout in this header has not been verified. 412 #warning COM interfaces with incorrect layout may not work at all. 413 __MINGW_BROKEN_INTERFACE(INTERFACE) 414 #endif 415 DECLARE_INTERFACE_(IBDA_UserActivityService,IUnknown) 416 { 417 BEGIN_INTERFACE 418 419 /* IUnknown methods */ 420 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 421 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 422 STDMETHOD_(ULONG, Release)(THIS) PURE; 423 424 /* IBDA_UserActivityService methods */ 425 STDMETHOD_(HRESULT,GetUserActivityInterval)(THIS_ DWORD *pdwActivityInterval) PURE; 426 STDMETHOD_(HRESULT,SetCurrentTunerUseReason)(THIS_ DWORD dwUseReason) PURE; 427 STDMETHOD_(HRESULT,UserActivityDetected)(THIS) PURE; 428 429 END_INTERFACE 430 }; 431 #ifdef COBJMACROS 432 #define IBDA_UserActivityService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 433 #define IBDA_UserActivityService_AddRef(This) (This)->lpVtbl->AddRef(This) 434 #define IBDA_UserActivityService_Release(This) (This)->lpVtbl->Release(This) 435 #define IBDA_UserActivityService_GetUserActivityInterval(This,pdwActivityInterval) (This)->lpVtbl->GetUserActivityInterval(This,pdwActivityInterval) 436 #define IBDA_UserActivityService_SetCurrentTunerUseReason(This,dwUseReason) (This)->lpVtbl->SetCurrentTunerUseReason(This,dwUseReason) 437 #define IBDA_UserActivityService_UserActivityDetected() (This)->lpVtbl->UserActivityDetected(This) 438 #endif /*COBJMACROS*/ 439 440 #endif /*(_WIN32_WINNT >= 0x0601)*/ 441 #endif /*__INC_BDAIFACE__*/ 442