⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bdaiface.idl

📁 墨香最新私服
💻 IDL
📖 第 1 页 / 共 3 页
字号:
    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 + -