📄 bdaiface.idl
字号:
pointer_default(unique)
]
interface IBDA_VoidTransform : IUnknown
{
HRESULT
Start (
void
);
HRESULT
Stop (
void
);
}
//---------------------------------------------------------------------
// IBDA_NullTransform interface
//---------------------------------------------------------------------
[
object,
uuid(DDF15B0D-BD25-11d2-9CA0-00C04F7971E0),
pointer_default(unique)
]
interface IBDA_NullTransform : IUnknown
{
HRESULT
Start (
void
);
HRESULT
Stop (
void
);
}
//---------------------------------------------------------------------
// IBDA_FrequencyFilter interface
//---------------------------------------------------------------------
[
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
);
}
//---------------------------------------------------------------------
// IBDA_LNBInfo interface
//---------------------------------------------------------------------
[
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
);
}
//---------------------------------------------------------------------
// IBDA_AutoDemodulate interface
//---------------------------------------------------------------------
[
object,
uuid(DDF15B12-BD25-11d2-9CA0-00C04F7971E0),
pointer_default(unique)
]
interface IBDA_AutoDemodulate : IUnknown
{
HRESULT
put_AutoDemodulate (
void
);
}
//---------------------------------------------------------------------
// IBDA_DigitalDemodulator interface
//---------------------------------------------------------------------
[
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;
//---------------------------------------------------------------------
// IBDA_IPSinkControl interface (mutlimedia\filters.ks\ipsink)
// IBDA_IPSinkInfo interface
//
// IBDA_IPSinkControl is no longer being supported for Ring3 clients.
// Use the BDA_IPSinkInfo interface instead.
//---------------------------------------------------------------------
[
object,
uuid(3F4DC8E2-4050-11d3-8F4B-00C04F7971E2),
pointer_default(unique),
helpstring("Not supported - Use IBDA_IPSinkInfo instead")
]
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
);
}
[
object,
uuid(A750108F-492E-4d51-95F7-649B23FF7AD7),
pointer_default(unique)
]
interface IBDA_IPSinkInfo : IUnknown
{
HRESULT get_MulticastList ( // returns N 6-byte 802.3 IP addreses.
[in, out] ULONG * pulcbAddresses, // 6*N
[out, size_is(*pulcbAddresses)] BYTE **ppbAddressList // Allocated by caller, must deallocate in callee with CoTaskMemFree()
);
HRESULT get_AdapterIPAddress (
[out] BSTR *pbstrBuffer
);
HRESULT get_AdapterDescription (
[out] BSTR *pbstrBuffer
);
}
//
// mpeg-2 demultiplexer-specific interfaces follow
//
//---------------------------------------------------------------------
// IEnumPIDMap interface
//---------------------------------------------------------------------
#ifdef REMOVE_THESE
typedef enum {
MEDIA_TRANSPORT_PACKET, // complete TS packet e.g. pass-through mode
MEDIA_ELEMENTARY_STREAM, // PES payloads; audio/video only
MEDIA_MPEG2_PSI, // PAT, PMT, CAT, Private
MEDIA_TRANSPORT_PAYLOAD // gathered TS packet payloads (PES packets, etc...)
} MEDIA_SAMPLE_CONTENT ;
typedef struct {
ULONG ulPID ;
MEDIA_SAMPLE_CONTENT MediaSampleContent ;
} PID_MAP ;
#endif // REMOVE_THESE
[
object,
uuid (afb6c2a2-2c41-11d3-8a60-0000f81e0e4a),
pointer_default(unique)
]
interface IEnumPIDMap : IUnknown
{
HRESULT
Next (
[in] ULONG cRequest,
[in, out, size_is (cRequest)] PID_MAP * pPIDMap,
[out] ULONG * pcReceived
) ;
HRESULT
Skip (
[in] ULONG cRecords
) ;
HRESULT
Reset (
) ;
HRESULT
Clone (
[out] IEnumPIDMap ** ppIEnumPIDMap
) ;
} ;
//---------------------------------------------------------------------
// IMPEG2PIDMap interface
//---------------------------------------------------------------------
[
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
) ;
} ;
/////////////////////////////////////////////////////////////////////////////
//
// Windows XP vs. DirectX 8.0 header merge
//
// The following is the original contents of this header from
// the DirectX 8.0 SDK.
//
/////////////////////////////////////////////////////////////////////////////
#else // DirectX 8.0 content
//---------------------------------------------------------------------
//
// IBDA_NetworkProvider interface
//
// Implemented by a BDA Network Provider
//
// Used by a BDA device filter to register itself with
// a Network Provider and query information about the
// the current tuning request.
//
//---------------------------------------------------------------------
[
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
);
}
//---------------------------------------------------------------------
//
// IBDA_EthernetFilter interface
//
// Implemented by a BDA Network Provider
//
// Used by an Ethernet Network Data Sink filter (eg. IPSink) to
// request that the Network Provider make its best effort to tune
// to the stream(s) on which a list of Ethernet multicast addresses
// may be transmitted.
//
// Addresses in the address list are byte aligned in Network order.
// UlcbAddresses will always be an integer multiple of the
// size of an ethernet address.
//
//---------------------------------------------------------------------
[
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, size_is(ulcbAddresses)] BYTE pAddressList []
);
HRESULT
GetMulticastList (
[in, out] ULONG * pulcbAddresses,
[out, size_is(*pulcbAddresses)] BYTE pAddressList []
);
HRESULT
PutMulticastMode (
[in] ULONG ulModeMask
);
HRESULT
GetMulticastMode (
[out] ULONG * pulModeMask
);
}
//---------------------------------------------------------------------
//
// IBDA_IPV4Filter interface
//
// Implemented by a BDA Network Provider
//
// Used by an IPv4 Network Data Sink filter to request
// that the Network Provider make its best effort to tune
// to the stream(s) on which a list of IPv4 multicast addresses
// may be transmitted.
//
// Addresses in the address list are byte aligned in Network order.
// UlcbAddresses will always be an integer multiple of the
// size of an IPv4 address.
//
//---------------------------------------------------------------------
[
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, size_is(ulcbAddresses)] BYTE pAddressList []
);
HRESULT
GetMulticastList (
[in, out] ULONG * pulcbAddresses,
[out, size_is(*pulcbAddresses)] BYTE pAddressList []
);
HRESULT
PutMulticastMode (
[in] ULONG ulModeMask
);
HRESULT
GetMulticastMode (
[out] ULONG* pulModeMask
);
}
//---------------------------------------------------------------------
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -