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


//+--------------------------------------------------------------------------- 
// 
//  Microsoft Windows 
//  Copyright (c) Microsoft Corporation. All rights reserved. 
// 
//  File: netcfgn.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 "netcfgx.idl"; 
#endif 
 
 
[ 
    local, 
    object, 
    uuid(8d84bd35-e227-11d2-b700-00a0c98a6a85), 
    pointer_default(unique) 
] 
interface INetCfgPnpReconfigCallback : IUnknown 
{ 
    typedef [v1_enum] enum tagNCPNP_RECONFIG_LAYER 
    { 
        NCRL_NDIS = 1, 
        NCRL_TDI = 2 
    } NCPNP_RECONFIG_LAYER; 
 
    HRESULT SendPnpReconfig ( 
        [in] NCPNP_RECONFIG_LAYER Layer, 
        [in] LPCWSTR pszwUpper, 
        [in] LPCWSTR pszwLower, 
        [in] PVOID pvData, 
        [in] DWORD dwSizeOfData); 
}; 
 
[ 
    local, 
    object, 
    uuid(932238df-bea1-11d0-9298-00c04fc99dcf), 
    pointer_default(unique) 
] 
interface INetCfgComponentControl : IUnknown 
{ 
    HRESULT Initialize ( 
        [in] INetCfgComponent* pIComp, 
        [in] INetCfg* pINetCfg, 
        [in] BOOL fInstalling); 
 
    HRESULT ApplyRegistryChanges (); 
 
    HRESULT ApplyPnpChanges ( 
        [in] INetCfgPnpReconfigCallback* pICallback); 
 
    HRESULT CancelChanges (); 
}; 
 
[ 
    local, 
    object, 
    uuid(932238e3-bea1-11d0-9298-00c04fc99dcf), 
    pointer_default(unique) 
] 
interface INetCfgComponentSetup : IUnknown 
{ 
    typedef [v1_enum] enum tagNETWORK_INSTALL_TIME 
    { 
        NSF_PRIMARYINSTALL = 0x00000001, 
        NSF_POSTSYSINSTALL = 0x00000002 
    } NETWORK_INSTALL_TIME; 
 
    typedef [v1_enum] enum tagNETWORK_UPGRADE_TYPE 
    { 
        NSF_WIN16_UPGRADE      = 0x00000010, 
        NSF_WIN95_UPGRADE      = 0x00000020, 
        NSF_WINNT_WKS_UPGRADE  = 0x00000040, 
        NSF_WINNT_SVR_UPGRADE  = 0x00000080, 
        NSF_WINNT_SBS_UPGRADE  = 0x00000100, 
        NSF_COMPONENT_UPDATE   = 0x00000200, 
    } NETWORK_UPGRADE_TYPE; 
 
    HRESULT Install ( 
        [in] DWORD dwSetupFlags); 
 
    HRESULT Upgrade( 
        [in] DWORD dwSetupFlags, 
        [in] DWORD dwUpgradeFomBuildNo ); 
 
    HRESULT ReadAnswerFile( 
        [in] LPCWSTR pszwAnswerFile, 
        [in] LPCWSTR pszwAnswerSections); 
 
    HRESULT Removing (); 
}; 
 
[ 
    local, 
    object, 
    uuid(932238e0-bea1-11d0-9298-00c04fc99dcf), 
    pointer_default(unique) 
] 
interface INetCfgComponentPropertyUi : IUnknown 
{ 
    typedef [v1_enum] enum tagDEFAULT_PAGES 
    { 
        DPP_ADVANCED = 1, 
    } DEFAULT_PAGES; 
 
    HRESULT QueryPropertyUi ( 
        [in] IUnknown * pUnkReserved); 
 
    HRESULT SetContext ( 
        [in] IUnknown * pUnkReserved); 
 
    HRESULT MergePropPages ( 
        [in, out] DWORD* pdwDefPages, 
        [out] BYTE** pahpspPrivate, 
        [out] UINT* pcPages, 
        [in] HWND hwndParent, 
        [out] LPCWSTR *pszStartPage); 
 
    HRESULT ValidateProperties ( 
        [in] HWND hwndSheet); 
 
    HRESULT ApplyProperties (); 
    HRESULT CancelProperties (); 
}; 
 
[ 
    local, 
    object, 
    uuid(932238e1-bea1-11d0-9298-00c04fc99dcf), 
    pointer_default(unique) 
] 
interface INetCfgComponentNotifyBinding : IUnknown 
{ 
    typedef [v1_enum] enum tagBIND_FLAGS1 
    { 
        NCN_ADD                 = 0x00000001, 
        NCN_REMOVE              = 0x00000002, 
        NCN_UPDATE              = 0x00000004, 
        NCN_ENABLE              = 0x00000010, 
        NCN_DISABLE             = 0x00000020, 
        NCN_BINDING_PATH        = 0x00000100, 
        NCN_PROPERTYCHANGE      = 0x00000200, 
        NCN_NET                 = 0x00010000, 
        NCN_NETTRANS            = 0x00020000, 
        NCN_NETCLIENT           = 0x00040000, 
        NCN_NETSERVICE          = 0x00080000, 
    } BIND_FLAGS1; 
 
