user32: Also disable the DC if the window is destroyed without a ReleaseDC.
[wine.git] / include / bdaiface.idl
blob39592ebf20ecb8c91ed20fe42e7262b265507597
1 /*
2 * Copyright 2013 André Hentschel
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef DO_NO_IMPORTS
20 import "unknwn.idl";
21 import "strmif.idl";
22 import "bdatypes.h";
23 #endif
25 #include "bdaiface_enums.h"
29 object,
30 uuid(fd501041-8ebe-11ce-8183-00aa00577da2),
31 pointer_default(unique)
33 interface IBDA_NetworkProvider : IUnknown
35 HRESULT PutSignalSource([in] ULONG ulSignalSource);
36 HRESULT GetSignalSource([in, out] ULONG *pulSignalSource);
37 HRESULT GetNetworkType([in, out] GUID *pguidNetworkType);
38 HRESULT PutTuningSpace([in] REFGUID guidTuningSpace);
39 HRESULT GetTuningSpace([in, out] GUID *pguidTuingSpace);
40 HRESULT RegisterDeviceFilter([in] IUnknown *pUnkFilterControl, [in, out] ULONG *ppvRegisitrationContext);
41 HRESULT UnRegisterDeviceFilter([in] ULONG pvRegistrationContext);
45 object,
46 uuid(71985F43-1CA1-11d3-9CC8-00C04F7971E0),
47 pointer_default(unique)
49 interface IBDA_EthernetFilter : IUnknown
51 HRESULT GetMulticastListSize([in, out] ULONG *pulcbAddresses);
52 HRESULT PutMulticastList([in] ULONG ulcbAddresses, [in, size_is(ulcbAddresses)] BYTE pAddressList []);
53 HRESULT GetMulticastList([in, out] ULONG *pulcbAddresses, [in, out, size_is(*pulcbAddresses)] BYTE pAddressList[]);
54 HRESULT PutMulticastMode([in] ULONG ulModeMask);
55 HRESULT GetMulticastMode([out] ULONG *pulModeMask);
59 object,
60 uuid(71985F44-1CA1-11d3-9CC8-00C04F7971E0),
61 pointer_default(unique)
63 interface IBDA_IPV4Filter : IUnknown
65 HRESULT GetMulticastListSize([in, out] ULONG *pulcbAddresses);
66 HRESULT PutMulticastList([in] ULONG ulcbAddresses, [in, size_is(ulcbAddresses)] BYTE pAddressList[]);
67 HRESULT GetMulticastList([in, out] ULONG *pulcbAddresses,[out, size_is(*pulcbAddresses)] BYTE pAddressList[]);
68 HRESULT PutMulticastMode([in] ULONG ulModeMask);
69 HRESULT GetMulticastMode([out] ULONG* pulModeMask);
73 object,
74 uuid(E1785A74-2A23-4fb3-9245-A8F88017EF33),
75 pointer_default(unique)
77 interface IBDA_IPV6Filter : IUnknown
79 HRESULT GetMulticastListSize([in, out] ULONG *pulcbAddresses);
80 HRESULT PutMulticastList([in] ULONG ulcbAddresses, [in, size_is(ulcbAddresses)] BYTE pAddressList[]);
81 HRESULT GetMulticastList([in, out] ULONG *pulcbAddresses,[out, size_is(*pulcbAddresses)] BYTE pAddressList[]);
82 HRESULT PutMulticastMode([in] ULONG ulModeMask);
83 HRESULT GetMulticastMode([out] ULONG* pulModeMask);
87 object,
88 uuid(FD0A5AF3-B41D-11d2-9C95-00C04F7971E0),
89 pointer_default(unique)
91 interface IBDA_DeviceControl : IUnknown
93 HRESULT StartChanges(void);
94 HRESULT CheckChanges(void);
95 HRESULT CommitChanges(void);
96 HRESULT GetChangeState([in, out] ULONG *pState);
100 object,
101 uuid(0DED49D5-A8B7-4d5d-97A1-12B0C195874D),
102 pointer_default(unique)
104 interface IBDA_PinControl : IUnknown
106 HRESULT GetPinID([in, out] ULONG *pulPinID);
107 HRESULT GetPinType([in, out] ULONG *pulPinType);
108 HRESULT RegistrationContext([in, out] ULONG *pulRegistrationCtx);
112 object,
113 uuid(D2F1644B-B409-11d2-BC69-00A0C9EE9E16),
114 pointer_default(unique)
116 interface IBDA_SignalProperties : IUnknown
118 HRESULT PutNetworkType([in] REFGUID guidNetworkType);
119 HRESULT GetNetworkType([in, out] GUID *pguidNetworkType);
120 HRESULT PutSignalSource([in] ULONG ulSignalSource);
121 HRESULT GetSignalSource([in, out] ULONG *pulSignalSource);
122 HRESULT PutTuningSpace([in] REFGUID guidTuningSpace);
123 HRESULT GetTuningSpace([in, out] GUID *pguidTuingSpace);
127 object,
128 uuid(1347D106-CF3A-428a-A5CB-AC0D9A2A4338),
129 pointer_default(unique)
131 interface IBDA_SignalStatistics : IUnknown
133 HRESULT put_SignalStrength ([in] LONG lDbStrength);
134 HRESULT get_SignalStrength ([in, out] LONG *plDbStrength);
135 HRESULT put_SignalQuality ([in] LONG lPercentQuality);
136 HRESULT get_SignalQuality ([in, out] LONG *plPercentQuality);
137 HRESULT put_SignalPresent ([in] BOOLEAN fPresent);
138 HRESULT get_SignalPresent ([in, out] BOOLEAN *pfPresent);
139 HRESULT put_SignalLocked ([in] BOOLEAN fLocked);
140 HRESULT get_SignalLocked ([in, out] BOOLEAN *pfLocked);
141 HRESULT put_SampleTime ([in] LONG lmsSampleTime);
142 HRESULT get_SampleTime ([in, out] LONG *plmsSampleTime);
146 object,
147 uuid(79B56888-7FEA-4690-B45D-38FD3C7849BE),
148 pointer_default(unique)
150 interface IBDA_Topology : IUnknown
152 HRESULT GetNodeTypes([in, out] ULONG *pulcNodeTypes,
153 [in] ULONG ulcNodeTypesMax,
154 [in, out, size_is (ulcNodeTypesMax)] ULONG rgulNodeTypes[]);
155 HRESULT GetNodeDescriptors([in, out] ULONG *ulcNodeDescriptors,
156 [in] ULONG ulcNodeDescriptorsMax,
157 [in, out, size_is(ulcNodeDescriptorsMax)] BDANODE_DESCRIPTOR rgNodeDescriptors[]);
158 HRESULT GetNodeInterfaces([in] ULONG ulNodeType,
159 [in, out] ULONG *pulcInterfaces,
160 [in] ULONG ulcInterfacesMax,
161 [in, out, size_is (ulcInterfacesMax)] GUID rgguidInterfaces[]);
162 HRESULT GetPinTypes([in, out] ULONG *pulcPinTypes,
163 [in] ULONG ulcPinTypesMax,
164 [in, out, size_is (ulcPinTypesMax)] ULONG rgulPinTypes[]);
165 HRESULT GetTemplateConnections([in, out] ULONG *pulcConnections,
166 [in] ULONG ulcConnectionsMax,
167 [in, out, size_is (ulcConnectionsMax)] BDA_TEMPLATE_CONNECTION rgConnections[]);
168 HRESULT CreatePin([in] ULONG ulPinType, [in, out] ULONG *pulPinId);
169 HRESULT DeletePin([in] ULONG ulPinId);
170 HRESULT SetMediaType([in] ULONG ulPinId, [in] AM_MEDIA_TYPE *pMediaType);
171 HRESULT SetMedium([in] ULONG ulPinId, [in] REGPINMEDIUM *pMedium);
172 HRESULT CreateTopology([in] ULONG ulInputPinId, [in] ULONG ulOutputPinId);
173 HRESULT GetControlNode([in] ULONG ulInputPinId,
174 [in] ULONG ulOutputPinId,
175 [in] ULONG ulNodeType,
176 [in, out] IUnknown **ppControlNode);
180 object,
181 uuid(71985F46-1CA1-11d3-9CC8-00C04F7971E0),
182 pointer_default(unique)
184 interface IBDA_VoidTransform : IUnknown
186 HRESULT Start(void);
187 HRESULT Stop(void);
191 object,
192 uuid(DDF15B0D-BD25-11d2-9CA0-00C04F7971E0),
193 pointer_default(unique)
195 interface IBDA_NullTransform : IUnknown
197 HRESULT Start(void);
198 HRESULT Stop(void);
202 object,
203 uuid(71985F47-1CA1-11d3-9CC8-00C04F7971E0),
204 pointer_default(unique)
206 interface IBDA_FrequencyFilter : IUnknown
208 HRESULT put_Autotune([in] ULONG ulTransponder);
209 HRESULT get_Autotune([in, out] ULONG *pulTransponder);
210 HRESULT put_Frequency([in] ULONG ulFrequency);
211 HRESULT get_Frequency([in, out] ULONG *pulFrequency);
212 HRESULT put_Polarity([in] Polarisation Polarity);
213 HRESULT get_Polarity([in, out] Polarisation *pPolarity);
214 HRESULT put_Range([in] ULONG ulRange);
215 HRESULT get_Range([in, out] ULONG *pulRange);
216 HRESULT put_Bandwidth([in] ULONG ulBandwidth);
217 HRESULT get_Bandwidth([in, out] ULONG *pulBandwidth);
218 HRESULT put_FrequencyMultiplier([in] ULONG ulMultiplier);
219 HRESULT get_FrequencyMultiplier([in, out] ULONG *pulMultiplier);
223 object,
224 uuid(992CF102-49F9-4719-A664-C4F23E2408F4),
225 pointer_default(unique)
227 interface IBDA_LNBInfo : IUnknown
229 HRESULT put_LocalOscilatorFrequencyLowBand([in] ULONG ulLOFLow);
230 HRESULT get_LocalOscilatorFrequencyLowBand([in, out] ULONG *pulLOFLow);
231 HRESULT put_LocalOscilatorFrequencyHighBand([in] ULONG ulLOFHigh);
232 HRESULT get_LocalOscilatorFrequencyHighBand([in, out] ULONG *pulLOFHigh);
233 HRESULT put_HighLowSwitchFrequency([in] ULONG ulSwitchFrequency);
234 HRESULT get_HighLowSwitchFrequency([in, out] ULONG *pulSwitchFrequency);
238 object,
239 uuid(F84E2AB0-3C6B-45e3-A0FC-8669D4B81F11),
240 pointer_default(unique)
242 interface IBDA_DiseqCommand : IUnknown
244 HRESULT put_EnableDiseqCommands([in] BOOLEAN bEnable);
245 HRESULT put_DiseqLNBSource([in] ULONG ulLNBSource);
246 HRESULT put_DiseqUseToneBurst([in] BOOLEAN bUseToneBurst);
247 HRESULT put_DiseqRepeats([in] ULONG ulRepeats);
248 HRESULT put_DiseqSendCommand([in] ULONG ulRequestId,
249 [in] ULONG ulcbCommandLen,
250 [in, size_is(ulcbCommandLen)] BYTE *pbCommand);
251 HRESULT get_DiseqResponse([in] ULONG ulRequestId,
252 [in, out] ULONG *pulcbResponseLen,
253 [in, out, size_is(*pulcbResponseLen)] BYTE pbResponse[]);
257 object,
258 uuid(DDF15B12-BD25-11d2-9CA0-00C04F7971E0),
259 pointer_default(unique)
261 interface IBDA_AutoDemodulate : IUnknown
263 HRESULT put_AutoDemodulate(void);
267 object,
268 uuid(34518D13-1182-48e6-B28F-B24987787326),
269 pointer_default(unique)
271 interface IBDA_AutoDemodulateEx : IBDA_AutoDemodulate
273 HRESULT get_SupportedDeviceNodeTypes([in] ULONG ulcDeviceNodeTypesMax,
274 [out] ULONG *pulcDeviceNodeTypes,
275 [in, out] GUID *pguidDeviceNodeTypes);
276 HRESULT get_SupportedVideoFormats([out] ULONG *pulAMTunerModeType,
277 [out] ULONG *pulAnalogVideoStandard);
278 HRESULT get_AuxInputCount([in, out] ULONG *pulCompositeCount,
279 [in, out] ULONG *pulSvideoCount);
283 object,
284 uuid(EF30F379-985B-4d10-B640-A79D5E04E1E0),
285 pointer_default(unique)
287 interface IBDA_DigitalDemodulator : IUnknown
289 HRESULT put_ModulationType([in] ModulationType *pModulationType);
290 HRESULT get_ModulationType([in, out] ModulationType *pModulationType);
291 HRESULT put_InnerFECMethod([in] FECMethod *pFECMethod);
292 HRESULT get_InnerFECMethod([in, out] FECMethod *pFECMethod);
293 HRESULT put_InnerFECRate([in] BinaryConvolutionCodeRate *pFECRate);
294 HRESULT get_InnerFECRate([in, out] BinaryConvolutionCodeRate *pFECRate);
295 HRESULT put_OuterFECMethod([in] FECMethod *pFECMethod);
296 HRESULT get_OuterFECMethod([in, out] FECMethod *pFECMethod);
297 HRESULT put_OuterFECRate([in] BinaryConvolutionCodeRate *pFECRate);
298 HRESULT get_OuterFECRate([in, out] BinaryConvolutionCodeRate *pFECRate);
299 HRESULT put_SymbolRate([in] ULONG *pSymbolRate);
300 HRESULT get_SymbolRate([in, out] ULONG *pSymbolRate);
301 HRESULT put_SpectralInversion([in] SpectralInversion *pSpectralInversion);
302 HRESULT get_SpectralInversion([in, out] SpectralInversion *pSpectralInversion);
306 object,
307 uuid(525ED3EE-5CF3-4e1e-9A06-5368A84F9A6E),
308 pointer_default(unique)
310 interface IBDA_DigitalDemodulator2 : IBDA_DigitalDemodulator
312 HRESULT put_GuardInterval([in] GuardInterval *pGuardInterval);
313 HRESULT get_GuardInterval([in, out] GuardInterval *pGuardInterval);
314 HRESULT put_TransmissionMode([in] TransmissionMode *pTransmissionMode);
315 HRESULT get_TransmissionMode([in, out] TransmissionMode *pTransmissionMode);
316 HRESULT put_RollOff([in] RollOff *pRollOff);
317 HRESULT get_RollOff([in, out] RollOff *pRollOff);
318 HRESULT put_Pilot([in] Pilot *pPilot);
319 HRESULT get_Pilot([in, out] Pilot *pPilot);
323 object,
324 uuid(13F19604-7D32-4359-93A2-A05205D90AC9),
325 pointer_default(unique)
327 interface IBDA_DigitalDemodulator3 : IBDA_DigitalDemodulator2
329 HRESULT put_SignalTimeouts([in] BDA_SIGNAL_TIMEOUTS *pSignalTimeouts);
330 HRESULT get_SignalTimeouts([in, out] BDA_SIGNAL_TIMEOUTS *pSignalTimeouts);
331 HRESULT put_PLPNumber([in] ULONG *pPLPNumber);
332 HRESULT get_PLPNumber([in, out] ULONG *pPLPNumber);
336 object,
337 uuid(4B2BD7EA-8347-467b-8DBF-62F784929CC3),
338 helpstring("ICCSubStreamFiltering Interface"),
339 pointer_default(unique)
341 interface ICCSubStreamFiltering : IUnknown
343 [propget, helpstring("property SubstreamTypes")] HRESULT SubstreamTypes([out, retval] long *pTypes);
344 [propput, helpstring("property SubstreamTypes")] HRESULT SubstreamTypes([in] long Types);
348 object,
349 uuid(3F4DC8E2-4050-11d3-8F4B-00C04F7971E2),
350 pointer_default(unique),
351 helpstring("Not supported - Use IBDA_IPSinkInfo instead")
353 interface IBDA_IPSinkControl : IUnknown
355 HRESULT GetMulticastList([in, out] unsigned long *pulcbSize, [in, out] BYTE **pbBuffer);
356 HRESULT GetAdapterIPAddress ([in,out] unsigned long *pulcbSize, [in,out] BYTE **pbBuffer);
360 object,
361 uuid(A750108F-492E-4d51-95F7-649B23FF7AD7),
362 pointer_default(unique)
364 interface IBDA_IPSinkInfo : IUnknown
366 HRESULT get_MulticastList([in, out] ULONG *pulcbAddresses,
367 [out, size_is(*pulcbAddresses)] BYTE **ppbAddressList);
368 HRESULT get_AdapterIPAddress([out] BSTR *pbstrBuffer);
369 HRESULT get_AdapterDescription([out] BSTR *pbstrBuffer);
373 object,
374 uuid (afb6c2a2-2c41-11d3-8a60-0000f81e0e4a),
375 pointer_default(unique)
377 interface IEnumPIDMap : IUnknown
379 HRESULT Next([in] ULONG cRequest,
380 [in, out, size_is (cRequest)] PID_MAP *pPIDMap,
381 [out] ULONG *pcReceived);
382 HRESULT Skip([in] ULONG cRecords);
383 HRESULT Reset(void);
384 HRESULT Clone([out] IEnumPIDMap **ppIEnumPIDMap);
388 object,
389 uuid (afb6c2a1-2c41-11d3-8a60-0000f81e0e4a),
390 pointer_default(unique)
392 interface IMPEG2PIDMap : IUnknown
394 HRESULT MapPID([in] ULONG culPID,
395 [in] ULONG *pulPID,
396 [in] MEDIA_SAMPLE_CONTENT MediaSampleContent);
397 HRESULT UnmapPID([in] ULONG culPID, [in] ULONG *pulPID);
398 HRESULT EnumPIDMap([out] IEnumPIDMap **pIEnumPIDMap);
402 object,
403 uuid(06FB45C1-693C-4ea7-B79F-7A6A54D8DEF2),
404 helpstring("IFrequencyMap Interface"),
405 pointer_default(unique),
406 hidden, restricted
408 interface IFrequencyMap : IUnknown
410 HRESULT get_FrequencyMapping([out] ULONG *ulCount, [out, size_is(1, *ulCount)] ULONG **ppulList);
411 HRESULT put_FrequencyMapping([in] ULONG ulCount, [in, size_is(ulCount)] ULONG pList[]);
412 HRESULT get_CountryCode([out] ULONG *pulCountryCode);
413 HRESULT put_CountryCode([in] ULONG ulCountryCode);
414 HRESULT get_DefaultFrequencyMapping([in] ULONG ulCountryCode,
415 [out] ULONG *pulCount,
416 [out, size_is(1, *pulCount)] ULONG **ppulList);
417 HRESULT get_CountryCodeList([out] ULONG* pulCount, [out, size_is(1, *pulCount)] ULONG **ppulList);
421 object,
422 uuid(D806973D-3EBE-46de-8FBB-6358FE784208),
423 helpstring("IBDA_EasMessage Interface"),
424 pointer_default(unique),
425 hidden, restricted
427 interface IBDA_EasMessage : IUnknown
429 HRESULT get_EasMessage([in] ULONG ulEventID, [in, out] IUnknown **ppEASObject);
433 object,
434 uuid(8E882535-5F86-47AB-86CF-C281A72A0549),
435 helpstring("IBDA_TransportStreamInfo Interface"),
436 pointer_default(unique),
437 hidden, restricted
439 interface IBDA_TransportStreamInfo : IUnknown
441 HRESULT get_PatTableTickCount([out] ULONG *pPatTickCount);
445 object,
446 uuid(CD51F1E0-7BE9-4123-8482-A2A796C0A6B0),
447 helpstring("IBDA_ConditionalAccess Interface"),
448 pointer_default(unique)
451 interface IBDA_ConditionalAccess : IUnknown
453 HRESULT get_SmartCardStatus([out] SmartCardStatusType *pCardStatus,
454 [out] SmartCardAssociationType *pCardAssociation,
455 [out] BSTR *pbstrCardError,
456 [out] VARIANT_BOOL *pfOOBLocked);
457 HRESULT get_SmartCardInfo([out] BSTR *pbstrCardName,
458 [out] BSTR *pbstrCardManufacturer,
459 [out] VARIANT_BOOL *pfDaylightSavings,
460 [out] BYTE *pbyRatingRegion,
461 [out] LONG *plTimeZoneOffsetMinutes,
462 [out] BSTR *pbstrLanguage,
463 [out] EALocationCodeType *pEALocationCode);
464 HRESULT get_SmartCardApplications([in, out] ULONG *pulcApplications,
465 [in] ULONG ulcApplicationsMax,
466 [in, out, size_is(ulcApplicationsMax)] SmartCardApplication rgApplications[]);
467 HRESULT get_Entitlement([in] USHORT usVirtualChannel, [out] EntitlementType *pEntitlement);
468 HRESULT TuneByChannel([in] USHORT usVirtualChannel);
469 HRESULT SetProgram([in] USHORT usProgramNumber);
470 HRESULT AddProgram([in] USHORT usProgramNumber);
471 HRESULT RemoveProgram([in] USHORT usProgramNumber);
472 HRESULT GetModuleUI([in] BYTE byDialogNumber, [out] BSTR *pbstrURL);
473 HRESULT InformUIClosed([in] BYTE byDialogNumber, [in] UICloseReasonType CloseReason);
477 object,
478 uuid(20e80cb5-c543-4c1b-8eb3-49e719eee7d4),
479 helpstring("IBDA_DiagnosticProperties Interface"),
480 pointer_default(unique),
482 interface IBDA_DiagnosticProperties : IPropertyBag
487 object,
488 uuid(F98D88B0-1992-4cd6-A6D9-B9AFAB99330D),
489 helpstring("IBDA_DRM Interface"),
490 pointer_default(unique),
492 interface IBDA_DRM : IUnknown
494 HRESULT GetDRMPairingStatus([out] DWORD *pdwStatus, [out] HRESULT *phError);
495 HRESULT PerformDRMPairing(BOOL fSync);
499 object,
500 uuid(7F0B3150-7B81-4ad4-98E3-7E9097094301),
501 helpstring("IBDA_NameValueService Interface"),
502 pointer_default(unique)
504 interface IBDA_NameValueService : IUnknown
506 HRESULT GetValueNameByIndex([in] ULONG ulIndex, [out] BSTR *pbstrName);
507 HRESULT GetValue([in] BSTR bstrName, [in] BSTR bstrLanguage, [out] BSTR *pbstrValue);
508 HRESULT SetValue([in] ULONG ulDialogRequest, [in] BSTR bstrLanguage,
509 [in] BSTR bstrName, [in] BSTR bstrValue, [in] ULONG ulReserved);
513 object,
514 uuid(497C3418-23CB-44ba-BB62-769F506FCEA7),
515 helpstring("IBDA_ConditionalAccessEx Interface"),
516 pointer_default(unique)
518 interface IBDA_ConditionalAccessEx : IUnknown
520 HRESULT CheckEntitlementToken([in] ULONG ulDialogRequest, [in] BSTR bstrLanguage,
521 [in] BDA_CONDITIONALACCESS_REQUESTTYPE RequestType,
522 [in] ULONG ulcbEntitlementTokenLen,
523 [in, size_is(ulcbEntitlementTokenLen)] BYTE *pbEntitlementToken,
524 [out] ULONG *pulDescrambleStatus);
525 HRESULT SetCaptureToken([in] ULONG ulcbCaptureTokenLen,
526 [in, size_is(ulcbCaptureTokenLen)] BYTE *pbCaptureToken);
527 HRESULT OpenBroadcastMmi([in] ULONG ulDialogRequest, [in] BSTR bstrLanguage, [in] ULONG EventId);
528 HRESULT CloseMmiDialog([in] ULONG ulDialogRequest, [in] BSTR bstrLanguage,
529 [in] ULONG ulDialogNumber, [in] BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode,
530 [out] ULONG *pulSessionResult);
531 HRESULT CreateDialogRequestNumber([out] ULONG *pulDialogRequestNumber);
535 object,
536 uuid(5E68C627-16C2-4e6c-B1E2-D00170CDAA0F),
537 helpstring("IBDA_ISDBConditionalAccess Interface"),
538 pointer_default(unique)
540 interface IBDA_ISDBConditionalAccess : IUnknown
542 HRESULT SetIsdbCasRequest([in] ULONG ulRequestId, [in] ULONG ulcbRequestBufferLen,
543 [in, size_is(ulcbRequestBufferLen)] BYTE *pbRequestBuffer);
547 object,
548 uuid(207C413F-00DC-4c61-BAD6-6FEE1FF07064),
549 helpstring("IBDA_EventingService Interface"),
550 pointer_default(unique)
552 interface IBDA_EventingService : IUnknown
554 HRESULT CompleteEvent([in] ULONG ulEventID, [in] ULONG ulEventResult);
558 object,
559 uuid(7DEf4C09-6E66-4567-A819-F0E17F4A81AB),
560 helpstring("IBDA_AUX Interface"),
561 pointer_default(unique)
563 interface IBDA_AUX : IUnknown
565 HRESULT QueryCapabilities([out] DWORD *pdwNumAuxInputsBSTR);
566 HRESULT EnumCapability([in] DWORD dwIndex, [out] DWORD *dwInputID, [out] GUID *pConnectorType,
567 [out] DWORD *ConnTypeNum, [out] DWORD *NumVideoStds,
568 [out] ULONGLONG *AnalogStds);
572 object,
573 uuid(3a8bad59-59fe-4559-a0ba-396cfaa98ae3),
574 helpstring("IBDA_ Encoder Interface"),
575 pointer_default(unique)
577 interface IBDA_Encoder : IUnknown
579 HRESULT QueryCapabilities([out] DWORD *NumAudioFmts, [out] DWORD *NumVideoFmts);
580 HRESULT EnumAudioCapability([in] DWORD FmtIndex, [out] DWORD *MethodID,
581 [out] DWORD *AlgorithmType, [out] DWORD *SamplingRate,
582 [out] DWORD *BitDepth, [out] DWORD *NumChannels);
583 HRESULT EnumVideoCapability([in] DWORD FmtIndex, [out] DWORD *MethodID,
584 [out] DWORD *AlgorithmType, [out] DWORD *VerticalSize,
585 [out] DWORD *HorizontalSize, [out] DWORD *AspectRatio,
586 [out] DWORD *FrameRateCode, [out] DWORD *ProgressiveSequence);
587 HRESULT SetParameters([in] DWORD AudioBitrateMode, [in] DWORD AudioBitrate,
588 [in] DWORD AudioMethodID, [in] DWORD AudioProgram,
589 [in] DWORD VideoBitrateMode, [in] DWORD VideoBitrate,
590 [in] DWORD VideoMethodID);
591 HRESULT GetState([out] DWORD *AudioBitrateMax, [out] DWORD *AudioBitrateMin,
592 [out] DWORD *AudioBitrateMode, [out] DWORD *AudioBitrateStepping,
593 [out] DWORD *AudioBitrate, [out] DWORD *AudioMethodID,
594 [out] DWORD *AvailableAudioPrograms, [out] DWORD *AudioProgram,
595 [out] DWORD *VideoBitrateMax, [out] DWORD *VideoBitrateMin,
596 [out] DWORD *VideoBitrateMode, [out] DWORD *VideoBitrate,
597 [out] DWORD *VideoBitrateStepping, [out] DWORD *VideoMethodID,
598 [out] DWORD *SignalSourceID, [out] ULONGLONG *SignalFormat,
599 [out] BOOL *SignalLock, [out] LONG *SignalLevel,
600 [out] DWORD *SignalToNoiseRatio);
604 object,
605 uuid(138adc7e-58ae-437f-b0b4-c9fe19d5b4ac),
606 helpstring("IBDA_ FDC Interface"),
607 pointer_default(unique)
609 interface IBDA_FDC : IUnknown
611 HRESULT GetStatus([out] DWORD *CurrentBitrate, [out] BOOL *CarrierLock,
612 [out] DWORD *CurrentFrequency, [out] BOOL *CurrentSpectrumInversion,
613 [out] BSTR *CurrentPIDList, [out] BSTR *CurrentTIDList, [out] BOOL *Overflow);
614 HRESULT RequestTables([in] BSTR TableIDs);
615 HRESULT AddPid([in] BSTR PidsToAdd, [out] DWORD *RemainingFilterEntries);
616 HRESULT RemovePid([in] BSTR PidsToRemove);
617 HRESULT AddTid([in] BSTR TidsToAdd, [out] BSTR *CurrentTidList);
618 HRESULT RemoveTid([in] BSTR TidsToRemove);
619 HRESULT GetTableSection([out] DWORD *Pid, [in] DWORD MaxBufferSize,
620 [out] DWORD *ActualSize, [out] BYTE *SecBuffer);
624 object,
625 uuid(C0AFCB73-23E7-4bc6-BAFA-FDC167B4719F),
626 helpstring("IBDA_ GuideDataDeliveryService Interface"),
627 pointer_default(unique)
629 interface IBDA_GuideDataDeliveryService: IUnknown
631 HRESULT GetGuideDataType([out] GUID *pguidDataType);
632 HRESULT GetGuideData([in, out] ULONG *pulcbBufferLen, [out] BYTE *pbBuffer,
633 [out] ULONG *pulGuideDataPercentageProgress);
634 HRESULT RequestGuideDataUpdate(void);
635 HRESULT GetTuneXmlFromServiceIdx([in] ULONG64 ul64ServiceIdx, [out] BSTR *pbstrTuneXml);
636 HRESULT GetServices([in, out] ULONG *pulcbBufferLen, [out] BYTE *pbBuffer);
637 HRESULT GetServiceInfoFromTuneXml([in] BSTR bstrTuneXml, [out] BSTR *pbstrServiceDescription);
641 object,
642 uuid(BFF6B5BB-B0AE-484c-9DCA-73528FB0B46E),
643 helpstring("IBDA_DRMService Interface"),
644 pointer_default(unique)
646 interface IBDA_DRMService: IUnknown
648 HRESULT SetDRM([in] GUID *puuidNewDrm);
649 HRESULT GetDRMStatus([out] BSTR *pbstrDrmUuidList, [out] GUID *DrmUuid);
653 object,
654 uuid(4BE6FA3D-07CD-4139-8B80-8C18BA3AEC88),
655 helpstring("IBDA_WMDRMSession Interface"),
656 pointer_default(unique)
658 interface IBDA_WMDRMSession: IUnknown
660 HRESULT GetStatus([out] ULONG *MaxCaptureToken, [out] ULONG *MaxStreamingPid,
661 [out] ULONG *MaxLicense, [out] ULONG *MinSecurityLevel,
662 [out] ULONG *RevInfoSequenceNumber, [out] ULONGLONG *RevInfoIssuedTime,
663 [out] ULONG *RevInfoTTL, [out] ULONG *RevListVersion, [out] ULONG *ulState);
664 HRESULT SetRevInfo([in] ULONG ulRevInfoLen, [in, size_is(ulRevInfoLen)] BYTE* pbRevInfo);
665 HRESULT SetCrl([in] ULONG ulCrlLen, [in, size_is(ulCrlLen)] BYTE *pbCrlLen);
666 HRESULT TransactMessage([in] ULONG ulcbRequest, [in, size_is(ulcbRequest)] BYTE *pbRequest,
667 [in, out] ULONG *pulcbResponse, [in, out] BYTE *pbResponse);
668 HRESULT GetLicense([in] GUID *uuidKey, [in, out] ULONG *pulPackageLen, [in, out] BYTE *pbPackage);
669 HRESULT ReissueLicense([in] GUID *uuidKey);
670 HRESULT RenewLicense([in] ULONG ulInXmrLicenseLen,
671 [in, size_is(ulInXmrLicenseLen)] BYTE *pbInXmrLicense,
672 [in] ULONG ulEntitlementTokenLen,
673 [in, size_is(ulEntitlementTokenLen)] BYTE *pbEntitlementToken,
674 [out] ULONG *pulDescrambleStatus, [in, out] ULONG *pulOutXmrLicenseLen,
675 [in, out] BYTE *pbOutXmrLicense);
676 HRESULT GetKeyInfo([in, out] ULONG *pulKeyInfoLen, [in, out] BYTE *pbKeyInfo);
680 object,
681 uuid(86D979CF-A8A7-4f94-B5FB-14C0ACA68FE6),
682 helpstring("IBDA_WMDRMTuner Interface"),
683 pointer_default(unique)
685 interface IBDA_WMDRMTuner: IUnknown
687 HRESULT PurchaseEntitlement([in] ULONG ulDialogRequest, [in] BSTR bstrLanguage,
688 [in] ULONG ulPurchaseTokenLen,
689 [in, size_is(ulPurchaseTokenLen)] BYTE *pbPurchaseToken,
690 [out] ULONG *pulDescrambleStatus,
691 [in, out] ULONG *pulCaptureTokenLen,
692 [in, out] BYTE *pbCaptureToken);
693 HRESULT CancelCaptureToken([in] ULONG ulCaptureTokenLen,
694 [in, size_is(ulCaptureTokenLen)] BYTE *pbCaptureToken);
695 HRESULT SetPidProtection([in] ULONG ulPid, [in] GUID *uuidKey);
696 HRESULT GetPidProtection([in] ULONG pulPid, [out] GUID *uuidKey);
697 HRESULT SetSyncValue([in] ULONG ulSyncValue);
698 HRESULT GetStartCodeProfile([in, out] ULONG *pulStartCodeProfileLen,
699 [in, out] BYTE *pbStartCodeProfile);
703 object,
704 uuid(1F9BC2A5-44A3-4c52-AAB1-0BBCE5A1381D),
705 helpstring("IBDA_DRIDRMService Interface"),
706 pointer_default(unique)
708 interface IBDA_DRIDRMService: IUnknown
710 HRESULT SetDRM([in] BSTR bstrNewDrm);
711 HRESULT GetDRMStatus([out] BSTR *pbstrDrmUuidList, [out] GUID *DrmUuid);
712 HRESULT GetPairingStatus([in, out] BDA_DrmPairingError *penumPairingStatus);
716 object,
717 uuid(05C690F8-56DB-4bb2-B053-79C12098BB26),
718 helpstring("IBDA_DRIWMDRMSession Interface"),
719 pointer_default(unique)
721 interface IBDA_DRIWMDRMSession: IUnknown
723 HRESULT AcknowledgeLicense([in] HRESULT hrLicenseAck);
724 HRESULT ProcessLicenseChallenge([in] DWORD dwcbLicenseMessage,
725 [in, size_is(dwcbLicenseMessage)] BYTE *pbLicenseMessage,
726 [in, out] DWORD *pdwcbLicenseResponse,
727 [in, out, size_is(* pdwcbLicenseResponse)] BYTE **ppbLicenseResponse);
728 HRESULT ProcessRegistrationChallenge([in] DWORD dwcbRegistrationMessage,
729 [in, size_is(dwcbRegistrationMessage)] BYTE *pbRegistrationMessage,
730 [in, out] DWORD *pdwcbRegistrationResponse,
731 [in, out] BYTE **ppbRegistrationResponse);
732 HRESULT SetRevInfo([in] DWORD dwRevInfoLen, [in, size_is(dwRevInfoLen)] BYTE *pbRevInfo,
733 [in, out] DWORD *pdwResponse);
734 HRESULT SetCrl([in] DWORD dwCrlLen, [in, size_is(dwCrlLen)] BYTE *pbCrlLen,
735 [in, out] DWORD *pdwResponse);
736 HRESULT GetHMSAssociationData(void);
737 HRESULT GetLastCardeaError([in, out] DWORD *pdwError);
741 object,
742 uuid(942AAFEC-4C05-4c74-B8EB-8706C2A4943F),
743 helpstring("IBDA_MUX Interface"),
744 pointer_default(unique)
746 interface IBDA_MUX: IUnknown
748 HRESULT SetPidList([in] ULONG ulPidListCount,
749 [in, size_is(ulPidListCount)] BDA_MUX_PIDLISTITEM *pbPidListBuffer);
750 HRESULT GetPidList([in, out] ULONG *pulPidListCount,
751 [in, out] BDA_MUX_PIDLISTITEM *pbPidListBuffer);
755 object,
756 uuid(1DCFAFE9-B45E-41b3-BB2A-561EB129AE98),
757 helpstring("IBDA_TransportStreamSelector Interface"),
758 pointer_default(unique)
760 interface IBDA_TransportStreamSelector : IUnknown
762 HRESULT SetTSID([in] USHORT usTSID);
763 HRESULT GetTSInformation([in, out] ULONG *pulTSInformationBufferLen,
764 [out, size_is(*pulTSInformationBufferLen)] BYTE *pbTSInformationBuffer);
768 object,
769 uuid(53B14189-E478-4b7a-A1FF-506DB4B99DFE),
770 helpstring("IBDA_UserActivityService Interface"),
771 pointer_default(unique)
773 interface IBDA_UserActivityService: IUnknown
775 HRESULT SetCurrentTunerUseReason([in] DWORD dwUseReason);
776 HRESULT GetUserActivityInterval([out] DWORD *pdwActivityInterval);
777 HRESULT UserActivityDetected(void);