reactos/sdk/include/psdk/bdaiface.idl

607 lines
14 KiB
Text

#ifndef DO_NO_IMPORTS
import "unknwn.idl";
import "strmif.idl";
import "bdatypes.h";
#endif
/************************************************************
* interface IBDA_NetworkProvider
*/
[
object,
uuid(fd501041-8ebe-11ce-8183-00aa00577da2),
pointer_default(unique)
]
interface IBDA_NetworkProvider : IUnknown
{
HRESULT PutSignalSource(
[in] ULONG ulSignalSource);
HRESULT GetSignalSource(
[in, out] ULONG * pulSignalSource);
HRESULT GetNetworkType(
[in, out] GUID * pguidNetworkType);
HRESULT PutTuningSpace(
[in] REFGUID guidTuningSpace);
HRESULT GetTuningSpace(
[in, out] GUID * pguidTuingSpace);
HRESULT RegisterDeviceFilter(
[in] IUnknown * pUnkFilterControl,
[in, out] ULONG * ppvRegisitrationContext);
HRESULT UnRegisterDeviceFilter(
[in] ULONG pvRegistrationContext);
}
/************************************************************
* interface IBDA_EthernetFilter
*/
[
object,
uuid(71985F43-1CA1-11d3-9CC8-00C04F7971E0),
pointer_default(unique)
]
interface IBDA_EthernetFilter : IUnknown
{
HRESULT GetMulticastListSize(
[in, out] ULONG * pulcbAddresses);
HRESULT PutMulticastList(
[in] ULONG ulcbAddresses,
[in] BYTE * pAddressList);
HRESULT GetMulticastList(
[in, out] ULONG * pulcbAddresses,
[out] BYTE * pAddressList);
HRESULT PutMulticastMode(
[in] ULONG ulModeMask);
HRESULT GetMulticastMode(
[out] ULONG * pulModeMask);
}
/************************************************************
* interface IBDA_IPV4Filter
*/
[
object,
uuid(71985F44-1CA1-11d3-9CC8-00C04F7971E0),
pointer_default(unique)
]
interface IBDA_IPV4Filter : IUnknown
{
HRESULT GetMulticastListSize(
[in, out] ULONG * pulcbAddresses);
HRESULT PutMulticastList(
[in] ULONG ulcbAddresses,
[in] BYTE * pAddressList);
HRESULT GetMulticastList(
[in, out] ULONG * pulcbAddresses,
[out] BYTE * pAddressList);
HRESULT PutMulticastMode(
[in] ULONG ulModeMask);
HRESULT GetMulticastMode(
[out] ULONG * pulModeMask);
}
/************************************************************
* interface IBDA_IPV6Filter
*/
[
object,
uuid(E1785A74-2A23-4fb3-9245-A8F88017EF33),
pointer_default(unique)
]
interface IBDA_IPV6Filter : IUnknown
{
HRESULT GetMulticastListSize(
[in, out] ULONG * pulcbAddresses);
HRESULT PutMulticastList(
[in] ULONG ulcbAddresses,
[in] BYTE * pAddressList);
HRESULT GetMulticastList(
[in, out] ULONG * pulcbAddresses,
[out] BYTE * pAddressList);
HRESULT PutMulticastMode(
[in] ULONG ulModeMask);
HRESULT GetMulticastMode(
[out] ULONG * pulModeMask);
}
/************************************************************
* interface IBDA_DeviceControl
*/
[
object,
uuid(FD0A5AF3-B41D-11d2-9C95-00C04F7971E0),
pointer_default(unique)
]
interface IBDA_DeviceControl : IUnknown
{
HRESULT StartChanges(void);
HRESULT CheckChanges(void);
HRESULT CommitChanges(void);
HRESULT GetChangeState(
[in, out] ULONG * pState);
}
/************************************************************
* interface IBDA_PinControl
*/
[
object,
uuid(0DED49D5-A8B7-4d5d-97A1-12B0C195874D),
pointer_default(unique)
]
interface IBDA_PinControl : IUnknown
{
HRESULT GetPinID(
[in, out] ULONG * pulPinID);
HRESULT GetPinType(
[in, out] ULONG * pulPinType);
HRESULT RegistrationContext(
[in, out] ULONG * pulRegistrationCtx);
}
/************************************************************
* interface IBDA_SignalProperties
*/
[
object,
uuid(D2F1644B-B409-11d2-BC69-00A0C9EE9E16),
pointer_default(unique)
]
interface IBDA_SignalProperties : IUnknown
{
HRESULT PutNetworkType(
[in] REFGUID guidNetworkType);
HRESULT GetNetworkType(
[in, out] GUID * pguidNetworkType);
HRESULT PutSignalSource(
[in] ULONG ulSignalSource);
HRESULT GetSignalSource(
[in, out] ULONG * pulSignalSource);
HRESULT PutTuningSpace(
[in] REFGUID guidTuningSpace);
HRESULT GetTuningSpace(
[in, out] GUID * pguidTuingSpace);
}
/************************************************************
* interface IBDA_SignalStatistics
*/
[
object,
uuid(1347D106-CF3A-428a-A5CB-AC0D9A2A4338),
pointer_default(unique)
]
interface IBDA_SignalStatistics : IUnknown
{
HRESULT put_SignalStrength(
[in] LONG lDbStrength);
HRESULT get_SignalStrength(
[in, out] LONG * plDbStrength);
HRESULT put_SignalQuality(
[in] LONG lPercentQuality);
HRESULT get_SignalQuality(
[in, out] LONG * plPercentQuality);
HRESULT put_SignalPresent(
[in] BOOLEAN fPresent);
HRESULT get_SignalPresent(
[in, out] BOOLEAN * pfPresent);
HRESULT put_SignalLocked(
[in] BOOLEAN fLocked);
HRESULT get_SignalLocked(
[in, out] BOOLEAN * pfLocked);
HRESULT put_SampleTime(
[in] LONG lmsSampleTime);
HRESULT get_SampleTime(
[in, out] LONG * plmsSampleTime);
}
/************************************************************
* interface IBDA_Topology
*/
[
object,
uuid(79B56888-7FEA-4690-B45D-38FD3C7849BE),
pointer_default(unique)
]
interface IBDA_Topology : IUnknown
{
HRESULT GetNodeTypes(
[in, out] ULONG * pulcNodeTypes,
[in] ULONG ulcNodeTypesMax,
[in, out] ULONG * rgulNodeTypes);
HRESULT GetNodeDescriptors(
[in, out] ULONG * ulcNodeDescriptors,
[in] ULONG ulcNodeDescriptorsMax,
[in, out] BDANODE_DESCRIPTOR * rgNodeDescriptors);
HRESULT GetNodeInterfaces(
[in] ULONG ulNodeType,
[in, out] ULONG * pulcInterfaces,
[in] ULONG ulcInterfacesMax,
[in, out] GUID * rgguidInterfaces);
HRESULT GetPinTypes(
[in, out] ULONG * pulcPinTypes,
[in] ULONG ulcPinTypesMax,
[in, out] ULONG * rgulPinTypes);
HRESULT GetTemplateConnections(
[in, out] ULONG * pulcConnections,
[in] ULONG ulcConnectionsMax,
[in, out, ] BDA_TEMPLATE_CONNECTION * rgConnections);
HRESULT CreatePin(
[in] ULONG ulPinType,
[in, out] ULONG * pulPinId);
HRESULT DeletePin(
[in] ULONG ulPinId);
HRESULT SetMediaType(
[in] ULONG ulPinId,
[in] AM_MEDIA_TYPE * pMediaType);
HRESULT SetMedium(
[in] ULONG ulPinId,
[in] REGPINMEDIUM * pMedium);
HRESULT CreateTopology(
[in] ULONG ulInputPinId,
[in] ULONG ulOutputPinId);
HRESULT GetControlNode(
[in] ULONG ulInputPinId,
[in] ULONG ulOutputPinId,
[in] ULONG ulNodeType,
[in, out] IUnknown ** ppControlNode);
}
/************************************************************
* interface IBDA_VoidTransform
*/
[
object,
uuid(71985F46-1CA1-11d3-9CC8-00C04F7971E0),
pointer_default(unique)
]
interface IBDA_VoidTransform : IUnknown
{
HRESULT Start();
HRESULT Stop();
}
/************************************************************
* interface IBDA_NullTransform
*/
[
object,
uuid(DDF15B0D-BD25-11d2-9CA0-00C04F7971E0),
pointer_default(unique)
]
interface IBDA_NullTransform : IUnknown
{
HRESULT Start();
HRESULT Stop();
}
/************************************************************
* interface IBDA_FrequencyFilter
*/
[
object,
uuid(71985F47-1CA1-11d3-9CC8-00C04F7971E0),
pointer_default(unique)
]
interface IBDA_FrequencyFilter : IUnknown
{
HRESULT put_Autotune(
[in] ULONG ulTransponder);
HRESULT get_Autotune(
[in, out] ULONG * pulTransponder);
HRESULT put_Frequency(
[in] ULONG ulFrequency);
HRESULT get_Frequency(
[in, out] ULONG * pulFrequency);
HRESULT put_Polarity(
[in] Polarisation Polarity);
HRESULT get_Polarity(
[in, out] Polarisation * pPolarity);
HRESULT put_Range(
[in] ULONG ulRange);
HRESULT get_Range(
[in, out] ULONG * pulRange);
HRESULT put_Bandwidth(
[in] ULONG ulBandwidth);
HRESULT get_Bandwidth(
[in, out] ULONG * pulBandwidth);
HRESULT put_FrequencyMultiplier(
[in] ULONG ulMultiplier);
HRESULT get_FrequencyMultiplier(
[in, out] ULONG * pulMultiplier);
}
/************************************************************
* interface IBDA_LNBInfo
*/
[
object,
uuid(992CF102-49F9-4719-A664-C4F23E2408F4),
pointer_default(unique)
]
interface IBDA_LNBInfo : IUnknown
{
HRESULT put_LocalOscilatorFrequencyLowBand(
[in] ULONG ulLOFLow);
HRESULT get_LocalOscilatorFrequencyLowBand(
[in, out] ULONG * pulLOFLow);
HRESULT put_LocalOscilatorFrequencyHighBand(
[in] ULONG ulLOFHigh);
HRESULT get_LocalOscilatorFrequencyHighBand(
[in, out] ULONG * pulLOFHigh);
HRESULT put_HighLowSwitchFrequency(
[in] ULONG ulSwitchFrequency);
HRESULT get_HighLowSwitchFrequency(
[in, out] ULONG * pulSwitchFrequency);
}
/************************************************************
* interface IBDA_AutoDemodulate
*/
[
object,
uuid(DDF15B12-BD25-11d2-9CA0-00C04F7971E0),
pointer_default(unique)
]
interface IBDA_AutoDemodulate : IUnknown
{
HRESULT put_AutoDemodulate();
}
/************************************************************
* interface IBDA_DigitalDemodulator
*/
[
object,
uuid(EF30F379-985B-4d10-B640-A79D5E04E1E0),
pointer_default(unique)
]
interface IBDA_DigitalDemodulator : IUnknown
{
HRESULT put_ModulationType(
[in] ModulationType * pModulationType);
HRESULT get_ModulationType(
[in, out] ModulationType * pModulationType);
HRESULT put_InnerFECMethod(
[in] FECMethod * pFECMethod);
HRESULT get_InnerFECMethod(
[in, out] FECMethod * pFECMethod);
HRESULT put_InnerFECRate(
[in] BinaryConvolutionCodeRate * pFECRate);
HRESULT get_InnerFECRate(
[in, out] BinaryConvolutionCodeRate * pFECRate);
HRESULT put_OuterFECMethod(
[in] FECMethod * pFECMethod);
HRESULT get_OuterFECMethod(
[in, out] FECMethod * pFECMethod);
HRESULT put_OuterFECRate(
[in] BinaryConvolutionCodeRate * pFECRate);
HRESULT get_OuterFECRate(
[in, out] BinaryConvolutionCodeRate * pFECRate);
HRESULT put_SymbolRate(
[in] ULONG * pSymbolRate);
HRESULT get_SymbolRate(
[in, out] ULONG * pSymbolRate);
HRESULT put_SpectralInversion(
[in] SpectralInversion * pSpectralInversion);
HRESULT get_SpectralInversion(
[in, out] SpectralInversion * pSpectralInversion);
}
typedef enum
{
KSPROPERTY_IPSINK_MULTICASTLIST,
KSPROPERTY_IPSINK_ADAPTER_DESCRIPTION,
KSPROPERTY_IPSINK_ADAPTER_ADDRESS
}KSPROPERTY_IPSINK;
/************************************************************
* interface IBDA_IPSinkControl
*/
[
object,
uuid(3F4DC8E2-4050-11d3-8F4B-00C04F7971E2),
pointer_default(unique),
]
interface IBDA_IPSinkControl : IUnknown
{
HRESULT GetMulticastList(
[in, out] unsigned long *pulcbSize,
[in, out] BYTE **pbBuffer);
HRESULT GetAdapterIPAddress(
[in, out] unsigned long *pulcbSize,
[in, out] BYTE ** pbBuffer);
}
/************************************************************
* interface IBDA_IPSinkInfo
*/
[
object,
uuid(A750108F-492E-4d51-95F7-649B23FF7AD7),
pointer_default(unique)
]
interface IBDA_IPSinkInfo : IUnknown
{
HRESULT get_MulticastList(
[in, out] ULONG * pulcbAddresses,
[out] BYTE **ppbAddressList);
HRESULT get_AdapterIPAddress(
[out] BSTR *pbstrBuffer);
HRESULT get_AdapterDescription(
[out] BSTR *pbstrBuffer);
}
/************************************************************
* interface IEnumPIDMap
*/
[
object,
uuid(afb6c2a2-2c41-11d3-8a60-0000f81e0e4a),
pointer_default(unique)
]
interface IEnumPIDMap : IUnknown
{
HRESULT Next(
[in] ULONG cRequest,
[in, out] PID_MAP * pPIDMap,
[out] ULONG * pcReceived);
HRESULT Skip(
[in] ULONG cRecords);
HRESULT Reset();
HRESULT Clone(
[out] IEnumPIDMap ** ppIEnumPIDMap);
} ;
/************************************************************
* interface IMPEG2PIDMap
*/
[
object,
uuid(afb6c2a1-2c41-11d3-8a60-0000f81e0e4a),
pointer_default(unique)
]
interface IMPEG2PIDMap : IUnknown
{
HRESULT MapPID(
[in] ULONG culPID,
[in] ULONG * pulPID,
[in] MEDIA_SAMPLE_CONTENT MediaSampleContent);
HRESULT UnmapPID(
[in] ULONG culPID,
[in] ULONG * pulPID);
HRESULT EnumPIDMap(
[out] IEnumPIDMap ** pIEnumPIDMap);
} ;
/************************************************************
* interface IFrequencyMap
*/
[
object,
uuid(06FB45C1-693C-4ea7-B79F-7A6A54D8DEF2),
pointer_default(unique),
]
interface IFrequencyMap : IUnknown
{
HRESULT get_FrequencyMapping(
[out] ULONG* ulCount,
[out] ULONG** ppulList);
HRESULT put_FrequencyMapping(
[in] ULONG ulCount,
[in] ULONG *pList);
HRESULT get_CountryCode([out] ULONG *pulCountryCode);
HRESULT put_CountryCode(
[in] ULONG ulCountryCode);
HRESULT get_DefaultFrequencyMapping(
[in] ULONG ulCountryCode,
[out] ULONG* pulCount,
[out] ULONG** ppulList);
HRESULT get_CountryCodeList(
[out] ULONG* pulCount,
[out] ULONG** ppulList);
};