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