    HRESULT QueryBindingPath ( 
        [in] DWORD dwChangeFlag, 
        [in] INetCfgBindingPath* pIPath); 
 
    HRESULT NotifyBindingPath ( 
        [in] DWORD dwChangeFlag, 
        [in] INetCfgBindingPath* pIPath); 
}; 
 
[ 
    local, 
    object, 
    uuid(932238e2-bea1-11d0-9298-00c04fc99dcf), 
    pointer_default(unique) 
] 
interface INetCfgComponentNotifyGlobal : IUnknown 
{ 
    HRESULT GetSupportedNotifications ( 
        [out] DWORD* dwNotifications); 
 
    HRESULT SysQueryBindingPath ( 
        [in] DWORD dwChangeFlag, 
        [in] INetCfgBindingPath* pIPath); 
 
    HRESULT SysNotifyBindingPath ( 
        [in] DWORD dwChangeFlag, 
        [in] INetCfgBindingPath* pIPath); 
 
    HRESULT SysNotifyComponent ( 
        [in] DWORD dwChangeFlag, 
        [in] INetCfgComponent* pIComp); 
}; 
 
 
[ 
    local, 
    object, 
    uuid(932238e4-bea1-11d0-9298-00c04fc99dcf), 
    pointer_default(unique) 
] 
interface INetCfgComponentUpperEdge : IUnknown 
{ 
    // Return an array of interface ids for an adapter bound to 
    // this component.  If the specified adapter does not have explicit 
    // interfaces exported from it, S_FALSE is returned. 
    // pAdapter is the adapter in question. 
    // pdwNumInterfaces is the address of a DWORD where the count of elements 
    // returned via ppguidInterfaceIds is stored. 
    // ppguidInterfaceIds is the address of a pointer where an allocated 
    // block of memory is returned.  This memory is an array of interface ids. 
    // *ppguidInterfaceIds should be free with CoTaskMemFree if S_OK is 
    // returned. if S_FALSE is returned, *pdwNumInterfaces and 
    // *ppguidInterfaceIds should be NULL. 
    // 
    HRESULT GetInterfaceIdsForAdapter ( 
        [in] INetCfgComponent* pAdapter, 
        [out] DWORD*           pdwNumInterfaces, 
        [out] GUID**           ppguidInterfaceIds); 
 
    // Add the specified number of new interfaces to the specified adapter. 
    // The implementation will choose the interface ids. 
    // 
    HRESULT AddInterfacesToAdapter ( 
        [in] INetCfgComponent* pAdapter, 
        [in] DWORD dwNumInterfaces); 
 
    // Remove the specified interface ids from the specified adapter. 
    // pguidInterfaceIds is the array of ids to be removed.  dwNumInterfaces 
    // is the count in that array. 
    // 
    HRESULT RemoveInterfacesFromAdapter ( 
        [in] INetCfgComponent* pAdapter, 
        [in] DWORD dwNumInterfaces, 
        [in] const GUID* pguidInterfaceIds); 
}; 
 
//+--------------------------------------------------------------------------- 
// INetLanConnectionUiInfo - Used to obtain LAN connection-specific info 
// 
[ 
    object, 
    uuid(C08956A6-1CD3-11D1-B1C5-00805FC1270E), 
    pointer_default(unique) 
] 
interface INetLanConnectionUiInfo : IUnknown 
{ 
    HRESULT GetDeviceGuid ( 
        [out] GUID* pguid); 
}; 
 
//+--------------------------------------------------------------------------- 
// INetCfgComponentSysPrep - Used by SysPrep and mini-setup 
// 
[ 
    local, 
    object, 
    uuid(C0E8AE9A-306E-11D1-AACF-00805FC1270E), 
    pointer_default(unique) 
] 
interface INetCfgComponentSysPrep : IUnknown 
{ 
	HRESULT SaveAdapterParameters( 
		[in] INetCfgSysPrep* pncsp, 
		[in] LPCWSTR pszwAnswerSections, 
		[in] GUID* pAdapterInstanceGuid); 
 
	HRESULT RestoreAdapterParameters( 
		[in] LPCWSTR pszwAnswerFile,  
		[in] LPCWSTR pszwAnswerSection, 
		[in] GUID*   pAdapterInstanceGuid); 
};