www.pudn.com > PPPOE.rar > netcfgx.idl


//+--------------------------------------------------------------------------- 
// 
//  Microsoft Windows 
//  Copyright (c) Microsoft Corporation. All rights reserved. 
// 
//  File: netcfgx.idl 
// 
//---------------------------------------------------------------------------- 
 
cpp_quote("//+-------------------------------------------------------------------------") 
cpp_quote("//") 
cpp_quote("//  Microsoft Windows") 
cpp_quote("//  Copyright (c) Microsoft Corporation. All rights reserved.") 
cpp_quote("//") 
cpp_quote("//--------------------------------------------------------------------------") 
 
cpp_quote("#if ( _MSC_VER >= 800 )") 
cpp_quote("#pragma warning(disable:4201)") 
cpp_quote("#endif") 
 
#ifndef DO_NO_IMPORTS 
import "unknwn.idl"; 
import "wtypes.idl"; 
import "prsht.idl"; 
#endif 
 
cpp_quote("") 
cpp_quote("EXTERN_C const CLSID CLSID_CNetCfg;") 
cpp_quote("") 
 
cpp_quote("#define NETCFG_E_ALREADY_INITIALIZED                 MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA020)") 
cpp_quote("#define NETCFG_E_NOT_INITIALIZED                     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA021)") 
cpp_quote("#define NETCFG_E_IN_USE                              MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA022)") 
cpp_quote("#define NETCFG_E_NO_WRITE_LOCK                       MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA024)") 
cpp_quote("#define NETCFG_E_NEED_REBOOT                         MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA025)") 
cpp_quote("#define NETCFG_E_ACTIVE_RAS_CONNECTIONS              MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA026)") 
// THe network adapter does not exists in the system (Eisa and Mca) 
cpp_quote("#define NETCFG_E_ADAPTER_NOT_FOUND                   MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA027)") 
// The component was removed and cannot be added until the system is rebooted 
cpp_quote("#define NETCFG_E_COMPONENT_REMOVED_PENDING_REBOOT    MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA028)") 
 
cpp_quote("#define NETCFG_S_REBOOT                              MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xA020)") 
cpp_quote("#define NETCFG_S_DISABLE_QUERY                       MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xA022)") 
cpp_quote("#define NETCFG_S_STILL_REFERENCED                    MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xA023)") 
cpp_quote("#define NETCFG_S_CAUSED_SETUP_CHANGE                 MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xA024)") 
cpp_quote("#define NETCFG_S_COMMIT_NOW                          MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xA025)") 
 
cpp_quote("") 
 
cpp_quote("#define NETCFG_CLIENT_CID_MS_MSClient        TEXT(\"ms_msclient\")") 
cpp_quote("#define NETCFG_SERVICE_CID_MS_SERVER         TEXT(\"ms_server\")") 
cpp_quote("#define NETCFG_SERVICE_CID_MS_NETBIOS        TEXT(\"ms_netbios\")") 
cpp_quote("#define NETCFG_SERVICE_CID_MS_PSCHED         TEXT(\"ms_pschedpc\")") 
cpp_quote("#define NETCFG_SERVICE_CID_MS_WLBS           TEXT(\"ms_wlbs\")") 
cpp_quote("#define NETCFG_TRANS_CID_MS_APPLETALK        TEXT(\"ms_appletalk\")") 
cpp_quote("#define NETCFG_TRANS_CID_MS_NETBEUI          TEXT(\"ms_netbeui\")") 
cpp_quote("#define NETCFG_TRANS_CID_MS_NETMON           TEXT(\"ms_netmon\")") 
cpp_quote("#define NETCFG_TRANS_CID_MS_NWIPX            TEXT(\"ms_nwipx\")") 
cpp_quote("#define NETCFG_TRANS_CID_MS_NWSPX            TEXT(\"ms_nwspx\")") 
cpp_quote("#define NETCFG_TRANS_CID_MS_TCPIP            TEXT(\"ms_tcpip\")") 
 
