255 lines
6.8 KiB
Plaintext
255 lines
6.8 KiB
Plaintext
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// File: netcfgp.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
|
|
|
|
cpp_quote("STDAPI")
|
|
cpp_quote("SvchostChangeSvchostGroup (")
|
|
cpp_quote(" LPCWSTR pszService,")
|
|
cpp_quote(" LPCWSTR pszNewGroup")
|
|
cpp_quote(" );")
|
|
|
|
// Reserved GUIDS for our use
|
|
//
|
|
// 98133270-4B20-11D1-AB01-00805FC1270E IID_IIpxAdapterInfo
|
|
// 98133271-4B20-11D1-AB01-00805FC1270E IID_ITcpipProperties
|
|
// 98133272-4B20-11D1-AB01-00805FC1270E (available)
|
|
// 98133273-4B20-11D1-AB01-00805FC1270E IID_INetCfgComponentPrivate
|
|
// 98133274-4B20-11D1-AB01-00805FC1270E IID_INetInstallQueue
|
|
// 98133275-4B20-11D1-AB01-00805FC1270E IID_IRasBindingConfig
|
|
// 98133276-4B20-11D1-AB01-00805FC1270E IID_INetCfgInternalSetup
|
|
// 98133277-4B20-11D1-AB01-00805FC1270E
|
|
// ...
|
|
// 981332C4-4B20-11D1-AB01-00805FC1270E
|
|
// 981332C5-4B20-11D1-AB01-00805FC1270E
|
|
|
|
interface IIpxAdapterInfo;
|
|
interface INetCfgComponentPrivate;
|
|
interface INetCfgInternalSetup;
|
|
interface INetInstallQueue;
|
|
interface IRasBindingConfig;
|
|
interface ITcpipProperties;
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// IIpxAdapterInfo -
|
|
//
|
|
// This interface is implemented by the IPX notify object. It is
|
|
// queryable by clients of INetCfg (via INetCfgComponent->QueryNotifyObject).
|
|
//
|
|
[
|
|
local,
|
|
object,
|
|
uuid(98133270-4B20-11D1-AB01-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface IIpxAdapterInfo : IUnknown
|
|
{
|
|
HRESULT GetFrameTypesForAdapter (
|
|
[in, string] LPCWSTR pszwAdapterBindName,
|
|
[in] DWORD cFrameTypesMax,
|
|
[out, size_is (cFrameTypesMax),
|
|
length_is (*pcFrameTypes)]
|
|
DWORD* anFrameTypes,
|
|
[out, ref] DWORD* pcFrameTypes);
|
|
|
|
HRESULT GetVirtualNetworkNumber (
|
|
[out] DWORD* pdwVNetworkNumber);
|
|
|
|
HRESULT SetVirtualNetworkNumber(
|
|
[in] DWORD dwVNetworkNumber);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// ITcpipProperties -
|
|
//
|
|
// This interface is implemented by the TCP/IP notify object. It is
|
|
// queryable by clients of INetCfg (via INetCfgComponent->QueryNotifyObject).
|
|
//
|
|
[
|
|
local,
|
|
object,
|
|
uuid(98133271-4B20-11D1-AB01-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITcpipProperties : IUnknown
|
|
{
|
|
// The following two methods are for remote tcpip configuration.
|
|
typedef struct tagREMOTE_IPINFO
|
|
{
|
|
DWORD dwEnableDhcp;
|
|
WCHAR * pszwIpAddrList;
|
|
WCHAR * pszwSubnetMaskList;
|
|
WCHAR * pszwOptionList;
|
|
|
|
} REMOTE_IPINFO;
|
|
|
|
HRESULT GetIpInfoForAdapter(
|
|
[in] const GUID* pguidAdapter,
|
|
[out] REMOTE_IPINFO** ppInfo);
|
|
|
|
HRESULT SetIpInfoForAdapter(
|
|
[in] const GUID* pguidAdapter,
|
|
[in] REMOTE_IPINFO* pInfo);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetCfgInternalSetup -
|
|
//
|
|
// This interface used by the internal clients to notify INetCfg of
|
|
// new or updated components.
|
|
//
|
|
[
|
|
local,
|
|
object,
|
|
uuid(98133276-4B20-11D1-AB01-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetCfgInternalSetup : IUnknown
|
|
{
|
|
HRESULT BeginBatchOperation ();
|
|
|
|
HRESULT CommitBatchOperation ();
|
|
|
|
typedef enum tagCI_FILTER_COMPONENT
|
|
{
|
|
FC_LAN,
|
|
FC_RASSRV,
|
|
FC_RASCLI,
|
|
FC_ATM,
|
|
} CI_FILTER_COMPONENT;
|
|
|
|
typedef struct tagCI_FILTER_INFO
|
|
{
|
|
CI_FILTER_COMPONENT eFilter;
|
|
INetCfgComponent* pIComp;
|
|
void* pvReserved;
|
|
} CI_FILTER_INFO;
|
|
|
|
HRESULT SelectWithFilterAndInstall (
|
|
[in] HWND hwndParent,
|
|
[in] const GUID* pClassGuid,
|
|
[in] OBO_TOKEN* pOboToken,
|
|
[in] const CI_FILTER_INFO* pcfi,
|
|
[out] INetCfgComponent** ppIComp);
|
|
|
|
HRESULT EnumeratedComponentInstalled (
|
|
[in] PVOID pComponent /* type of CComponent */);
|
|
|
|
HRESULT EnumeratedComponentUpdated (
|
|
[in] LPCWSTR pszPnpId);
|
|
|
|
HRESULT UpdateNonEnumeratedComponent (
|
|
[in] INetCfgComponent* pIComp,
|
|
[in] DWORD dwSetupFlags,
|
|
[in] DWORD dwUpgradeFromBuildNo);
|
|
|
|
HRESULT EnumeratedComponentRemoved (
|
|
[in] LPCWSTR pszPnpId);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetCfgComponentPrivate -
|
|
//
|
|
// This interface used by the internal clients to access private methods
|
|
// off of INetCfgComponent.
|
|
//
|
|
[
|
|
local,
|
|
object,
|
|
uuid(98133273-4B20-11D1-AB01-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetCfgComponentPrivate : IUnknown
|
|
{
|
|
HRESULT QueryNotifyObject (
|
|
[in] REFIID riid,
|
|
[out, iid_is(riid)] void** ppvObject);
|
|
|
|
HRESULT SetDirty ();
|
|
|
|
HRESULT NotifyUpperEdgeConfigChange ();
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetInstallQueue -
|
|
//
|
|
[
|
|
object,
|
|
uuid(98133274-4B20-11D1-AB01-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetInstallQueue : IUnknown
|
|
{
|
|
typedef enum tagNC_INSTALL_TYPE
|
|
{
|
|
NCI_INSTALL,
|
|
NCI_UPDATE,
|
|
NCI_REMOVE,
|
|
} NC_INSTALL_TYPE;
|
|
|
|
typedef struct NIQ_INFO
|
|
{
|
|
NC_INSTALL_TYPE eType;
|
|
GUID ClassGuid;
|
|
GUID InstanceGuid;
|
|
DWORD dwCharacter;
|
|
LPCWSTR pszPnpId;
|
|
LPCWSTR pszInfId;
|
|
DWORD dwDeipFlags;
|
|
} NIQ_INFO;
|
|
|
|
HRESULT AddItem (
|
|
[in] const NIQ_INFO* pInfo);
|
|
|
|
HRESULT ProcessItems ();
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetCfgSpecialCase -
|
|
[
|
|
local,
|
|
object,
|
|
uuid(C0E8AE95-306E-11D1-AACF-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetCfgSpecialCase : IUnknown
|
|
{
|
|
HRESULT GetAdapterOrder (
|
|
[out] DWORD* pcAdapters,
|
|
[out] INetCfgComponent*** papAdapters,
|
|
[out] BOOL* pfWanAdaptersFirst);
|
|
|
|
HRESULT SetAdapterOrder (
|
|
[in] DWORD cAdapters,
|
|
[in] INetCfgComponent** apAdapters,
|
|
[in] BOOL fWanAdaptersFirst);
|
|
|
|
HRESULT GetWanAdaptersFirst (
|
|
[out] BOOL * pfWanAdaptersFirst);
|
|
|
|
HRESULT SetWanAdaptersFirst (
|
|
[in] BOOL fWanAdaptersFirst);
|
|
};
|
|
|