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

📄 netcfgx.idl

📁 本源码是vc环境下的usb程序
💻 IDL
📖 第 1 页 / 共 2 页
字号:
[
    local,
    object,
    uuid(C0E8AE96-306E-11D1-AACF-00805FC1270E),
    pointer_default(unique)
]
interface INetCfgBindingPath : IUnknown
{
    HRESULT IsSamePathAs (
        [in] INetCfgBindingPath* pPath);

    HRESULT IsSubPathOf (
        [in] INetCfgBindingPath* pPath);

    HRESULT IsEnabled ();

    HRESULT Enable (
        [in] BOOL fEnable);

    HRESULT GetPathToken(
        [out, string] LPWSTR* ppszwPathToken);

    HRESULT GetOwner (
        [out] INetCfgComponent** ppComponent);

    HRESULT GetDepth (
        [out] ULONG* pcInterfaces);

    HRESULT EnumBindingInterfaces (
        [out] IEnumNetCfgBindingInterface** ppenumInterface);
};


//+---------------------------------------------------------------------------
// INetCfgClass -
[
    local,
    object,
    uuid(C0E8AE97-306E-11D1-AACF-00805FC1270E),
    pointer_default(unique)
]
interface INetCfgClass : IUnknown
{
    HRESULT FindComponent (
        [in, string] LPCWSTR pszwInfId,
        [out] INetCfgComponent** ppnccItem);

    HRESULT EnumComponents (
        [out] IEnumNetCfgComponent** ppenumComponent);
};


//+---------------------------------------------------------------------------
// INetCfgClassSetup -
[
    local,
    object,
    uuid(C0E8AE9D-306E-11D1-AACF-00805FC1270E),
    pointer_default(unique)
]
interface INetCfgClassSetup : IUnknown
{
    typedef enum tagOBO_TOKEN_TYPE
    {
        OBO_USER        = 1,
        OBO_COMPONENT   = 2,
        OBO_SOFTWARE    = 3,
    } OBO_TOKEN_TYPE;

    typedef struct tagOBO_TOKEN
    {
        OBO_TOKEN_TYPE  Type;

        // Type == OBO_COMPONENT
        //
        INetCfgComponent*   pncc;

        // Type == OBO_SOFTWARE
        //
        LPCWSTR             pszwManufacturer;
        LPCWSTR             pszwProduct;
        LPCWSTR             pszwDisplayName;

        // The following fields must be initialized to zero
        // by users of OBO_TOKEN.
        //
        BOOL    fRegistered;
    } OBO_TOKEN;

    HRESULT SelectAndInstall (
        [in]  HWND                  hwndParent,
        [in]  OBO_TOKEN*            pOboToken,
        [out] INetCfgComponent**    ppnccItem);

    HRESULT Install (
        [in, string] LPCWSTR            pszwInfId,
        [in]         OBO_TOKEN*         pOboToken,
        [in]         DWORD              dwSetupFlags,
        [in]         DWORD              dwUpgradeFromBuildNo,
        [in, string] LPCWSTR            pszwAnswerFile,
        [in, string] LPCWSTR            pszwAnswerSections,
        [out]        INetCfgComponent** ppnccItem);

    HRESULT DeInstall (
        [in]  INetCfgComponent* pComponent,
        [in]  OBO_TOKEN*        pOboToken,
        [out] LPWSTR*           pmszwRefs);
};


//+---------------------------------------------------------------------------
// INetCfgComponent -
[
    local,
    object,
    uuid(C0E8AE99-306E-11D1-AACF-00805FC1270E),
    pointer_default(unique)
]
interface INetCfgComponent : IUnknown
{
    typedef enum tagCOMPONENT_CHARACTERISTICS
    {
        NCF_VIRTUAL                     = 0x00000001,
        NCF_SOFTWARE_ENUMERATED         = 0x00000002,
        NCF_PHYSICAL                    = 0x00000004,
        NCF_HIDDEN                      = 0x00000008,
        NCF_NO_SERVICE                  = 0x00000010,
        NCF_NOT_USER_REMOVABLE          = 0x00000020,
        NCF_MULTIPORT_INSTANCED_ADAPTER = 0x00000040,  // This adapter has separate instances for each port
        NCF_HAS_UI                      = 0x00000080,
        NCF_SINGLE_INSTANCE             = 0x00000100,
        //                              = 0x00000200,  // filter device
        NCF_FILTER                      = 0x00000400,  // filter component
        NCF_DONTEXPOSELOWER             = 0x00001000,
        NCF_HIDE_BINDING                = 0x00002000,  // don't show in binding page
        NCF_NDIS_PROTOCOL               = 0x00004000,  // Needs UNLOAD notifications
        //                              = 0x00008000,
        //                              = 0x00010000,  // pnp notifications forced through service controller
        NCF_FIXED_BINDING               = 0x00020000   // UI ability to change binding is disabled
    } COMPONENT_CHARACTERISTICS;