// Reserved GUIDS for Microsoft use 
// 
// C0E8AE90-306E-11D1-AACF-00805FC1270E     IID_IEnumNetCfgBindingInterface 
// C0E8AE91-306E-11D1-AACF-00805FC1270E     IID_IEnumNetCfgBindingPath 
// C0E8AE92-306E-11D1-AACF-00805FC1270E     IID_IEnumNetCfgComponent 
// C0E8AE93-306E-11D1-AACF-00805FC1270E     IID_INetCfg 
// C0E8AE94-306E-11D1-AACF-00805FC1270E     IID_INetCfgBindingInterface 
// C0E8AE95-306E-11D1-AACF-00805FC1270E     IID_INetCfgProperties 
// C0E8AE96-306E-11D1-AACF-00805FC1270E     IID_INetCfgBindingPath 
// C0E8AE97-306E-11D1-AACF-00805FC1270E     IID_INetCfgClass 
// C0E8AE98-306E-11D1-AACF-00805FC1270E     IID_INetCfgSysPrep 
// C0E8AE99-306E-11D1-AACF-00805FC1270E     IID_INetCfgComponent 
// C0E8AE9A-306E-11D1-AACF-00805FC1270E     IID_INetCfgComponentSysPrep 
// C0E8AE9B-306E-11D1-AACF-00805FC1270E     (open) 
// C0E8AE9C-306E-11D1-AACF-00805FC1270E     (open) 
 
// C0E8AE9D-306E-11D1-AACF-00805FC1270E     IID_INetCfgClassSetup 
// C0E8AE9E-306E-11D1-AACF-00805FC1270E     IID_INetCfgComponentBindings 
// C0E8AE9F-306E-11D1-AACF-00805FC1270E     IID_INetCfgLock 
// C0E8AEA0-306E-11D1-AACF-00805FC1270E 
// C0E8AEA1-306E-11D1-AACF-00805FC1270E 
// C0E8AEA2-306E-11D1-AACF-00805FC1270E 
// C0E8AEA3-306E-11D1-AACF-00805FC1270E 
// C0E8AEA4-306E-11D1-AACF-00805FC1270E 
// C0E8AEA5-306E-11D1-AACF-00805FC1270E 
// C0E8AEA6-306E-11D1-AACF-00805FC1270E 
// C0E8AEA7-306E-11D1-AACF-00805FC1270E 
// C0E8AEA8-306E-11D1-AACF-00805FC1270E 
// C0E8AEA9-306E-11D1-AACF-00805FC1270E 
// ... 
// C0E8B266-306E-11D1-AACF-00805FC1270E 
// C0E8B267-306E-11D1-AACF-00805FC1270E 
// C0E8B268-306E-11D1-AACF-00805FC1270E 
 
 
interface IEnumNetCfgBindingInterface; 
interface IEnumNetCfgBindingPath; 
interface IEnumNetCfgComponent; 
interface INetCfg; 
interface INetCfgProperties; 
interface INetCfgLock; 
interface INetCfgBindingInterface; 
interface INetCfgBindingPath; 
interface INetCfgComponentBindings; 
interface INetCfgBindingPath; 
interface INetCfgClass; 
interface INetCfgComponent; 
interface INetCfgIdentification; 
interface INetCfgClassSetup; 
 
 
//+--------------------------------------------------------------------------- 
// IEnumNetCfgBindingInterface - 
[ 
    local, 
    object, 
    uuid(C0E8AE90-306E-11D1-AACF-00805FC1270E), 
    pointer_default(unique) 
] 
interface IEnumNetCfgBindingInterface : IUnknown 
{ 
    HRESULT Next ( 
        [in] ULONG celt, 
        [out, size_is(celt), length_is(*pceltFetched)] 
        INetCfgBindingInterface** rgelt, 
        [out] ULONG* pceltFetched); 
 
    HRESULT Skip ( 
        [in] ULONG celt); 
 
    HRESULT Reset (); 
 
