ReactOS 0.4.15-dev-7918-g2a2556c
netcfgx.h
Go to the documentation of this file.
1#ifndef __NETCFGX_H__
2#define __NETCFGX_H__
3
4#undef INTERFACE
5#define INTERFACE INetCfgLock
7{
11 STDMETHOD_(HRESULT,AcquireWriteLock)(THIS_ DWORD cmsTimeout, LPCWSTR pszwClientDescription, LPWSTR *ppszwClientDescription) PURE;
13 STDMETHOD_(HRESULT,IsWriteLocked)(THIS_ LPWSTR *ppszwClientDescription) PURE;
14};
15#undef INTERFACE
16
18
19#if !defined(__cplusplus) || defined(CINTERFACE)
20/*** IUnknown methods ***/
21#define INetCfgLock_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
22#define INetCfgLock_AddRef(p) (p)->lpVtbl->AddRef(p)
23#define INetCfgLock_Release(p) (p)->lpVtbl->Release(p)
24#define INetCfgLock_AcquireWriteLock(p,a,b,c) (p)->lpVtbl->AcquireWriteLock(p,a,b,c)
25#define INetCfgLock_ReleaseWriteLock(p) (p)->lpVtbl->ReleaseWriteLock(p)
26#define INetCfgLock_IsWriteLocked(p,a) (p)->lpVtbl->IsWriteLocked(p,a)
27#endif
28
29typedef enum
30{
34
35
36#undef INTERFACE
37#define INTERFACE INetCfgComponent
38DECLARE_INTERFACE_(INetCfgComponent, IUnknown)
39{
44 STDMETHOD_(HRESULT,SetDisplayName)(THIS_ LPCWSTR ppszwDisplayName) PURE;
45 STDMETHOD_(HRESULT,GetHelpText)(THIS_ LPWSTR *pszwHelpText) PURE;
46 STDMETHOD_(HRESULT,GetId)(THIS_ LPWSTR *ppszwId) PURE;
48 STDMETHOD_(HRESULT,GetInstanceGuid)(THIS_ GUID *pGuid) PURE;
49 STDMETHOD_(HRESULT,GetPnpDevNodeId)(THIS_ LPWSTR *ppszwDevNodeId) PURE;
50 STDMETHOD_(HRESULT,GetClassGuid)(THIS_ GUID *pGuid) PURE;
51 STDMETHOD_(HRESULT,GetBindName)(THIS_ LPWSTR *ppszwBindName) PURE;
53 STDMETHOD_(HRESULT,OpenParamKey)(THIS_ HKEY *phkey) PURE;
54 STDMETHOD_(HRESULT,RaisePropertyUi)(THIS_ HWND hwndParent, DWORD dwFlags, IUnknown *punkContext) PURE;
55};
56#undef INTERFACE
57
58#if !defined(__cplusplus) || defined(CINTERFACE)
59/*** IUnknown methods ***/
60#define INetCfgComponent_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
61#define INetCfgComponent_AddRef(p) (p)->lpVtbl->AddRef(p)
62#define INetCfgComponent_Release(p) (p)->lpVtbl->Release(p)
63#define INetCfgComponent_GetDisplayName(p,a) (p)->lpVtbl->GetDisplayName(p,a)
64#define INetCfgComponent_SetDisplayName(p,a) (p)->lpVtbl->SetDisplayName(p,a)
65#define INetCfgComponent_GetHelpText(p,a) (p)->lpVtbl->GetHelpText(p,a)
66#define INetCfgComponent_GetId(p,a) (p)->lpVtbl->GetId(p,a)
67#define INetCfgComponent_GetCharacteristics(p,a) (p)->lpVtbl->GetCharacteristics(p,a)
68#define INetCfgComponent_GetInstanceGuid(p,a) (p)->lpVtbl->GetInstanceGuid(p,a)
69#define INetCfgComponent_GetPnpDevNodeId(p,a) (p)->lpVtbl->GetPnpDevNodeId(p,a)
70#define INetCfgComponent_GetClassGuid(p,a) (p)->lpVtbl->GetClassGuid(p,a)
71#define INetCfgComponent_GetBindName(p,a) (p)->lpVtbl->GetBindName(p,a)
72#define INetCfgComponent_GetDeviceStatus(p,a) (p)->lpVtbl->GetDeviceStatus(p,a)
73#define INetCfgComponent_OpenParamKey(p,a) (p)->lpVtbl->OpenParamKey(p,a)
74#define INetCfgComponent_RaisePropertyUi(p,a,b,c) (p)->lpVtbl->RaisePropertyUi(p,a,b,c)
75#endif
76
78
79#undef INTERFACE
80#define INTERFACE INetCfgBindingInterface
81DECLARE_INTERFACE_(INetCfgBindingInterface, IUnknown)
82{
86 STDMETHOD_(HRESULT,GetName)(THIS_ LPWSTR *ppszwInterfaceName) PURE;
87 STDMETHOD_(HRESULT,GetUpperComponent)(THIS_ INetCfgComponent **ppnccItem) PURE;
88 STDMETHOD_(HRESULT,GetLowerComponent)(THIS_ INetCfgComponent **ppnccItem) PURE;
89};
90#undef INTERFACE
91
92
93#if !defined(__cplusplus) || defined(CINTERFACE)
94/*** IUnknown methods ***/
95#define INetCfgBindingInterface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
96#define INetCfgBindingInterface_AddRef(p) (p)->lpVtbl->AddRef(p)
97#define INetCfgBindingInterface_Release(p) (p)->lpVtbl->Release(p)
98#define INetCfgBindingInterface_GetName(p,a) (p)->lpVtbl->GetName(p)
99#define INetCfgBindingInterface_GetUpperComponent(p,a) (p)->lpVtbl->GetUpperComponent(p)
100#define INetCfgBindingInterface_GetLowerComponent(p,a) (p)->lpVtbl->GetLowerComponent(p)
101#endif
102
104
105
106#undef INTERFACE
107#define INTERFACE IEnumNetCfgBindingInterface
108DECLARE_INTERFACE_(IEnumNetCfgBindingInterface, IUnknown)
109{
113 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, INetCfgBindingInterface **rgelt, ULONG *pceltFetched) PURE;
114 STDMETHOD_(HRESULT,Skip) (THIS_ ULONG celt) PURE;
115 STDMETHOD_(HRESULT,Reset) (THIS) PURE;
116 STDMETHOD_(HRESULT,Clone) (THIS_ IEnumNetCfgBindingInterface **ppenum) PURE;
117};
118#undef INTERFACE
119
120#if !defined(__cplusplus) || defined(CINTERFACE)
121/*** IUnknown methods ***/
122#define IEnumNetCfgBindingInterface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
123#define IEnumNetCfgBindingInterface_AddRef(p) (p)->lpVtbl->AddRef(p)
124#define IEnumNetCfgBindingInterface_Release(p) (p)->lpVtbl->Release(p)
125#define IEnumNetCfgBindingInterface_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
126#define IEnumNetCfgBindingInterface_Skip(p,a) (p)->lpVtbl->Skip(p,a)
127#define IEnumNetCfgBindingInterface_Reset(p) (p)->lpVtbl->Reset(p)
128#define IEnumNetCfgBindingInterface_Clone(p,a) (p)->lpVtbl->Clone(p,a)
129#endif
130
132
133#undef INTERFACE
134#define INTERFACE INetCfgBindingPath
135DECLARE_INTERFACE_(INetCfgBindingPath, IUnknown)
136{
140 STDMETHOD_(HRESULT,IsSamePathAs)(THIS_ INetCfgBindingPath *pPath) PURE;
141 STDMETHOD_(HRESULT,IsSubPathOf)(THIS_ INetCfgBindingPath *pPath) PURE;
144 STDMETHOD_(HRESULT,GetPathToken) (THIS_ LPWSTR *ppszwPathToken) PURE;
145 STDMETHOD_(HRESULT,GetOwner)(THIS_ INetCfgComponent **ppComponent) PURE;
146 STDMETHOD_(HRESULT,GetDepth)(THIS_ ULONG *pcInterfaces) PURE;
147 STDMETHOD_(HRESULT,EnumBindingInterfaces)(THIS_ IEnumNetCfgBindingInterface **ppenumInterface) PURE;
148};
149
150#if !defined(__cplusplus) || defined(CINTERFACE)
151/*** IUnknown methods ***/
152#define INetCfgBindingPath_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
153#define INetCfgBindingPath_AddRef(p) (p)->lpVtbl->AddRef(p)
154#define INetCfgBindingPath_Release(p) (p)->lpVtbl->Release(p)
155#define INetCfgBindingPath_IsSamePathAs(p,a) (p)->lpVtbl->IsSamePathAs(p,a)
156#define INetCfgBindingPath_IsSubPathOf(p,a) (p)->lpVtbl->IsSubPathOf(p,a)
157#define INetCfgBindingPath_IsEnabled(p) (p)->lpVtbl->IsEnabled(p)
158#define INetCfgBindingPath_Enable(p,a) (p)->lpVtbl->Enable(p,a)
159#define INetCfgBindingPath_GetPathToken(p,a) (p)->lpVtbl->GetPathToken(p,a)
160#define INetCfgBindingPath_GetOwner(p,a) (p)->lpVtbl->GetOwner(p,a)
161#define INetCfgBindingPath_GetDepth(p,a) (p)->lpVtbl->GetDepth(p,a)
162#define INetCfgBindingPath_EnumBindingInterfaces(p,a) (p)->lpVtbl->EnumBindingInterfaces(p,a)
163#endif
164
166
167#undef INTERFACE
168#define INTERFACE IEnumNetCfgBindingPath
169DECLARE_INTERFACE_(IEnumNetCfgBindingPath, IUnknown)
170{
174 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, INetCfgBindingPath **rgelt, ULONG *pceltFetched) PURE;
175 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
176 STDMETHOD_(HRESULT,Reset)(THIS) PURE;
177 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumNetCfgBindingPath **ppenum) PURE;
178};
179#undef INTERFACE
180
181#if !defined(__cplusplus) || defined(CINTERFACE)
182/*** IUnknown methods ***/
183#define IEnumNetCfgBindingPath_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
184#define IEnumNetCfgBindingPath_AddRef(p) (p)->lpVtbl->AddRef(p)
185#define IEnumNetCfgBindingPath_Release(p) (p)->lpVtbl->Release(p)
186#define IEnumNetCfgBindingPath_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
187#define IEnumNetCfgBindingPath_Skip(p,a) (p)->lpVtbl->Skip(p,a)
188#define IEnumNetCfgBindingPath_Reset(p) (p)->lpVtbl->Reset(p)
189#define IEnumNetCfgBindingPath_Clone(p,a) (p)->lpVtbl->Clone(p,a)
190#endif
191
193
194typedef enum
195{
197 NCF_UPPER = 0x2
199
200typedef enum
201{
203 EBP_BELOW = 0x2
205
206#undef INTERFACE
207#define INTERFACE INetCfgComponentBindings
208DECLARE_INTERFACE_(INetCfgComponentBindings, IUnknown)
209{
213 STDMETHOD_(HRESULT,BindTo)(THIS_ INetCfgComponent *pnccItem) PURE;
214 STDMETHOD_(HRESULT,UnbindFrom)(THIS_ INetCfgComponent *pnccItem) PURE;
215 STDMETHOD_(HRESULT,SupportsBindingInterface)(THIS_ DWORD dwFlags, LPCWSTR pszwInterfaceName) PURE;
216 STDMETHOD_(HRESULT,IsBoundTo)(THIS_ INetCfgComponent *pnccItem) PURE;
217 STDMETHOD_(HRESULT,IsBindableTo)(THIS_ INetCfgComponent *pnccItem) PURE;
218 STDMETHOD_(HRESULT,EnumBindingPaths)(THIS_ DWORD dwFlags, IEnumNetCfgBindingPath **ppIEnum) PURE;
219 STDMETHOD_(HRESULT,MoveBefore)(THIS_ DWORD dwFlags, INetCfgBindingPath *pncbItemSrc, INetCfgBindingPath *pncbItemDest) PURE;
220 STDMETHOD_(HRESULT,MoveAfter)(THIS_ DWORD dwFlags, INetCfgBindingPath *pncbItemSrc, INetCfgBindingPath *pncbItemDest) PURE;
221};
222#undef INTERFACE
223
224#if !defined(__cplusplus) || defined(CINTERFACE)
225/*** IUnknown methods ***/
226#define INetCfgComponentBindings_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
227#define INetCfgComponentBindings_AddRef(p) (p)->lpVtbl->AddRef(p)
228#define INetCfgComponentBindings_Release(p) (p)->lpVtbl->Release(p)
229#define INetCfgComponentBindings_BindTo(p,a) (p)->lpVtbl->BindTo(p,a)
230#define INetCfgComponentBindings_UnbindFrom(p,a) (p)->lpVtbl->UnbindFrom(p,a)
231#define INetCfgComponentBindings_SupportsBindingInterface(p,a,b) (p)->lpVtbl->UnbindFrom(p,a,b)
232#define INetCfgComponentBindings_IsBoundTo(p,a) (p)->lpVtbl->IsBoundTo(p,a)
233#define INetCfgComponentBindings_IsBindableTo(p,a) (p)->lpVtbl->IsBindableTo(p,a)
234#define INetCfgComponentBindings_EnumBindingPaths(p,a,b) (p)->lpVtbl->EnumBindingPaths(p,a,b)
235#define INetCfgComponentBindings_MoveBefore(p,a,b,c) (p)->lpVtbl->MoveBefore(p,a,b,c)
236#define INetCfgComponentBindings_MoveAfter(p,a,b,c) (p)->lpVtbl->MoveAfter(p,a,b,c)
237#endif
238
240
241#undef INTERFACE
242#define INTERFACE IEnumNetCfgComponent
243DECLARE_INTERFACE_(IEnumNetCfgComponent, IUnknown)
244{
248 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, INetCfgComponent **rgelt, ULONG *pceltFetched) PURE;
249 STDMETHOD_(HRESULT,Skip) (THIS_ ULONG celt) PURE;
250 STDMETHOD_(HRESULT,Reset) (THIS) PURE;
251 STDMETHOD_(HRESULT,Clone) (THIS_ IEnumNetCfgComponent **ppenum) PURE;
252};
253#undef INTERFACE
254
255#if !defined(__cplusplus) || defined(CINTERFACE)
256/*** IUnknown methods ***/
257#define IEnumNetCfgComponent_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
258#define IEnumNetCfgComponent_AddRef(p) (p)->lpVtbl->AddRef(p)
259#define IEnumNetCfgComponent_Release(p) (p)->lpVtbl->Release(p)
260#define IEnumNetCfgComponent_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
261#define IEnumNetCfgComponent_Skip(p,a) (p)->lpVtbl->Skip(p,a)
262#define IEnumNetCfgComponent_Reset(p) (p)->lpVtbl->Reset(p)
263#define IEnumNetCfgComponent_Clone(p,a) (p)->lpVtbl->Clone(p,a)
264#endif
265
267
268#undef INTERFACE
269#define INTERFACE INetCfg
271{
277 STDMETHOD_(HRESULT,Apply) (THIS) PURE;
279 STDMETHOD_(HRESULT,EnumComponents) (THIS_ const GUID *pguidClass, IEnumNetCfgComponent **ppenumComponent) PURE;
280 STDMETHOD_(HRESULT,FindComponent) (THIS_ LPCWSTR pszwInfId, INetCfgComponent **ppenumComponent) PURE;
281 STDMETHOD_(HRESULT,QueryNetCfgClass) (THIS_ const GUID *pguidClass, REFIID riid, void **ppvObject) PURE;
282};
283#undef INTERFACE
284
285#if !defined(__cplusplus) || defined(CINTERFACE)
286/*** IUnknown methods ***/
287#define INetCfg_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
288#define INetCfg_AddRef(p) (p)->lpVtbl->AddRef(p)
289#define INetCfg_Release(p) (p)->lpVtbl->Release(p)
290#define INetCfg_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
291#define INetCfg_Uninitialize(p) (p)->lpVtbl->Uninitialize(p)
292#define INetCfg_Apply(p) (p)->lpVtbl->Apply(p)
293#define INetCfg_Cancel(p) (p)->lpVtbl->Cancel(p)
294#define INetCfg_EnumComponents(p,a,b) (p)->lpVtbl->EnumComponents(p,a,b)
295#define INetCfg_FindComponent(p,a,b) (p)->lpVtbl->FindComponent(p,a,b)
296#define INetCfg_QueryNetCfgClass(p,a,b,c) (p)->lpVtbl->QueryNetCfgClass(p,a,b,c)
297#endif
298
301
302#define NETCFG_E_ALREADY_INITIALIZED 0x8004A020
303#define NETCFG_E_NOT_INITIALIZED 0x8004A021
304#define NETCFG_E_IN_USE 0x8004A022
305#define NETCFG_E_NO_WRITE_LOCK 0x8004A024
306#define NETCFG_E_NEED_REBOOT 0x8004A025
307#define NETCFG_E_ACTIVE_RAS_CONNECTIONS 0x8004A026
308#define NETCFG_E_ADAPTER_NOT_FOUND 0x8004A027
309#define NETCFG_E_COMPONENT_REMOVED_PENDING_REBOOT 0x8004A028
310#define NETCFG_E_MAX_FILTER_LIMIT 0x8004A029
311#define NETCFG_S_REBOOT 0x8004A020
312#define NETCFG_S_DISABLE_QUERY 0x8004A022
313#define NETCFG_S_STILL_REFERENCED 0x8004A023
314#define NETCFG_S_CAUSED_SETUP_CHANGE 0x8004A024
315#define NETCFG_S_COMMIT_NOW 0x8004A025
316
317
318#endif
BOOL GetDisplayName(LPCTSTR ServiceName)
Definition: name.c:12
static CONFIGRET GetDeviceStatus(_In_ LPWSTR pszDeviceID, _Out_ DWORD *pulStatus, _Out_ DWORD *pulProblem)
Definition: rpcserver.c:229
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define EXTERN_C
Definition: basetyps.h:12
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
_In_ BOOLEAN Release
Definition: cdrom.h:920
static HWND hwndParent
Definition: cryptui.c:300
static HRESULT GetName(LPSHELLFOLDER lpsf, LPITEMIDLIST pidl, DWORD dwFlags, LPWSTR lpstrFileName)
Definition: filedlg.c:4527
#define ReleaseWriteLock(t)
Definition: context.c:43
#define AcquireWriteLock(t)
Definition: context.c:40
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
return deviceObject GetCharacteristics()
return pProvider IsEnabled(ProviderControl)
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
void Cancel(int sigNum)
Definition: shell.c:481
static BOOL Uninitialize(LPCWSTR lpDriverPath)
Definition: main.c:16
static LPCSTR DWORD void * pvReserved
Definition: str.c:196
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
EXTERN_C const IID IID_INetCfgComponentBindings
Definition: netcfgx.h:239
EXTERN_C const IID IID_IEnumNetCfgBindingInterface
Definition: netcfgx.h:131
SUPPORTS_BINDING_INTERFACE_FLAGS
Definition: netcfgx.h:195
@ NCF_UPPER
Definition: netcfgx.h:197
@ NCF_LOWER
Definition: netcfgx.h:196
NCRP_FLAGS
Definition: netcfgx.h:30
@ NCRP_QUERY_PROPERTY_UI
Definition: netcfgx.h:31
@ NCRP_SHOW_PROPERTY_UI
Definition: netcfgx.h:32
EXTERN_C const IID IID_INetCfgLock
Definition: netcfgx.h:17
EXTERN_C const IID IID_INetCfgComponent
Definition: netcfgx.h:77
EXTERN_C const GUID CLSID_CNetCfg
Definition: netcfgx.h:299
EXTERN_C const IID IID_INetCfgBindingPath
Definition: netcfgx.h:165
EXTERN_C const IID IID_IEnumNetCfgBindingPath
Definition: netcfgx.h:192
EXTERN_C const IID IID_IEnumNetCfgComponent
Definition: netcfgx.h:266
EXTERN_C const IID IID_INetCfg
Definition: netcfgx.h:300
ENUM_BINDING_PATHS_FLAGS
Definition: netcfgx.h:201
@ EBP_ABOVE
Definition: netcfgx.h:202
@ EBP_BELOW
Definition: netcfgx.h:203
EXTERN_C const IID IID_INetCfgBindingInterface
Definition: netcfgx.h:103
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
#define REFIID
Definition: guiddef.h:118
uint32_t * LPDWORD
Definition: typedefs.h:59
uint32_t ULONG
Definition: typedefs.h:59
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
static void Initialize()
Definition: xlate.c:212
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185