    typedef enum tagNCRP_FLAGS
    {
        NCRP_QUERY_PROPERTY_UI          = 0x00000001,
        NCRP_SHOW_PROPERTY_UI           = 0x00000002
    } NCRP_FLAGS;

    HRESULT GetDisplayName (
        [out, string] LPWSTR* ppszwDisplayName);

    HRESULT SetDisplayName (
        [in, string] LPCWSTR pszwDisplayName);

    HRESULT GetHelpText (
        [out, string] LPWSTR* pszwHelpText);

    HRESULT GetId (
        [out, string] LPWSTR* ppszwId);

    HRESULT GetCharacteristics (
        [out] LPDWORD pdwCharacteristics);

    HRESULT GetInstanceGuid (
        [out] GUID* pGuid);

    HRESULT GetPnpDevNodeId (
        [out, string] LPWSTR* ppszwDevNodeId);

    HRESULT GetClassGuid (
        [out] GUID* pGuid);

    HRESULT GetBindName (
        [out, string] LPWSTR* ppszwBindName);

    HRESULT GetDeviceStatus (
        [out] ULONG* pulStatus);

    HRESULT OpenParamKey (
        [out] HKEY* phkey);

    HRESULT RaisePropertyUi (
        [in] HWND hwndParent,
        [in] DWORD dwFlags, /* NCRP_FLAGS */
        [in] IUnknown* punkContext);
};


//+---------------------------------------------------------------------------
// INetCfgComponentBindings -
[
    local,
    object,
    uuid(C0E8AE9E-306E-11D1-AACF-00805FC1270E),
    pointer_default(unique)
]
interface INetCfgComponentBindings : IUnknown
{
    typedef enum tagSUPPORTS_BINDING_INTERFACE_FLAGS
    {
        NCF_LOWER   = 0x01,
        NCF_UPPER   = 0x02
    } SUPPORTS_BINDING_INTERFACE_FLAGS;

    typedef enum tagENUM_BINDING_PATHS_FLAGS
    {
        EBP_ABOVE     = 0x01,
        EBP_BELOW     = 0x02,
    } ENUM_BINDING_PATHS_FLAGS;

    HRESULT BindTo (
        [in] INetCfgComponent* pnccItem);

    HRESULT UnbindFrom (
        [in] INetCfgComponent* pnccItem);

    HRESULT SupportsBindingInterface (
        [in] DWORD dwFlags,
        [in] LPCWSTR pszwInterfaceName);

    HRESULT IsBoundTo (
        [in] INetCfgComponent* pnccItem);

    HRESULT IsBindableTo (
        [in] INetCfgComponent* pnccItem);

    HRESULT EnumBindingPaths (
        [in] DWORD dwFlags,
        [out] IEnumNetCfgBindingPath** ppIEnum);

    HRESULT MoveBefore (
        [in] INetCfgBindingPath* pncbItemSrc,
        [in] INetCfgBindingPath* pncbItemDest);

    HRESULT MoveAfter (
        [in] INetCfgBindingPath* pncbItemSrc,
        [in] INetCfgBindingPath* pncbItemDest);
};

//+---------------------------------------------------------------------------
// INetCfgSysPrep -
[
    local,
    object,
    uuid(C0E8AE98-306E-11D1-AACF-00805FC1270E),
    pointer_default(unique)
]
interface INetCfgSysPrep : IUnknown
{
	HRESULT HrSetupSetFirstDword(
        [in, string] LPCWSTR pwszSection,
        [in, string] LPCWSTR pwszKey,
        [in]         DWORD   dwValue);

    HRESULT HrSetupSetFirstString(
        [in, string] LPCWSTR pwszSection,
        [in, string] LPCWSTR pwszKey,
        [in, string] LPCWSTR pwszValue);

    HRESULT HrSetupSetFirstStringAsBool(
        [in, string] LPCWSTR pwszSection,
        [in, string] LPCWSTR pwszKey,
        [in]         BOOL    fValue);

    HRESULT HrSetupSetFirstMultiSzField(
        [in, string] LPCWSTR pwszSection,
        [in, string] LPCWSTR pwszKey,
        [in]         LPCWSTR pmszValue);
};

⌨️ 快捷键说明

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