    HRESULT Clone ( 
        [out] IEnumNetCfgBindingInterface** ppenum); 
}; 
 
 
//+--------------------------------------------------------------------------- 
// IEnumNetCfgBindingPath - 
[ 
    local, 
    object, 
    uuid(C0E8AE91-306E-11D1-AACF-00805FC1270E), 
    pointer_default(unique) 
] 
interface IEnumNetCfgBindingPath : IUnknown 
{ 
    HRESULT Next ( 
        [in] ULONG celt, 
        [out, size_is(celt), length_is(*pceltFetched)] 
        INetCfgBindingPath** rgelt, 
        [out] ULONG* pceltFetched); 
 
    HRESULT Skip ( 
        [in] ULONG celt); 
 
    HRESULT Reset (); 
 
    HRESULT Clone ( 
        [out] IEnumNetCfgBindingPath** ppenum); 
}; 
 
 
//+--------------------------------------------------------------------------- 
// IEnumNetCfgComponent - 
[ 
    local, 
    object, 
    uuid(C0E8AE92-306E-11D1-AACF-00805FC1270E), 
    pointer_default(unique) 
] 
interface IEnumNetCfgComponent : IUnknown 
{ 
    HRESULT Next ( 
        [in] ULONG celt, 
        [out, size_is(celt), length_is(*pceltFetched)] 
        INetCfgComponent** rgelt, 
        [out] ULONG* pceltFetched); 
 
    HRESULT Skip ( 
        [in] ULONG celt); 
 
    HRESULT Reset (); 
 
    HRESULT Clone ( 
        [out] IEnumNetCfgComponent** ppenum); 
}; 
 
 
//+--------------------------------------------------------------------------- 
// INetCfg - 
[ 
    local, 
    object, 
    uuid(C0E8AE93-306E-11D1-AACF-00805FC1270E), 
    pointer_default(unique) 
] 
interface INetCfg : IUnknown 
{ 
    HRESULT Initialize ( 
        [in] PVOID pvReserved); 
 
    HRESULT Uninitialize (); 
 
    HRESULT Apply (); 
 
    HRESULT Cancel (); 
 
    HRESULT EnumComponents ( 
        [in] const GUID* pguidClass, 
        [out] IEnumNetCfgComponent** ppenumComponent); 
 
    HRESULT FindComponent ( 
        [in, string] LPCWSTR pszwInfId, 
        [out] INetCfgComponent** pComponent); 
 
    HRESULT QueryNetCfgClass ( 
        [in] const GUID* pguidClass, 
        [in] REFIID riid, 
        [out, iid_is(riid)] void** ppvObject); 
}; 
 
 
//+--------------------------------------------------------------------------- 
// INetCfgLock - 
[ 
    local, 
    object, 
    uuid(C0E8AE9F-306E-11D1-AACF-00805FC1270E), 
    pointer_default(unique) 
] 
interface INetCfgLock : IUnknown 
{ 
    HRESULT AcquireWriteLock ( 
        [in] DWORD cmsTimeout, 
        [in, string] LPCWSTR pszwClientDescription, 
        [out, string] LPWSTR* ppszwClientDescription); 
 
    HRESULT ReleaseWriteLock (); 
 
    HRESULT IsWriteLocked ( 
        [out, string] LPWSTR* ppszwClientDescription); 
}; 
 
 
//+--------------------------------------------------------------------------- 
// INetCfgBindingInterface - 
[ 
    local, 
    object, 
    uuid(C0E8AE94-306E-11D1-AACF-00805FC1270E), 
    pointer_default(unique) 
] 
interface INetCfgBindingInterface : IUnknown 
{ 
    HRESULT GetName ( 
        [out, string] LPWSTR* ppszwInterfaceName); 
 
    HRESULT GetUpperComponent ( 
        [out] INetCfgComponent** ppnccItem); 
 
    HRESULT GetLowerComponent ( 
        [out] INetCfgComponent** ppnccItem); 
 
}; 
 
 
//+--------------------------------------------------------------------------- 
// INetCfgBindingPath - 
[ 
    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); 
};