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

📄 bdaiface.idl

📁 C语言编程的不错工具
💻 IDL
📖 第 1 页 / 共 3 页
字号:
    //  IBDA_IPV6Filter interface
    //
    //  Implemented by a BDA Network Provider
    //
    //      Used by an IPv6 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 IPv6 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 IPv6 address.
    //
    //---------------------------------------------------------------------
    [
        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, 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_DeviceControl interface
    //
    //  Implemented by a BDA Device Filter
    //
    //      Used by the Network Provider to commit a series of changes
    //      on a BDA device filter.  The device filter validates and
    //      accumulates all changes requested after StartChanges().  It
    //      effects the accumulated list of changes when CommitChanges() is
    //      called.
    //
    //---------------------------------------------------------------------
    [
        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
            );

    }



    //---------------------------------------------------------------------
    //
    //  IBDA_PinControl interface
    //
    //  Implemented by a BDA Device Filter's Pin
    //
    //      Used by the Network Provider to determine the BDA PinID and
    //      PinType on a BDA Filter's Pin
    //
    //---------------------------------------------------------------------
    [
        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
            );
    }

    //---------------------------------------------------------------------
    //
    //  IBDA_SignalProperties interface
    //
    //  Implemented by a BDA Device Filter
    //
    //      BDA Signal Properties is used by a Network Provider to inform
    //      a BDA Device Filter about the current tuning request.  The
    //      Network Provider will call the Put functions when the BDA
    //      device is first registered with the Network Provider and whenever
    //      the current tuning request is modified.
    //
    //---------------------------------------------------------------------
    [
        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
            );
    }


    //---------------------------------------------------------------------
    //
    //  IBDA_Topology interface
    //
    //  Implemented by a BDA Device Filter
    //
    //      Used by the Network Provider to query a BDA Device Filter's
    //      possible topologies (template topology) and to configure
    //      the device with an appropriate topology for the current
    //      tuning request.  It is also used to get an IUnknown to
    //      a control node which may be used to set specific tuning
    //      information.
    //
    //---------------------------------------------------------------------
    [
        object,
        uuid(A14EE835-0A23-11d3-9CC7-00C04F7971E0),
        pointer_default(unique)
    ]

    interface IBDA_Topology : IUnknown
    {
        HRESULT
        GetNodeTypes (
            [in, out] ULONG *                           pulcNodeTypes,
            [in]  ULONG                                 ulcNodeTypesMax,
            [in, out, size_is (ulcNodeTypesMax)] ULONG  rgulNodeTypes[]
            );


        HRESULT
        GetNodeInterfaces (
            [in]  ULONG                                     ulNodeType,
            [in, out] ULONG *                               pulcInterfaces,
            [in]  ULONG                                     ulcInterfacesMax,
            [in, out, size_is (ulcInterfacesMax)] GUID *    rgguidInterfaces[]
            );

        HRESULT
        GetPinTypes (
            [in, out] ULONG *                           pulcPinTypes,
            [in]  ULONG                                 ulcPinTypesMax,
            [in, out, size_is (ulcPinTypesMax)] ULONG   rgulPinTypes[]
            );

        HRESULT
        GetTemplateConnections (
            [in, out] ULONG *                       pulcConnections,
            [in]  ULONG                             ulcConnectionsMax,
            [in, out, size_is (ulcConnectionsMax)] 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
            );
    }

    //---------------------------------------------------------------------
    // IBDA_VoidTransform interface
    //---------------------------------------------------------------------
    [
        object,
        uuid(71985F46-1CA1-11d3-9CC8-00C04F7971E0),
        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 *        pulTransponder
            );

        HRESULT
        put_Frequency (
            [in] ULONG *        pulFrequency
            );

        HRESULT
        get_Frequency (
            [in, out] ULONG *   pulFrequency
            );

        HRESULT
        put_Polarity (
            [in] ULONG *        pulPolarity
            );

        HRESULT
        get_Polarity (
            [in, out] ULONG *   pulPolarity
            );

        HRESULT
        put_Range (
            [in] ULONG *        pulRange
            );

        HRESULT
        get_Range (
            [in, out] ULONG *   pulRange
            );
    }

    //---------------------------------------------------------------------
    // 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
    //---------------------------------------------------------------------

    [
        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
        );

    }

    //
    //  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
            ) ;
    } ;


#endif    // DirectX 8.0 content

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -