1 /*** Autogenerated by WIDL 6.4 from include/netcfgx.idl - Do not edit ***/
2 
3 #ifdef _WIN32
4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
6 #endif
7 #include <rpc.h>
8 #include <rpcndr.h>
9 #endif
10 
11 #ifndef COM_NO_WINDOWS_H
12 #include <windows.h>
13 #include <ole2.h>
14 #endif
15 
16 #ifndef __netcfgx_h__
17 #define __netcfgx_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __IEnumNetCfgBindingInterface_FWD_DEFINED__
22 #define __IEnumNetCfgBindingInterface_FWD_DEFINED__
23 typedef interface IEnumNetCfgBindingInterface IEnumNetCfgBindingInterface;
24 #ifdef __cplusplus
25 interface IEnumNetCfgBindingInterface;
26 #endif /* __cplusplus */
27 #endif
28 
29 #ifndef __IEnumNetCfgBindingPath_FWD_DEFINED__
30 #define __IEnumNetCfgBindingPath_FWD_DEFINED__
31 typedef interface IEnumNetCfgBindingPath IEnumNetCfgBindingPath;
32 #ifdef __cplusplus
33 interface IEnumNetCfgBindingPath;
34 #endif /* __cplusplus */
35 #endif
36 
37 #ifndef __IEnumNetCfgComponent_FWD_DEFINED__
38 #define __IEnumNetCfgComponent_FWD_DEFINED__
39 typedef interface IEnumNetCfgComponent IEnumNetCfgComponent;
40 #ifdef __cplusplus
41 interface IEnumNetCfgComponent;
42 #endif /* __cplusplus */
43 #endif
44 
45 #ifndef __INetCfg_FWD_DEFINED__
46 #define __INetCfg_FWD_DEFINED__
47 typedef interface INetCfg INetCfg;
48 #ifdef __cplusplus
49 interface INetCfg;
50 #endif /* __cplusplus */
51 #endif
52 
53 #ifndef __CNetCfg_FWD_DEFINED__
54 #define __CNetCfg_FWD_DEFINED__
55 #ifdef __cplusplus
56 typedef class CNetCfg CNetCfg;
57 #else
58 typedef struct CNetCfg CNetCfg;
59 #endif /* defined __cplusplus */
60 #endif /* defined __CNetCfg_FWD_DEFINED__ */
61 
62 #ifndef __INetCfgLock_FWD_DEFINED__
63 #define __INetCfgLock_FWD_DEFINED__
64 typedef interface INetCfgLock INetCfgLock;
65 #ifdef __cplusplus
66 interface INetCfgLock;
67 #endif /* __cplusplus */
68 #endif
69 
70 #ifndef __INetCfgBindingInterface_FWD_DEFINED__
71 #define __INetCfgBindingInterface_FWD_DEFINED__
72 typedef interface INetCfgBindingInterface INetCfgBindingInterface;
73 #ifdef __cplusplus
74 interface INetCfgBindingInterface;
75 #endif /* __cplusplus */
76 #endif
77 
78 #ifndef __INetCfgBindingPath_FWD_DEFINED__
79 #define __INetCfgBindingPath_FWD_DEFINED__
80 typedef interface INetCfgBindingPath INetCfgBindingPath;
81 #ifdef __cplusplus
82 interface INetCfgBindingPath;
83 #endif /* __cplusplus */
84 #endif
85 
86 #ifndef __INetCfgClass_FWD_DEFINED__
87 #define __INetCfgClass_FWD_DEFINED__
88 typedef interface INetCfgClass INetCfgClass;
89 #ifdef __cplusplus
90 interface INetCfgClass;
91 #endif /* __cplusplus */
92 #endif
93 
94 #ifndef __INetCfgClassSetup_FWD_DEFINED__
95 #define __INetCfgClassSetup_FWD_DEFINED__
96 typedef interface INetCfgClassSetup INetCfgClassSetup;
97 #ifdef __cplusplus
98 interface INetCfgClassSetup;
99 #endif /* __cplusplus */
100 #endif
101 
102 #ifndef __INetCfgClassSetup2_FWD_DEFINED__
103 #define __INetCfgClassSetup2_FWD_DEFINED__
104 typedef interface INetCfgClassSetup2 INetCfgClassSetup2;
105 #ifdef __cplusplus
106 interface INetCfgClassSetup2;
107 #endif /* __cplusplus */
108 #endif
109 
110 #ifndef __INetCfgComponent_FWD_DEFINED__
111 #define __INetCfgComponent_FWD_DEFINED__
112 typedef interface INetCfgComponent INetCfgComponent;
113 #ifdef __cplusplus
114 interface INetCfgComponent;
115 #endif /* __cplusplus */
116 #endif
117 
118 #ifndef __INetCfgComponentBindings_FWD_DEFINED__
119 #define __INetCfgComponentBindings_FWD_DEFINED__
120 typedef interface INetCfgComponentBindings INetCfgComponentBindings;
121 #ifdef __cplusplus
122 interface INetCfgComponentBindings;
123 #endif /* __cplusplus */
124 #endif
125 
126 #ifndef __INetCfgSysPrep_FWD_DEFINED__
127 #define __INetCfgSysPrep_FWD_DEFINED__
128 typedef interface INetCfgSysPrep INetCfgSysPrep;
129 #ifdef __cplusplus
130 interface INetCfgSysPrep;
131 #endif /* __cplusplus */
132 #endif
133 
134 /* Headers for imported files */
135 
136 #include <unknwn.h>
137 #include <wtypes.h>
138 #include <prsht.h>
139 
140 #ifdef __cplusplus
141 extern "C" {
142 #endif
143 
144 #include <winapifamily.h>
145 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
146 
147 #define NETCFG_E_ALREADY_INITIALIZED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa020)
148 #define NETCFG_E_NOT_INITIALIZED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa021)
149 #define NETCFG_E_IN_USE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa022)
150 #define NETCFG_E_NO_WRITE_LOCK MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa024)
151 #define NETCFG_E_NEED_REBOOT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa025)
152 #define NETCFG_E_ACTIVE_RAS_CONNECTIONS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa026)
153 #define NETCFG_E_ADAPTER_NOT_FOUND MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa027)
154 #define NETCFG_E_COMPONENT_REMOVED_PENDING_REBOOT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa028)
155 #define NETCFG_E_MAX_FILTER_LIMIT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa029)
156 #define NETCFG_E_VMSWITCH_ACTIVE_OVER_ADAPTER MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa02a)
157 #define NETCFG_E_DUPLICATE_INSTANCEID MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa02b)
158 
159 #define NETCFG_S_REBOOT MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xa020)
160 #define NETCFG_S_DISABLE_QUERY MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xa022)
161 #define NETCFG_S_STILL_REFERENCED MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xa023)
162 #define NETCFG_S_CAUSED_SETUP_CHANGE MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xa024)
163 #define NETCFG_S_COMMIT_NOW MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xa025)
164 
165 #define NETCFG_CLIENT_CID_MS_MSClient TEXT("ms_msclient")
166 #define NETCFG_SERVICE_CID_MS_SERVER TEXT("ms_server")
167 #define NETCFG_SERVICE_CID_MS_NETBIOS TEXT("ms_netbios")
168 #define NETCFG_SERVICE_CID_MS_PSCHED TEXT("ms_pschedpc")
169 #define NETCFG_SERVICE_CID_MS_WLBS TEXT("ms_wlbs")
170 #define NETCFG_TRANS_CID_MS_APPLETALK TEXT("ms_appletalk")
171 #define NETCFG_TRANS_CID_MS_NETBEUI TEXT("ms_netbeui")
172 #define NETCFG_TRANS_CID_MS_NETMON TEXT("ms_netmon")
173 #define NETCFG_TRANS_CID_MS_NWIPX TEXT("ms_nwipx")
174 #define NETCFG_TRANS_CID_MS_NWSPX TEXT("ms_nwspx")
175 #define NETCFG_TRANS_CID_MS_TCPIP TEXT("ms_tcpip")
176 
177 #ifndef __IEnumNetCfgBindingInterface_FWD_DEFINED__
178 #define __IEnumNetCfgBindingInterface_FWD_DEFINED__
179 typedef interface IEnumNetCfgBindingInterface IEnumNetCfgBindingInterface;
180 #ifdef __cplusplus
181 interface IEnumNetCfgBindingInterface;
182 #endif /* __cplusplus */
183 #endif
184 
185 #ifndef __IEnumNetCfgBindingPath_FWD_DEFINED__
186 #define __IEnumNetCfgBindingPath_FWD_DEFINED__
187 typedef interface IEnumNetCfgBindingPath IEnumNetCfgBindingPath;
188 #ifdef __cplusplus
189 interface IEnumNetCfgBindingPath;
190 #endif /* __cplusplus */
191 #endif
192 
193 #ifndef __IEnumNetCfgComponent_FWD_DEFINED__
194 #define __IEnumNetCfgComponent_FWD_DEFINED__
195 typedef interface IEnumNetCfgComponent IEnumNetCfgComponent;
196 #ifdef __cplusplus
197 interface IEnumNetCfgComponent;
198 #endif /* __cplusplus */
199 #endif
200 
201 #ifndef __INetCfg_FWD_DEFINED__
202 #define __INetCfg_FWD_DEFINED__
203 typedef interface INetCfg INetCfg;
204 #ifdef __cplusplus
205 interface INetCfg;
206 #endif /* __cplusplus */
207 #endif
208 
209 #ifndef __INetCfgProperties_FWD_DEFINED__
210 #define __INetCfgProperties_FWD_DEFINED__
211 typedef interface INetCfgProperties INetCfgProperties;
212 #ifdef __cplusplus
213 interface INetCfgProperties;
214 #endif /* __cplusplus */
215 #endif
216 
217 #ifndef __INetCfgLock_FWD_DEFINED__
218 #define __INetCfgLock_FWD_DEFINED__
219 typedef interface INetCfgLock INetCfgLock;
220 #ifdef __cplusplus
221 interface INetCfgLock;
222 #endif /* __cplusplus */
223 #endif
224 
225 #ifndef __INetCfgBindingInterface_FWD_DEFINED__
226 #define __INetCfgBindingInterface_FWD_DEFINED__
227 typedef interface INetCfgBindingInterface INetCfgBindingInterface;
228 #ifdef __cplusplus
229 interface INetCfgBindingInterface;
230 #endif /* __cplusplus */
231 #endif
232 
233 #ifndef __INetCfgBindingPath_FWD_DEFINED__
234 #define __INetCfgBindingPath_FWD_DEFINED__
235 typedef interface INetCfgBindingPath INetCfgBindingPath;
236 #ifdef __cplusplus
237 interface INetCfgBindingPath;
238 #endif /* __cplusplus */
239 #endif
240 
241 #ifndef __INetCfgComponentBindings_FWD_DEFINED__
242 #define __INetCfgComponentBindings_FWD_DEFINED__
243 typedef interface INetCfgComponentBindings INetCfgComponentBindings;
244 #ifdef __cplusplus
245 interface INetCfgComponentBindings;
246 #endif /* __cplusplus */
247 #endif
248 
249 #ifndef __INetCfgBindingPath_FWD_DEFINED__
250 #define __INetCfgBindingPath_FWD_DEFINED__
251 typedef interface INetCfgBindingPath INetCfgBindingPath;
252 #ifdef __cplusplus
253 interface INetCfgBindingPath;
254 #endif /* __cplusplus */
255 #endif
256 
257 #ifndef __INetCfgClass_FWD_DEFINED__
258 #define __INetCfgClass_FWD_DEFINED__
259 typedef interface INetCfgClass INetCfgClass;
260 #ifdef __cplusplus
261 interface INetCfgClass;
262 #endif /* __cplusplus */
263 #endif
264 
265 #ifndef __INetCfgComponent_FWD_DEFINED__
266 #define __INetCfgComponent_FWD_DEFINED__
267 typedef interface INetCfgComponent INetCfgComponent;
268 #ifdef __cplusplus
269 interface INetCfgComponent;
270 #endif /* __cplusplus */
271 #endif
272 
273 #ifndef __INetCfgIdentification_FWD_DEFINED__
274 #define __INetCfgIdentification_FWD_DEFINED__
275 typedef interface INetCfgIdentification INetCfgIdentification;
276 #ifdef __cplusplus
277 interface INetCfgIdentification;
278 #endif /* __cplusplus */
279 #endif
280 
281 #ifndef __INetCfgClassSetup_FWD_DEFINED__
282 #define __INetCfgClassSetup_FWD_DEFINED__
283 typedef interface INetCfgClassSetup INetCfgClassSetup;
284 #ifdef __cplusplus
285 interface INetCfgClassSetup;
286 #endif /* __cplusplus */
287 #endif
288 
289 #ifndef __INetCfgClassSetup2_FWD_DEFINED__
290 #define __INetCfgClassSetup2_FWD_DEFINED__
291 typedef interface INetCfgClassSetup2 INetCfgClassSetup2;
292 #ifdef __cplusplus
293 interface INetCfgClassSetup2;
294 #endif /* __cplusplus */
295 #endif
296 
297 
298 /*****************************************************************************
299  * IEnumNetCfgBindingInterface interface
300  */
301 #ifndef __IEnumNetCfgBindingInterface_INTERFACE_DEFINED__
302 #define __IEnumNetCfgBindingInterface_INTERFACE_DEFINED__
303 
304 DEFINE_GUID(IID_IEnumNetCfgBindingInterface, 0xc0e8ae90, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
305 #if defined(__cplusplus) && !defined(CINTERFACE)
306 MIDL_INTERFACE("c0e8ae90-306e-11d1-aacf-00805fc1270e")
307 IEnumNetCfgBindingInterface : public IUnknown
308 {
309     virtual HRESULT STDMETHODCALLTYPE Next(
310         ULONG celt,
311         INetCfgBindingInterface **rgelt,
312         ULONG *pceltFetched) = 0;
313 
314     virtual HRESULT STDMETHODCALLTYPE Skip(
315         ULONG celt) = 0;
316 
317     virtual HRESULT STDMETHODCALLTYPE Reset(
318         ) = 0;
319 
320     virtual HRESULT STDMETHODCALLTYPE Clone(
321         IEnumNetCfgBindingInterface **ppenum) = 0;
322 
323 };
324 #ifdef __CRT_UUID_DECL
325 __CRT_UUID_DECL(IEnumNetCfgBindingInterface, 0xc0e8ae90, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
326 #endif
327 #else
328 typedef struct IEnumNetCfgBindingInterfaceVtbl {
329     BEGIN_INTERFACE
330 
331     /*** IUnknown methods ***/
332     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
333         IEnumNetCfgBindingInterface *This,
334         REFIID riid,
335         void **ppvObject);
336 
337     ULONG (STDMETHODCALLTYPE *AddRef)(
338         IEnumNetCfgBindingInterface *This);
339 
340     ULONG (STDMETHODCALLTYPE *Release)(
341         IEnumNetCfgBindingInterface *This);
342 
343     /*** IEnumNetCfgBindingInterface methods ***/
344     HRESULT (STDMETHODCALLTYPE *Next)(
345         IEnumNetCfgBindingInterface *This,
346         ULONG celt,
347         INetCfgBindingInterface **rgelt,
348         ULONG *pceltFetched);
349 
350     HRESULT (STDMETHODCALLTYPE *Skip)(
351         IEnumNetCfgBindingInterface *This,
352         ULONG celt);
353 
354     HRESULT (STDMETHODCALLTYPE *Reset)(
355         IEnumNetCfgBindingInterface *This);
356 
357     HRESULT (STDMETHODCALLTYPE *Clone)(
358         IEnumNetCfgBindingInterface *This,
359         IEnumNetCfgBindingInterface **ppenum);
360 
361     END_INTERFACE
362 } IEnumNetCfgBindingInterfaceVtbl;
363 
364 interface IEnumNetCfgBindingInterface {
365     CONST_VTBL IEnumNetCfgBindingInterfaceVtbl* lpVtbl;
366 };
367 
368 #ifdef COBJMACROS
369 #ifndef WIDL_C_INLINE_WRAPPERS
370 /*** IUnknown methods ***/
371 #define IEnumNetCfgBindingInterface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
372 #define IEnumNetCfgBindingInterface_AddRef(This) (This)->lpVtbl->AddRef(This)
373 #define IEnumNetCfgBindingInterface_Release(This) (This)->lpVtbl->Release(This)
374 /*** IEnumNetCfgBindingInterface methods ***/
375 #define IEnumNetCfgBindingInterface_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
376 #define IEnumNetCfgBindingInterface_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
377 #define IEnumNetCfgBindingInterface_Reset(This) (This)->lpVtbl->Reset(This)
378 #define IEnumNetCfgBindingInterface_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
379 #else
380 /*** IUnknown methods ***/
381 static FORCEINLINE HRESULT IEnumNetCfgBindingInterface_QueryInterface(IEnumNetCfgBindingInterface* This,REFIID riid,void **ppvObject) {
382     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
383 }
384 static FORCEINLINE ULONG IEnumNetCfgBindingInterface_AddRef(IEnumNetCfgBindingInterface* This) {
385     return This->lpVtbl->AddRef(This);
386 }
387 static FORCEINLINE ULONG IEnumNetCfgBindingInterface_Release(IEnumNetCfgBindingInterface* This) {
388     return This->lpVtbl->Release(This);
389 }
390 /*** IEnumNetCfgBindingInterface methods ***/
391 static FORCEINLINE HRESULT IEnumNetCfgBindingInterface_Next(IEnumNetCfgBindingInterface* This,ULONG celt,INetCfgBindingInterface **rgelt,ULONG *pceltFetched) {
392     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
393 }
394 static FORCEINLINE HRESULT IEnumNetCfgBindingInterface_Skip(IEnumNetCfgBindingInterface* This,ULONG celt) {
395     return This->lpVtbl->Skip(This,celt);
396 }
397 static FORCEINLINE HRESULT IEnumNetCfgBindingInterface_Reset(IEnumNetCfgBindingInterface* This) {
398     return This->lpVtbl->Reset(This);
399 }
400 static FORCEINLINE HRESULT IEnumNetCfgBindingInterface_Clone(IEnumNetCfgBindingInterface* This,IEnumNetCfgBindingInterface **ppenum) {
401     return This->lpVtbl->Clone(This,ppenum);
402 }
403 #endif
404 #endif
405 
406 #endif
407 
408 
409 #endif  /* __IEnumNetCfgBindingInterface_INTERFACE_DEFINED__ */
410 
411 
412 /*****************************************************************************
413  * IEnumNetCfgBindingPath interface
414  */
415 #ifndef __IEnumNetCfgBindingPath_INTERFACE_DEFINED__
416 #define __IEnumNetCfgBindingPath_INTERFACE_DEFINED__
417 
418 DEFINE_GUID(IID_IEnumNetCfgBindingPath, 0xc0e8ae91, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
419 #if defined(__cplusplus) && !defined(CINTERFACE)
420 MIDL_INTERFACE("c0e8ae91-306e-11d1-aacf-00805fc1270e")
421 IEnumNetCfgBindingPath : public IUnknown
422 {
423     virtual HRESULT STDMETHODCALLTYPE Next(
424         ULONG celt,
425         INetCfgBindingPath **rgelt,
426         ULONG *pceltFetched) = 0;
427 
428     virtual HRESULT STDMETHODCALLTYPE Skip(
429         ULONG celt) = 0;
430 
431     virtual HRESULT STDMETHODCALLTYPE Reset(
432         ) = 0;
433 
434     virtual HRESULT STDMETHODCALLTYPE Clone(
435         IEnumNetCfgBindingPath **ppenum) = 0;
436 
437 };
438 #ifdef __CRT_UUID_DECL
439 __CRT_UUID_DECL(IEnumNetCfgBindingPath, 0xc0e8ae91, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
440 #endif
441 #else
442 typedef struct IEnumNetCfgBindingPathVtbl {
443     BEGIN_INTERFACE
444 
445     /*** IUnknown methods ***/
446     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
447         IEnumNetCfgBindingPath *This,
448         REFIID riid,
449         void **ppvObject);
450 
451     ULONG (STDMETHODCALLTYPE *AddRef)(
452         IEnumNetCfgBindingPath *This);
453 
454     ULONG (STDMETHODCALLTYPE *Release)(
455         IEnumNetCfgBindingPath *This);
456 
457     /*** IEnumNetCfgBindingPath methods ***/
458     HRESULT (STDMETHODCALLTYPE *Next)(
459         IEnumNetCfgBindingPath *This,
460         ULONG celt,
461         INetCfgBindingPath **rgelt,
462         ULONG *pceltFetched);
463 
464     HRESULT (STDMETHODCALLTYPE *Skip)(
465         IEnumNetCfgBindingPath *This,
466         ULONG celt);
467 
468     HRESULT (STDMETHODCALLTYPE *Reset)(
469         IEnumNetCfgBindingPath *This);
470 
471     HRESULT (STDMETHODCALLTYPE *Clone)(
472         IEnumNetCfgBindingPath *This,
473         IEnumNetCfgBindingPath **ppenum);
474 
475     END_INTERFACE
476 } IEnumNetCfgBindingPathVtbl;
477 
478 interface IEnumNetCfgBindingPath {
479     CONST_VTBL IEnumNetCfgBindingPathVtbl* lpVtbl;
480 };
481 
482 #ifdef COBJMACROS
483 #ifndef WIDL_C_INLINE_WRAPPERS
484 /*** IUnknown methods ***/
485 #define IEnumNetCfgBindingPath_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
486 #define IEnumNetCfgBindingPath_AddRef(This) (This)->lpVtbl->AddRef(This)
487 #define IEnumNetCfgBindingPath_Release(This) (This)->lpVtbl->Release(This)
488 /*** IEnumNetCfgBindingPath methods ***/
489 #define IEnumNetCfgBindingPath_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
490 #define IEnumNetCfgBindingPath_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
491 #define IEnumNetCfgBindingPath_Reset(This) (This)->lpVtbl->Reset(This)
492 #define IEnumNetCfgBindingPath_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
493 #else
494 /*** IUnknown methods ***/
495 static FORCEINLINE HRESULT IEnumNetCfgBindingPath_QueryInterface(IEnumNetCfgBindingPath* This,REFIID riid,void **ppvObject) {
496     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
497 }
498 static FORCEINLINE ULONG IEnumNetCfgBindingPath_AddRef(IEnumNetCfgBindingPath* This) {
499     return This->lpVtbl->AddRef(This);
500 }
501 static FORCEINLINE ULONG IEnumNetCfgBindingPath_Release(IEnumNetCfgBindingPath* This) {
502     return This->lpVtbl->Release(This);
503 }
504 /*** IEnumNetCfgBindingPath methods ***/
505 static FORCEINLINE HRESULT IEnumNetCfgBindingPath_Next(IEnumNetCfgBindingPath* This,ULONG celt,INetCfgBindingPath **rgelt,ULONG *pceltFetched) {
506     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
507 }
508 static FORCEINLINE HRESULT IEnumNetCfgBindingPath_Skip(IEnumNetCfgBindingPath* This,ULONG celt) {
509     return This->lpVtbl->Skip(This,celt);
510 }
511 static FORCEINLINE HRESULT IEnumNetCfgBindingPath_Reset(IEnumNetCfgBindingPath* This) {
512     return This->lpVtbl->Reset(This);
513 }
514 static FORCEINLINE HRESULT IEnumNetCfgBindingPath_Clone(IEnumNetCfgBindingPath* This,IEnumNetCfgBindingPath **ppenum) {
515     return This->lpVtbl->Clone(This,ppenum);
516 }
517 #endif
518 #endif
519 
520 #endif
521 
522 
523 #endif  /* __IEnumNetCfgBindingPath_INTERFACE_DEFINED__ */
524 
525 
526 /*****************************************************************************
527  * IEnumNetCfgComponent interface
528  */
529 #ifndef __IEnumNetCfgComponent_INTERFACE_DEFINED__
530 #define __IEnumNetCfgComponent_INTERFACE_DEFINED__
531 
532 DEFINE_GUID(IID_IEnumNetCfgComponent, 0xc0e8ae92, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
533 #if defined(__cplusplus) && !defined(CINTERFACE)
534 MIDL_INTERFACE("c0e8ae92-306e-11d1-aacf-00805fc1270e")
535 IEnumNetCfgComponent : public IUnknown
536 {
537     virtual HRESULT STDMETHODCALLTYPE Next(
538         ULONG celt,
539         INetCfgComponent **rgelt,
540         ULONG *pceltFetched) = 0;
541 
542     virtual HRESULT STDMETHODCALLTYPE Skip(
543         ULONG celt) = 0;
544 
545     virtual HRESULT STDMETHODCALLTYPE Reset(
546         ) = 0;
547 
548     virtual HRESULT STDMETHODCALLTYPE Clone(
549         IEnumNetCfgComponent **ppenum) = 0;
550 
551 };
552 #ifdef __CRT_UUID_DECL
553 __CRT_UUID_DECL(IEnumNetCfgComponent, 0xc0e8ae92, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
554 #endif
555 #else
556 typedef struct IEnumNetCfgComponentVtbl {
557     BEGIN_INTERFACE
558 
559     /*** IUnknown methods ***/
560     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
561         IEnumNetCfgComponent *This,
562         REFIID riid,
563         void **ppvObject);
564 
565     ULONG (STDMETHODCALLTYPE *AddRef)(
566         IEnumNetCfgComponent *This);
567 
568     ULONG (STDMETHODCALLTYPE *Release)(
569         IEnumNetCfgComponent *This);
570 
571     /*** IEnumNetCfgComponent methods ***/
572     HRESULT (STDMETHODCALLTYPE *Next)(
573         IEnumNetCfgComponent *This,
574         ULONG celt,
575         INetCfgComponent **rgelt,
576         ULONG *pceltFetched);
577 
578     HRESULT (STDMETHODCALLTYPE *Skip)(
579         IEnumNetCfgComponent *This,
580         ULONG celt);
581 
582     HRESULT (STDMETHODCALLTYPE *Reset)(
583         IEnumNetCfgComponent *This);
584 
585     HRESULT (STDMETHODCALLTYPE *Clone)(
586         IEnumNetCfgComponent *This,
587         IEnumNetCfgComponent **ppenum);
588 
589     END_INTERFACE
590 } IEnumNetCfgComponentVtbl;
591 
592 interface IEnumNetCfgComponent {
593     CONST_VTBL IEnumNetCfgComponentVtbl* lpVtbl;
594 };
595 
596 #ifdef COBJMACROS
597 #ifndef WIDL_C_INLINE_WRAPPERS
598 /*** IUnknown methods ***/
599 #define IEnumNetCfgComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
600 #define IEnumNetCfgComponent_AddRef(This) (This)->lpVtbl->AddRef(This)
601 #define IEnumNetCfgComponent_Release(This) (This)->lpVtbl->Release(This)
602 /*** IEnumNetCfgComponent methods ***/
603 #define IEnumNetCfgComponent_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
604 #define IEnumNetCfgComponent_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
605 #define IEnumNetCfgComponent_Reset(This) (This)->lpVtbl->Reset(This)
606 #define IEnumNetCfgComponent_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
607 #else
608 /*** IUnknown methods ***/
609 static FORCEINLINE HRESULT IEnumNetCfgComponent_QueryInterface(IEnumNetCfgComponent* This,REFIID riid,void **ppvObject) {
610     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
611 }
612 static FORCEINLINE ULONG IEnumNetCfgComponent_AddRef(IEnumNetCfgComponent* This) {
613     return This->lpVtbl->AddRef(This);
614 }
615 static FORCEINLINE ULONG IEnumNetCfgComponent_Release(IEnumNetCfgComponent* This) {
616     return This->lpVtbl->Release(This);
617 }
618 /*** IEnumNetCfgComponent methods ***/
619 static FORCEINLINE HRESULT IEnumNetCfgComponent_Next(IEnumNetCfgComponent* This,ULONG celt,INetCfgComponent **rgelt,ULONG *pceltFetched) {
620     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
621 }
622 static FORCEINLINE HRESULT IEnumNetCfgComponent_Skip(IEnumNetCfgComponent* This,ULONG celt) {
623     return This->lpVtbl->Skip(This,celt);
624 }
625 static FORCEINLINE HRESULT IEnumNetCfgComponent_Reset(IEnumNetCfgComponent* This) {
626     return This->lpVtbl->Reset(This);
627 }
628 static FORCEINLINE HRESULT IEnumNetCfgComponent_Clone(IEnumNetCfgComponent* This,IEnumNetCfgComponent **ppenum) {
629     return This->lpVtbl->Clone(This,ppenum);
630 }
631 #endif
632 #endif
633 
634 #endif
635 
636 
637 #endif  /* __IEnumNetCfgComponent_INTERFACE_DEFINED__ */
638 
639 
640 /*****************************************************************************
641  * INetCfg interface
642  */
643 #ifndef __INetCfg_INTERFACE_DEFINED__
644 #define __INetCfg_INTERFACE_DEFINED__
645 
646 DEFINE_GUID(IID_INetCfg, 0xc0e8ae93, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
647 #if defined(__cplusplus) && !defined(CINTERFACE)
648 MIDL_INTERFACE("c0e8ae93-306e-11d1-aacf-00805fc1270e")
649 INetCfg : public IUnknown
650 {
651     virtual HRESULT STDMETHODCALLTYPE Initialize(
652         PVOID pvReserved) = 0;
653 
654     virtual HRESULT STDMETHODCALLTYPE Uninitialize(
655         ) = 0;
656 
657     virtual HRESULT STDMETHODCALLTYPE Apply(
658         ) = 0;
659 
660     virtual HRESULT STDMETHODCALLTYPE Cancel(
661         ) = 0;
662 
663     virtual HRESULT STDMETHODCALLTYPE EnumComponents(
664         const GUID *pguidClass,
665         IEnumNetCfgComponent **ppenumComponent) = 0;
666 
667     virtual HRESULT STDMETHODCALLTYPE FindComponent(
668         LPCWSTR pszwInfId,
669         INetCfgComponent **pComponent) = 0;
670 
671     virtual HRESULT STDMETHODCALLTYPE QueryNetCfgClass(
672         const GUID *pguidClass,
673         REFIID riid,
674         void **ppvObject) = 0;
675 
676 };
677 #ifdef __CRT_UUID_DECL
678 __CRT_UUID_DECL(INetCfg, 0xc0e8ae93, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
679 #endif
680 #else
681 typedef struct INetCfgVtbl {
682     BEGIN_INTERFACE
683 
684     /*** IUnknown methods ***/
685     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
686         INetCfg *This,
687         REFIID riid,
688         void **ppvObject);
689 
690     ULONG (STDMETHODCALLTYPE *AddRef)(
691         INetCfg *This);
692 
693     ULONG (STDMETHODCALLTYPE *Release)(
694         INetCfg *This);
695 
696     /*** INetCfg methods ***/
697     HRESULT (STDMETHODCALLTYPE *Initialize)(
698         INetCfg *This,
699         PVOID pvReserved);
700 
701     HRESULT (STDMETHODCALLTYPE *Uninitialize)(
702         INetCfg *This);
703 
704     HRESULT (STDMETHODCALLTYPE *Apply)(
705         INetCfg *This);
706 
707     HRESULT (STDMETHODCALLTYPE *Cancel)(
708         INetCfg *This);
709 
710     HRESULT (STDMETHODCALLTYPE *EnumComponents)(
711         INetCfg *This,
712         const GUID *pguidClass,
713         IEnumNetCfgComponent **ppenumComponent);
714 
715     HRESULT (STDMETHODCALLTYPE *FindComponent)(
716         INetCfg *This,
717         LPCWSTR pszwInfId,
718         INetCfgComponent **pComponent);
719 
720     HRESULT (STDMETHODCALLTYPE *QueryNetCfgClass)(
721         INetCfg *This,
722         const GUID *pguidClass,
723         REFIID riid,
724         void **ppvObject);
725 
726     END_INTERFACE
727 } INetCfgVtbl;
728 
729 interface INetCfg {
730     CONST_VTBL INetCfgVtbl* lpVtbl;
731 };
732 
733 #ifdef COBJMACROS
734 #ifndef WIDL_C_INLINE_WRAPPERS
735 /*** IUnknown methods ***/
736 #define INetCfg_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
737 #define INetCfg_AddRef(This) (This)->lpVtbl->AddRef(This)
738 #define INetCfg_Release(This) (This)->lpVtbl->Release(This)
739 /*** INetCfg methods ***/
740 #define INetCfg_Initialize(This,pvReserved) (This)->lpVtbl->Initialize(This,pvReserved)
741 #define INetCfg_Uninitialize(This) (This)->lpVtbl->Uninitialize(This)
742 #define INetCfg_Apply(This) (This)->lpVtbl->Apply(This)
743 #define INetCfg_Cancel(This) (This)->lpVtbl->Cancel(This)
744 #define INetCfg_EnumComponents(This,pguidClass,ppenumComponent) (This)->lpVtbl->EnumComponents(This,pguidClass,ppenumComponent)
745 #define INetCfg_FindComponent(This,pszwInfId,pComponent) (This)->lpVtbl->FindComponent(This,pszwInfId,pComponent)
746 #define INetCfg_QueryNetCfgClass(This,pguidClass,riid,ppvObject) (This)->lpVtbl->QueryNetCfgClass(This,pguidClass,riid,ppvObject)
747 #else
748 /*** IUnknown methods ***/
749 static FORCEINLINE HRESULT INetCfg_QueryInterface(INetCfg* This,REFIID riid,void **ppvObject) {
750     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
751 }
752 static FORCEINLINE ULONG INetCfg_AddRef(INetCfg* This) {
753     return This->lpVtbl->AddRef(This);
754 }
755 static FORCEINLINE ULONG INetCfg_Release(INetCfg* This) {
756     return This->lpVtbl->Release(This);
757 }
758 /*** INetCfg methods ***/
759 static FORCEINLINE HRESULT INetCfg_Initialize(INetCfg* This,PVOID pvReserved) {
760     return This->lpVtbl->Initialize(This,pvReserved);
761 }
762 static FORCEINLINE HRESULT INetCfg_Uninitialize(INetCfg* This) {
763     return This->lpVtbl->Uninitialize(This);
764 }
765 static FORCEINLINE HRESULT INetCfg_Apply(INetCfg* This) {
766     return This->lpVtbl->Apply(This);
767 }
768 static FORCEINLINE HRESULT INetCfg_Cancel(INetCfg* This) {
769     return This->lpVtbl->Cancel(This);
770 }
771 static FORCEINLINE HRESULT INetCfg_EnumComponents(INetCfg* This,const GUID *pguidClass,IEnumNetCfgComponent **ppenumComponent) {
772     return This->lpVtbl->EnumComponents(This,pguidClass,ppenumComponent);
773 }
774 static FORCEINLINE HRESULT INetCfg_FindComponent(INetCfg* This,LPCWSTR pszwInfId,INetCfgComponent **pComponent) {
775     return This->lpVtbl->FindComponent(This,pszwInfId,pComponent);
776 }
777 static FORCEINLINE HRESULT INetCfg_QueryNetCfgClass(INetCfg* This,const GUID *pguidClass,REFIID riid,void **ppvObject) {
778     return This->lpVtbl->QueryNetCfgClass(This,pguidClass,riid,ppvObject);
779 }
780 #endif
781 #endif
782 
783 #endif
784 
785 
786 #endif  /* __INetCfg_INTERFACE_DEFINED__ */
787 
788 
789 /*****************************************************************************
790  * CNetCfg coclass
791  */
792 
793 DEFINE_GUID(CLSID_CNetCfg, 0x5b035261, 0x40f9, 0x11d1, 0xaa,0xec, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
794 
795 #ifdef __cplusplus
796 class DECLSPEC_UUID("5b035261-40f9-11d1-aaec-00805fc1270e") CNetCfg;
797 #ifdef __CRT_UUID_DECL
798 __CRT_UUID_DECL(CNetCfg, 0x5b035261, 0x40f9, 0x11d1, 0xaa,0xec, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
799 #endif
800 #endif
801 
802 
803 /*****************************************************************************
804  * INetCfgLock interface
805  */
806 #ifndef __INetCfgLock_INTERFACE_DEFINED__
807 #define __INetCfgLock_INTERFACE_DEFINED__
808 
809 DEFINE_GUID(IID_INetCfgLock, 0xc0e8ae9f, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
810 #if defined(__cplusplus) && !defined(CINTERFACE)
811 MIDL_INTERFACE("c0e8ae9f-306e-11d1-aacf-00805fc1270e")
812 INetCfgLock : public IUnknown
813 {
814     virtual HRESULT STDMETHODCALLTYPE AcquireWriteLock(
815         DWORD cmsTimeout,
816         LPCWSTR pszwClientDescription,
817         LPWSTR *ppszwClientDescription) = 0;
818 
819     virtual HRESULT STDMETHODCALLTYPE ReleaseWriteLock(
820         ) = 0;
821 
822     virtual HRESULT STDMETHODCALLTYPE IsWriteLocked(
823         LPWSTR *ppszwClientDescription) = 0;
824 
825 };
826 #ifdef __CRT_UUID_DECL
827 __CRT_UUID_DECL(INetCfgLock, 0xc0e8ae9f, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
828 #endif
829 #else
830 typedef struct INetCfgLockVtbl {
831     BEGIN_INTERFACE
832 
833     /*** IUnknown methods ***/
834     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
835         INetCfgLock *This,
836         REFIID riid,
837         void **ppvObject);
838 
839     ULONG (STDMETHODCALLTYPE *AddRef)(
840         INetCfgLock *This);
841 
842     ULONG (STDMETHODCALLTYPE *Release)(
843         INetCfgLock *This);
844 
845     /*** INetCfgLock methods ***/
846     HRESULT (STDMETHODCALLTYPE *AcquireWriteLock)(
847         INetCfgLock *This,
848         DWORD cmsTimeout,
849         LPCWSTR pszwClientDescription,
850         LPWSTR *ppszwClientDescription);
851 
852     HRESULT (STDMETHODCALLTYPE *ReleaseWriteLock)(
853         INetCfgLock *This);
854 
855     HRESULT (STDMETHODCALLTYPE *IsWriteLocked)(
856         INetCfgLock *This,
857         LPWSTR *ppszwClientDescription);
858 
859     END_INTERFACE
860 } INetCfgLockVtbl;
861 
862 interface INetCfgLock {
863     CONST_VTBL INetCfgLockVtbl* lpVtbl;
864 };
865 
866 #ifdef COBJMACROS
867 #ifndef WIDL_C_INLINE_WRAPPERS
868 /*** IUnknown methods ***/
869 #define INetCfgLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
870 #define INetCfgLock_AddRef(This) (This)->lpVtbl->AddRef(This)
871 #define INetCfgLock_Release(This) (This)->lpVtbl->Release(This)
872 /*** INetCfgLock methods ***/
873 #define INetCfgLock_AcquireWriteLock(This,cmsTimeout,pszwClientDescription,ppszwClientDescription) (This)->lpVtbl->AcquireWriteLock(This,cmsTimeout,pszwClientDescription,ppszwClientDescription)
874 #define INetCfgLock_ReleaseWriteLock(This) (This)->lpVtbl->ReleaseWriteLock(This)
875 #define INetCfgLock_IsWriteLocked(This,ppszwClientDescription) (This)->lpVtbl->IsWriteLocked(This,ppszwClientDescription)
876 #else
877 /*** IUnknown methods ***/
878 static FORCEINLINE HRESULT INetCfgLock_QueryInterface(INetCfgLock* This,REFIID riid,void **ppvObject) {
879     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
880 }
881 static FORCEINLINE ULONG INetCfgLock_AddRef(INetCfgLock* This) {
882     return This->lpVtbl->AddRef(This);
883 }
884 static FORCEINLINE ULONG INetCfgLock_Release(INetCfgLock* This) {
885     return This->lpVtbl->Release(This);
886 }
887 /*** INetCfgLock methods ***/
888 static FORCEINLINE HRESULT INetCfgLock_AcquireWriteLock(INetCfgLock* This,DWORD cmsTimeout,LPCWSTR pszwClientDescription,LPWSTR *ppszwClientDescription) {
889     return This->lpVtbl->AcquireWriteLock(This,cmsTimeout,pszwClientDescription,ppszwClientDescription);
890 }
891 static FORCEINLINE HRESULT INetCfgLock_ReleaseWriteLock(INetCfgLock* This) {
892     return This->lpVtbl->ReleaseWriteLock(This);
893 }
894 static FORCEINLINE HRESULT INetCfgLock_IsWriteLocked(INetCfgLock* This,LPWSTR *ppszwClientDescription) {
895     return This->lpVtbl->IsWriteLocked(This,ppszwClientDescription);
896 }
897 #endif
898 #endif
899 
900 #endif
901 
902 
903 #endif  /* __INetCfgLock_INTERFACE_DEFINED__ */
904 
905 
906 /*****************************************************************************
907  * INetCfgBindingInterface interface
908  */
909 #ifndef __INetCfgBindingInterface_INTERFACE_DEFINED__
910 #define __INetCfgBindingInterface_INTERFACE_DEFINED__
911 
912 DEFINE_GUID(IID_INetCfgBindingInterface, 0xc0e8ae94, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
913 #if defined(__cplusplus) && !defined(CINTERFACE)
914 MIDL_INTERFACE("c0e8ae94-306e-11d1-aacf-00805fc1270e")
915 INetCfgBindingInterface : public IUnknown
916 {
917     virtual HRESULT STDMETHODCALLTYPE GetName(
918         LPWSTR *ppszwInterfaceName) = 0;
919 
920     virtual HRESULT STDMETHODCALLTYPE GetUpperComponent(
921         INetCfgComponent **ppnccItem) = 0;
922 
923     virtual HRESULT STDMETHODCALLTYPE GetLowerComponent(
924         INetCfgComponent **ppnccItem) = 0;
925 
926 };
927 #ifdef __CRT_UUID_DECL
928 __CRT_UUID_DECL(INetCfgBindingInterface, 0xc0e8ae94, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
929 #endif
930 #else
931 typedef struct INetCfgBindingInterfaceVtbl {
932     BEGIN_INTERFACE
933 
934     /*** IUnknown methods ***/
935     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
936         INetCfgBindingInterface *This,
937         REFIID riid,
938         void **ppvObject);
939 
940     ULONG (STDMETHODCALLTYPE *AddRef)(
941         INetCfgBindingInterface *This);
942 
943     ULONG (STDMETHODCALLTYPE *Release)(
944         INetCfgBindingInterface *This);
945 
946     /*** INetCfgBindingInterface methods ***/
947     HRESULT (STDMETHODCALLTYPE *GetName)(
948         INetCfgBindingInterface *This,
949         LPWSTR *ppszwInterfaceName);
950 
951     HRESULT (STDMETHODCALLTYPE *GetUpperComponent)(
952         INetCfgBindingInterface *This,
953         INetCfgComponent **ppnccItem);
954 
955     HRESULT (STDMETHODCALLTYPE *GetLowerComponent)(
956         INetCfgBindingInterface *This,
957         INetCfgComponent **ppnccItem);
958 
959     END_INTERFACE
960 } INetCfgBindingInterfaceVtbl;
961 
962 interface INetCfgBindingInterface {
963     CONST_VTBL INetCfgBindingInterfaceVtbl* lpVtbl;
964 };
965 
966 #ifdef COBJMACROS
967 #ifndef WIDL_C_INLINE_WRAPPERS
968 /*** IUnknown methods ***/
969 #define INetCfgBindingInterface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
970 #define INetCfgBindingInterface_AddRef(This) (This)->lpVtbl->AddRef(This)
971 #define INetCfgBindingInterface_Release(This) (This)->lpVtbl->Release(This)
972 /*** INetCfgBindingInterface methods ***/
973 #define INetCfgBindingInterface_GetName(This,ppszwInterfaceName) (This)->lpVtbl->GetName(This,ppszwInterfaceName)
974 #define INetCfgBindingInterface_GetUpperComponent(This,ppnccItem) (This)->lpVtbl->GetUpperComponent(This,ppnccItem)
975 #define INetCfgBindingInterface_GetLowerComponent(This,ppnccItem) (This)->lpVtbl->GetLowerComponent(This,ppnccItem)
976 #else
977 /*** IUnknown methods ***/
978 static FORCEINLINE HRESULT INetCfgBindingInterface_QueryInterface(INetCfgBindingInterface* This,REFIID riid,void **ppvObject) {
979     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
980 }
981 static FORCEINLINE ULONG INetCfgBindingInterface_AddRef(INetCfgBindingInterface* This) {
982     return This->lpVtbl->AddRef(This);
983 }
984 static FORCEINLINE ULONG INetCfgBindingInterface_Release(INetCfgBindingInterface* This) {
985     return This->lpVtbl->Release(This);
986 }
987 /*** INetCfgBindingInterface methods ***/
988 static FORCEINLINE HRESULT INetCfgBindingInterface_GetName(INetCfgBindingInterface* This,LPWSTR *ppszwInterfaceName) {
989     return This->lpVtbl->GetName(This,ppszwInterfaceName);
990 }
991 static FORCEINLINE HRESULT INetCfgBindingInterface_GetUpperComponent(INetCfgBindingInterface* This,INetCfgComponent **ppnccItem) {
992     return This->lpVtbl->GetUpperComponent(This,ppnccItem);
993 }
994 static FORCEINLINE HRESULT INetCfgBindingInterface_GetLowerComponent(INetCfgBindingInterface* This,INetCfgComponent **ppnccItem) {
995     return This->lpVtbl->GetLowerComponent(This,ppnccItem);
996 }
997 #endif
998 #endif
999 
1000 #endif
1001 
1002 
1003 #endif  /* __INetCfgBindingInterface_INTERFACE_DEFINED__ */
1004 
1005 
1006 /*****************************************************************************
1007  * INetCfgBindingPath interface
1008  */
1009 #ifndef __INetCfgBindingPath_INTERFACE_DEFINED__
1010 #define __INetCfgBindingPath_INTERFACE_DEFINED__
1011 
1012 DEFINE_GUID(IID_INetCfgBindingPath, 0xc0e8ae96, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
1013 #if defined(__cplusplus) && !defined(CINTERFACE)
1014 MIDL_INTERFACE("c0e8ae96-306e-11d1-aacf-00805fc1270e")
1015 INetCfgBindingPath : public IUnknown
1016 {
1017     virtual HRESULT STDMETHODCALLTYPE IsSamePathAs(
1018         INetCfgBindingPath *pPath) = 0;
1019 
1020     virtual HRESULT STDMETHODCALLTYPE IsSubPathOf(
1021         INetCfgBindingPath *pPath) = 0;
1022 
1023     virtual HRESULT STDMETHODCALLTYPE IsEnabled(
1024         ) = 0;
1025 
1026     virtual HRESULT STDMETHODCALLTYPE Enable(
1027         WINBOOL fEnable) = 0;
1028 
1029     virtual HRESULT STDMETHODCALLTYPE GetPathToken(
1030         LPWSTR *ppszwPathToken) = 0;
1031 
1032     virtual HRESULT STDMETHODCALLTYPE GetOwner(
1033         INetCfgComponent **ppComponent) = 0;
1034 
1035     virtual HRESULT STDMETHODCALLTYPE GetDepth(
1036         ULONG *pcInterfaces) = 0;
1037 
1038     virtual HRESULT STDMETHODCALLTYPE EnumBindingInterfaces(
1039         IEnumNetCfgBindingInterface **ppenumInterface) = 0;
1040 
1041 };
1042 #ifdef __CRT_UUID_DECL
1043 __CRT_UUID_DECL(INetCfgBindingPath, 0xc0e8ae96, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
1044 #endif
1045 #else
1046 typedef struct INetCfgBindingPathVtbl {
1047     BEGIN_INTERFACE
1048 
1049     /*** IUnknown methods ***/
1050     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1051         INetCfgBindingPath *This,
1052         REFIID riid,
1053         void **ppvObject);
1054 
1055     ULONG (STDMETHODCALLTYPE *AddRef)(
1056         INetCfgBindingPath *This);
1057 
1058     ULONG (STDMETHODCALLTYPE *Release)(
1059         INetCfgBindingPath *This);
1060 
1061     /*** INetCfgBindingPath methods ***/
1062     HRESULT (STDMETHODCALLTYPE *IsSamePathAs)(
1063         INetCfgBindingPath *This,
1064         INetCfgBindingPath *pPath);
1065 
1066     HRESULT (STDMETHODCALLTYPE *IsSubPathOf)(
1067         INetCfgBindingPath *This,
1068         INetCfgBindingPath *pPath);
1069 
1070     HRESULT (STDMETHODCALLTYPE *IsEnabled)(
1071         INetCfgBindingPath *This);
1072 
1073     HRESULT (STDMETHODCALLTYPE *Enable)(
1074         INetCfgBindingPath *This,
1075         WINBOOL fEnable);
1076 
1077     HRESULT (STDMETHODCALLTYPE *GetPathToken)(
1078         INetCfgBindingPath *This,
1079         LPWSTR *ppszwPathToken);
1080 
1081     HRESULT (STDMETHODCALLTYPE *GetOwner)(
1082         INetCfgBindingPath *This,
1083         INetCfgComponent **ppComponent);
1084 
1085     HRESULT (STDMETHODCALLTYPE *GetDepth)(
1086         INetCfgBindingPath *This,
1087         ULONG *pcInterfaces);
1088 
1089     HRESULT (STDMETHODCALLTYPE *EnumBindingInterfaces)(
1090         INetCfgBindingPath *This,
1091         IEnumNetCfgBindingInterface **ppenumInterface);
1092 
1093     END_INTERFACE
1094 } INetCfgBindingPathVtbl;
1095 
1096 interface INetCfgBindingPath {
1097     CONST_VTBL INetCfgBindingPathVtbl* lpVtbl;
1098 };
1099 
1100 #ifdef COBJMACROS
1101 #ifndef WIDL_C_INLINE_WRAPPERS
1102 /*** IUnknown methods ***/
1103 #define INetCfgBindingPath_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1104 #define INetCfgBindingPath_AddRef(This) (This)->lpVtbl->AddRef(This)
1105 #define INetCfgBindingPath_Release(This) (This)->lpVtbl->Release(This)
1106 /*** INetCfgBindingPath methods ***/
1107 #define INetCfgBindingPath_IsSamePathAs(This,pPath) (This)->lpVtbl->IsSamePathAs(This,pPath)
1108 #define INetCfgBindingPath_IsSubPathOf(This,pPath) (This)->lpVtbl->IsSubPathOf(This,pPath)
1109 #define INetCfgBindingPath_IsEnabled(This) (This)->lpVtbl->IsEnabled(This)
1110 #define INetCfgBindingPath_Enable(This,fEnable) (This)->lpVtbl->Enable(This,fEnable)
1111 #define INetCfgBindingPath_GetPathToken(This,ppszwPathToken) (This)->lpVtbl->GetPathToken(This,ppszwPathToken)
1112 #define INetCfgBindingPath_GetOwner(This,ppComponent) (This)->lpVtbl->GetOwner(This,ppComponent)
1113 #define INetCfgBindingPath_GetDepth(This,pcInterfaces) (This)->lpVtbl->GetDepth(This,pcInterfaces)
1114 #define INetCfgBindingPath_EnumBindingInterfaces(This,ppenumInterface) (This)->lpVtbl->EnumBindingInterfaces(This,ppenumInterface)
1115 #else
1116 /*** IUnknown methods ***/
1117 static FORCEINLINE HRESULT INetCfgBindingPath_QueryInterface(INetCfgBindingPath* This,REFIID riid,void **ppvObject) {
1118     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1119 }
1120 static FORCEINLINE ULONG INetCfgBindingPath_AddRef(INetCfgBindingPath* This) {
1121     return This->lpVtbl->AddRef(This);
1122 }
1123 static FORCEINLINE ULONG INetCfgBindingPath_Release(INetCfgBindingPath* This) {
1124     return This->lpVtbl->Release(This);
1125 }
1126 /*** INetCfgBindingPath methods ***/
1127 static FORCEINLINE HRESULT INetCfgBindingPath_IsSamePathAs(INetCfgBindingPath* This,INetCfgBindingPath *pPath) {
1128     return This->lpVtbl->IsSamePathAs(This,pPath);
1129 }
1130 static FORCEINLINE HRESULT INetCfgBindingPath_IsSubPathOf(INetCfgBindingPath* This,INetCfgBindingPath *pPath) {
1131     return This->lpVtbl->IsSubPathOf(This,pPath);
1132 }
1133 static FORCEINLINE HRESULT INetCfgBindingPath_IsEnabled(INetCfgBindingPath* This) {
1134     return This->lpVtbl->IsEnabled(This);
1135 }
1136 static FORCEINLINE HRESULT INetCfgBindingPath_Enable(INetCfgBindingPath* This,WINBOOL fEnable) {
1137     return This->lpVtbl->Enable(This,fEnable);
1138 }
1139 static FORCEINLINE HRESULT INetCfgBindingPath_GetPathToken(INetCfgBindingPath* This,LPWSTR *ppszwPathToken) {
1140     return This->lpVtbl->GetPathToken(This,ppszwPathToken);
1141 }
1142 static FORCEINLINE HRESULT INetCfgBindingPath_GetOwner(INetCfgBindingPath* This,INetCfgComponent **ppComponent) {
1143     return This->lpVtbl->GetOwner(This,ppComponent);
1144 }
1145 static FORCEINLINE HRESULT INetCfgBindingPath_GetDepth(INetCfgBindingPath* This,ULONG *pcInterfaces) {
1146     return This->lpVtbl->GetDepth(This,pcInterfaces);
1147 }
1148 static FORCEINLINE HRESULT INetCfgBindingPath_EnumBindingInterfaces(INetCfgBindingPath* This,IEnumNetCfgBindingInterface **ppenumInterface) {
1149     return This->lpVtbl->EnumBindingInterfaces(This,ppenumInterface);
1150 }
1151 #endif
1152 #endif
1153 
1154 #endif
1155 
1156 
1157 #endif  /* __INetCfgBindingPath_INTERFACE_DEFINED__ */
1158 
1159 
1160 /*****************************************************************************
1161  * INetCfgClass interface
1162  */
1163 #ifndef __INetCfgClass_INTERFACE_DEFINED__
1164 #define __INetCfgClass_INTERFACE_DEFINED__
1165 
1166 DEFINE_GUID(IID_INetCfgClass, 0xc0e8ae97, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
1167 #if defined(__cplusplus) && !defined(CINTERFACE)
1168 MIDL_INTERFACE("c0e8ae97-306e-11d1-aacf-00805fc1270e")
1169 INetCfgClass : public IUnknown
1170 {
1171     virtual HRESULT STDMETHODCALLTYPE FindComponent(
1172         LPCWSTR pszwInfId,
1173         INetCfgComponent **ppnccItem) = 0;
1174 
1175     virtual HRESULT STDMETHODCALLTYPE EnumComponents(
1176         IEnumNetCfgComponent **ppenumComponent) = 0;
1177 
1178 };
1179 #ifdef __CRT_UUID_DECL
1180 __CRT_UUID_DECL(INetCfgClass, 0xc0e8ae97, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
1181 #endif
1182 #else
1183 typedef struct INetCfgClassVtbl {
1184     BEGIN_INTERFACE
1185 
1186     /*** IUnknown methods ***/
1187     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1188         INetCfgClass *This,
1189         REFIID riid,
1190         void **ppvObject);
1191 
1192     ULONG (STDMETHODCALLTYPE *AddRef)(
1193         INetCfgClass *This);
1194 
1195     ULONG (STDMETHODCALLTYPE *Release)(
1196         INetCfgClass *This);
1197 
1198     /*** INetCfgClass methods ***/
1199     HRESULT (STDMETHODCALLTYPE *FindComponent)(
1200         INetCfgClass *This,
1201         LPCWSTR pszwInfId,
1202         INetCfgComponent **ppnccItem);
1203 
1204     HRESULT (STDMETHODCALLTYPE *EnumComponents)(
1205         INetCfgClass *This,
1206         IEnumNetCfgComponent **ppenumComponent);
1207 
1208     END_INTERFACE
1209 } INetCfgClassVtbl;
1210 
1211 interface INetCfgClass {
1212     CONST_VTBL INetCfgClassVtbl* lpVtbl;
1213 };
1214 
1215 #ifdef COBJMACROS
1216 #ifndef WIDL_C_INLINE_WRAPPERS
1217 /*** IUnknown methods ***/
1218 #define INetCfgClass_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1219 #define INetCfgClass_AddRef(This) (This)->lpVtbl->AddRef(This)
1220 #define INetCfgClass_Release(This) (This)->lpVtbl->Release(This)
1221 /*** INetCfgClass methods ***/
1222 #define INetCfgClass_FindComponent(This,pszwInfId,ppnccItem) (This)->lpVtbl->FindComponent(This,pszwInfId,ppnccItem)
1223 #define INetCfgClass_EnumComponents(This,ppenumComponent) (This)->lpVtbl->EnumComponents(This,ppenumComponent)
1224 #else
1225 /*** IUnknown methods ***/
1226 static FORCEINLINE HRESULT INetCfgClass_QueryInterface(INetCfgClass* This,REFIID riid,void **ppvObject) {
1227     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1228 }
1229 static FORCEINLINE ULONG INetCfgClass_AddRef(INetCfgClass* This) {
1230     return This->lpVtbl->AddRef(This);
1231 }
1232 static FORCEINLINE ULONG INetCfgClass_Release(INetCfgClass* This) {
1233     return This->lpVtbl->Release(This);
1234 }
1235 /*** INetCfgClass methods ***/
1236 static FORCEINLINE HRESULT INetCfgClass_FindComponent(INetCfgClass* This,LPCWSTR pszwInfId,INetCfgComponent **ppnccItem) {
1237     return This->lpVtbl->FindComponent(This,pszwInfId,ppnccItem);
1238 }
1239 static FORCEINLINE HRESULT INetCfgClass_EnumComponents(INetCfgClass* This,IEnumNetCfgComponent **ppenumComponent) {
1240     return This->lpVtbl->EnumComponents(This,ppenumComponent);
1241 }
1242 #endif
1243 #endif
1244 
1245 #endif
1246 
1247 
1248 #endif  /* __INetCfgClass_INTERFACE_DEFINED__ */
1249 
1250 
1251 /*****************************************************************************
1252  * INetCfgClassSetup interface
1253  */
1254 #ifndef __INetCfgClassSetup_INTERFACE_DEFINED__
1255 #define __INetCfgClassSetup_INTERFACE_DEFINED__
1256 
1257 typedef enum tagOBO_TOKEN_TYPE {
1258     OBO_USER = 1,
1259     OBO_COMPONENT = 2,
1260     OBO_SOFTWARE = 3
1261 } OBO_TOKEN_TYPE;
1262 typedef struct tagOBO_TOKEN {
1263     OBO_TOKEN_TYPE Type;
1264     INetCfgComponent *pncc;
1265     LPCWSTR pszwManufacturer;
1266     LPCWSTR pszwProduct;
1267     LPCWSTR pszwDisplayName;
1268     WINBOOL fRegistered;
1269 } OBO_TOKEN;
1270 DEFINE_GUID(IID_INetCfgClassSetup, 0xc0e8ae9d, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
1271 #if defined(__cplusplus) && !defined(CINTERFACE)
1272 MIDL_INTERFACE("c0e8ae9d-306e-11d1-aacf-00805fc1270e")
1273 INetCfgClassSetup : public IUnknown
1274 {
1275     virtual HRESULT STDMETHODCALLTYPE SelectAndInstall(
1276         HWND hwndParent,
1277         OBO_TOKEN *pOboToken,
1278         INetCfgComponent **ppnccItem) = 0;
1279 
1280     virtual HRESULT STDMETHODCALLTYPE Install(
1281         LPCWSTR pszwInfId,
1282         OBO_TOKEN *pOboToken,
1283         DWORD dwSetupFlags,
1284         DWORD dwUpgradeFromBuildNo,
1285         LPCWSTR pszwAnswerFile,
1286         LPCWSTR pszwAnswerSections,
1287         INetCfgComponent **ppnccItem) = 0;
1288 
1289     virtual HRESULT STDMETHODCALLTYPE DeInstall(
1290         INetCfgComponent *pComponent,
1291         OBO_TOKEN *pOboToken,
1292         LPWSTR *pmszwRefs) = 0;
1293 
1294 };
1295 #ifdef __CRT_UUID_DECL
1296 __CRT_UUID_DECL(INetCfgClassSetup, 0xc0e8ae9d, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
1297 #endif
1298 #else
1299 typedef struct INetCfgClassSetupVtbl {
1300     BEGIN_INTERFACE
1301 
1302     /*** IUnknown methods ***/
1303     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1304         INetCfgClassSetup *This,
1305         REFIID riid,
1306         void **ppvObject);
1307 
1308     ULONG (STDMETHODCALLTYPE *AddRef)(
1309         INetCfgClassSetup *This);
1310 
1311     ULONG (STDMETHODCALLTYPE *Release)(
1312         INetCfgClassSetup *This);
1313 
1314     /*** INetCfgClassSetup methods ***/
1315     HRESULT (STDMETHODCALLTYPE *SelectAndInstall)(
1316         INetCfgClassSetup *This,
1317         HWND hwndParent,
1318         OBO_TOKEN *pOboToken,
1319         INetCfgComponent **ppnccItem);
1320 
1321     HRESULT (STDMETHODCALLTYPE *Install)(
1322         INetCfgClassSetup *This,
1323         LPCWSTR pszwInfId,
1324         OBO_TOKEN *pOboToken,
1325         DWORD dwSetupFlags,
1326         DWORD dwUpgradeFromBuildNo,
1327         LPCWSTR pszwAnswerFile,
1328         LPCWSTR pszwAnswerSections,
1329         INetCfgComponent **ppnccItem);
1330 
1331     HRESULT (STDMETHODCALLTYPE *DeInstall)(
1332         INetCfgClassSetup *This,
1333         INetCfgComponent *pComponent,
1334         OBO_TOKEN *pOboToken,
1335         LPWSTR *pmszwRefs);
1336 
1337     END_INTERFACE
1338 } INetCfgClassSetupVtbl;
1339 
1340 interface INetCfgClassSetup {
1341     CONST_VTBL INetCfgClassSetupVtbl* lpVtbl;
1342 };
1343 
1344 #ifdef COBJMACROS
1345 #ifndef WIDL_C_INLINE_WRAPPERS
1346 /*** IUnknown methods ***/
1347 #define INetCfgClassSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1348 #define INetCfgClassSetup_AddRef(This) (This)->lpVtbl->AddRef(This)
1349 #define INetCfgClassSetup_Release(This) (This)->lpVtbl->Release(This)
1350 /*** INetCfgClassSetup methods ***/
1351 #define INetCfgClassSetup_SelectAndInstall(This,hwndParent,pOboToken,ppnccItem) (This)->lpVtbl->SelectAndInstall(This,hwndParent,pOboToken,ppnccItem)
1352 #define INetCfgClassSetup_Install(This,pszwInfId,pOboToken,dwSetupFlags,dwUpgradeFromBuildNo,pszwAnswerFile,pszwAnswerSections,ppnccItem) (This)->lpVtbl->Install(This,pszwInfId,pOboToken,dwSetupFlags,dwUpgradeFromBuildNo,pszwAnswerFile,pszwAnswerSections,ppnccItem)
1353 #define INetCfgClassSetup_DeInstall(This,pComponent,pOboToken,pmszwRefs) (This)->lpVtbl->DeInstall(This,pComponent,pOboToken,pmszwRefs)
1354 #else
1355 /*** IUnknown methods ***/
1356 static FORCEINLINE HRESULT INetCfgClassSetup_QueryInterface(INetCfgClassSetup* This,REFIID riid,void **ppvObject) {
1357     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1358 }
1359 static FORCEINLINE ULONG INetCfgClassSetup_AddRef(INetCfgClassSetup* This) {
1360     return This->lpVtbl->AddRef(This);
1361 }
1362 static FORCEINLINE ULONG INetCfgClassSetup_Release(INetCfgClassSetup* This) {
1363     return This->lpVtbl->Release(This);
1364 }
1365 /*** INetCfgClassSetup methods ***/
1366 static FORCEINLINE HRESULT INetCfgClassSetup_SelectAndInstall(INetCfgClassSetup* This,HWND hwndParent,OBO_TOKEN *pOboToken,INetCfgComponent **ppnccItem) {
1367     return This->lpVtbl->SelectAndInstall(This,hwndParent,pOboToken,ppnccItem);
1368 }
1369 static FORCEINLINE HRESULT INetCfgClassSetup_Install(INetCfgClassSetup* This,LPCWSTR pszwInfId,OBO_TOKEN *pOboToken,DWORD dwSetupFlags,DWORD dwUpgradeFromBuildNo,LPCWSTR pszwAnswerFile,LPCWSTR pszwAnswerSections,INetCfgComponent **ppnccItem) {
1370     return This->lpVtbl->Install(This,pszwInfId,pOboToken,dwSetupFlags,dwUpgradeFromBuildNo,pszwAnswerFile,pszwAnswerSections,ppnccItem);
1371 }
1372 static FORCEINLINE HRESULT INetCfgClassSetup_DeInstall(INetCfgClassSetup* This,INetCfgComponent *pComponent,OBO_TOKEN *pOboToken,LPWSTR *pmszwRefs) {
1373     return This->lpVtbl->DeInstall(This,pComponent,pOboToken,pmszwRefs);
1374 }
1375 #endif
1376 #endif
1377 
1378 #endif
1379 
1380 
1381 #endif  /* __INetCfgClassSetup_INTERFACE_DEFINED__ */
1382 
1383 
1384 /*****************************************************************************
1385  * INetCfgClassSetup2 interface
1386  */
1387 #ifndef __INetCfgClassSetup2_INTERFACE_DEFINED__
1388 #define __INetCfgClassSetup2_INTERFACE_DEFINED__
1389 
1390 DEFINE_GUID(IID_INetCfgClassSetup2, 0xc0e8aea0, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
1391 #if defined(__cplusplus) && !defined(CINTERFACE)
1392 MIDL_INTERFACE("c0e8aea0-306e-11d1-aacf-00805fc1270e")
1393 INetCfgClassSetup2 : public INetCfgClassSetup
1394 {
1395     virtual HRESULT STDMETHODCALLTYPE UpdateNonEnumeratedComponent(
1396         INetCfgComponent *pIComp,
1397         DWORD dwSetupFlags,
1398         DWORD dwUpgradeFromBuildNo) = 0;
1399 
1400 };
1401 #ifdef __CRT_UUID_DECL
1402 __CRT_UUID_DECL(INetCfgClassSetup2, 0xc0e8aea0, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
1403 #endif
1404 #else
1405 typedef struct INetCfgClassSetup2Vtbl {
1406     BEGIN_INTERFACE
1407 
1408     /*** IUnknown methods ***/
1409     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1410         INetCfgClassSetup2 *This,
1411         REFIID riid,
1412         void **ppvObject);
1413 
1414     ULONG (STDMETHODCALLTYPE *AddRef)(
1415         INetCfgClassSetup2 *This);
1416 
1417     ULONG (STDMETHODCALLTYPE *Release)(
1418         INetCfgClassSetup2 *This);
1419 
1420     /*** INetCfgClassSetup methods ***/
1421     HRESULT (STDMETHODCALLTYPE *SelectAndInstall)(
1422         INetCfgClassSetup2 *This,
1423         HWND hwndParent,
1424         OBO_TOKEN *pOboToken,
1425         INetCfgComponent **ppnccItem);
1426 
1427     HRESULT (STDMETHODCALLTYPE *Install)(
1428         INetCfgClassSetup2 *This,
1429         LPCWSTR pszwInfId,
1430         OBO_TOKEN *pOboToken,
1431         DWORD dwSetupFlags,
1432         DWORD dwUpgradeFromBuildNo,
1433         LPCWSTR pszwAnswerFile,
1434         LPCWSTR pszwAnswerSections,
1435         INetCfgComponent **ppnccItem);
1436 
1437     HRESULT (STDMETHODCALLTYPE *DeInstall)(
1438         INetCfgClassSetup2 *This,
1439         INetCfgComponent *pComponent,
1440         OBO_TOKEN *pOboToken,
1441         LPWSTR *pmszwRefs);
1442 
1443     /*** INetCfgClassSetup2 methods ***/
1444     HRESULT (STDMETHODCALLTYPE *UpdateNonEnumeratedComponent)(
1445         INetCfgClassSetup2 *This,
1446         INetCfgComponent *pIComp,
1447         DWORD dwSetupFlags,
1448         DWORD dwUpgradeFromBuildNo);
1449 
1450     END_INTERFACE
1451 } INetCfgClassSetup2Vtbl;
1452 
1453 interface INetCfgClassSetup2 {
1454     CONST_VTBL INetCfgClassSetup2Vtbl* lpVtbl;
1455 };
1456 
1457 #ifdef COBJMACROS
1458 #ifndef WIDL_C_INLINE_WRAPPERS
1459 /*** IUnknown methods ***/
1460 #define INetCfgClassSetup2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1461 #define INetCfgClassSetup2_AddRef(This) (This)->lpVtbl->AddRef(This)
1462 #define INetCfgClassSetup2_Release(This) (This)->lpVtbl->Release(This)
1463 /*** INetCfgClassSetup methods ***/
1464 #define INetCfgClassSetup2_SelectAndInstall(This,hwndParent,pOboToken,ppnccItem) (This)->lpVtbl->SelectAndInstall(This,hwndParent,pOboToken,ppnccItem)
1465 #define INetCfgClassSetup2_Install(This,pszwInfId,pOboToken,dwSetupFlags,dwUpgradeFromBuildNo,pszwAnswerFile,pszwAnswerSections,ppnccItem) (This)->lpVtbl->Install(This,pszwInfId,pOboToken,dwSetupFlags,dwUpgradeFromBuildNo,pszwAnswerFile,pszwAnswerSections,ppnccItem)
1466 #define INetCfgClassSetup2_DeInstall(This,pComponent,pOboToken,pmszwRefs) (This)->lpVtbl->DeInstall(This,pComponent,pOboToken,pmszwRefs)
1467 /*** INetCfgClassSetup2 methods ***/
1468 #define INetCfgClassSetup2_UpdateNonEnumeratedComponent(This,pIComp,dwSetupFlags,dwUpgradeFromBuildNo) (This)->lpVtbl->UpdateNonEnumeratedComponent(This,pIComp,dwSetupFlags,dwUpgradeFromBuildNo)
1469 #else
1470 /*** IUnknown methods ***/
1471 static FORCEINLINE HRESULT INetCfgClassSetup2_QueryInterface(INetCfgClassSetup2* This,REFIID riid,void **ppvObject) {
1472     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1473 }
1474 static FORCEINLINE ULONG INetCfgClassSetup2_AddRef(INetCfgClassSetup2* This) {
1475     return This->lpVtbl->AddRef(This);
1476 }
1477 static FORCEINLINE ULONG INetCfgClassSetup2_Release(INetCfgClassSetup2* This) {
1478     return This->lpVtbl->Release(This);
1479 }
1480 /*** INetCfgClassSetup methods ***/
1481 static FORCEINLINE HRESULT INetCfgClassSetup2_SelectAndInstall(INetCfgClassSetup2* This,HWND hwndParent,OBO_TOKEN *pOboToken,INetCfgComponent **ppnccItem) {
1482     return This->lpVtbl->SelectAndInstall(This,hwndParent,pOboToken,ppnccItem);
1483 }
1484 static FORCEINLINE HRESULT INetCfgClassSetup2_Install(INetCfgClassSetup2* This,LPCWSTR pszwInfId,OBO_TOKEN *pOboToken,DWORD dwSetupFlags,DWORD dwUpgradeFromBuildNo,LPCWSTR pszwAnswerFile,LPCWSTR pszwAnswerSections,INetCfgComponent **ppnccItem) {
1485     return This->lpVtbl->Install(This,pszwInfId,pOboToken,dwSetupFlags,dwUpgradeFromBuildNo,pszwAnswerFile,pszwAnswerSections,ppnccItem);
1486 }
1487 static FORCEINLINE HRESULT INetCfgClassSetup2_DeInstall(INetCfgClassSetup2* This,INetCfgComponent *pComponent,OBO_TOKEN *pOboToken,LPWSTR *pmszwRefs) {
1488     return This->lpVtbl->DeInstall(This,pComponent,pOboToken,pmszwRefs);
1489 }
1490 /*** INetCfgClassSetup2 methods ***/
1491 static FORCEINLINE HRESULT INetCfgClassSetup2_UpdateNonEnumeratedComponent(INetCfgClassSetup2* This,INetCfgComponent *pIComp,DWORD dwSetupFlags,DWORD dwUpgradeFromBuildNo) {
1492     return This->lpVtbl->UpdateNonEnumeratedComponent(This,pIComp,dwSetupFlags,dwUpgradeFromBuildNo);
1493 }
1494 #endif
1495 #endif
1496 
1497 #endif
1498 
1499 
1500 #endif  /* __INetCfgClassSetup2_INTERFACE_DEFINED__ */
1501 
1502 
1503 /*****************************************************************************
1504  * INetCfgComponent interface
1505  */
1506 #ifndef __INetCfgComponent_INTERFACE_DEFINED__
1507 #define __INetCfgComponent_INTERFACE_DEFINED__
1508 
1509 typedef enum tagCOMPONENT_CHARACTERISTICS {
1510     NCF_VIRTUAL = 0x1,
1511     NCF_SOFTWARE_ENUMERATED = 0x2,
1512     NCF_PHYSICAL = 0x4,
1513     NCF_HIDDEN = 0x8,
1514     NCF_NO_SERVICE = 0x10,
1515     NCF_NOT_USER_REMOVABLE = 0x20,
1516     NCF_MULTIPORT_INSTANCED_ADAPTER = 0x40,
1517     NCF_HAS_UI = 0x80,
1518     NCF_SINGLE_INSTANCE = 0x100,
1519     NCF_FILTER = 0x400,
1520     NCF_DONTEXPOSELOWER = 0x1000,
1521     NCF_HIDE_BINDING = 0x2000,
1522     NCF_NDIS_PROTOCOL = 0x4000,
1523     NCF_FIXED_BINDING = 0x20000,
1524     NCF_LW_FILTER = 0x40000
1525 } COMPONENT_CHARACTERISTICS;
1526 typedef enum tagNCRP_FLAGS {
1527     NCRP_QUERY_PROPERTY_UI = 0x1,
1528     NCRP_SHOW_PROPERTY_UI = 0x2
1529 } NCRP_FLAGS;
1530 DEFINE_GUID(IID_INetCfgComponent, 0xc0e8ae99, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
1531 #if defined(__cplusplus) && !defined(CINTERFACE)
1532 MIDL_INTERFACE("c0e8ae99-306e-11d1-aacf-00805fc1270e")
1533 INetCfgComponent : public IUnknown
1534 {
1535     virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
1536         LPWSTR *ppszwDisplayName) = 0;
1537 
1538     virtual HRESULT STDMETHODCALLTYPE SetDisplayName(
1539         LPCWSTR pszwDisplayName) = 0;
1540 
1541     virtual HRESULT STDMETHODCALLTYPE GetHelpText(
1542         LPWSTR *pszwHelpText) = 0;
1543 
1544     virtual HRESULT STDMETHODCALLTYPE GetId(
1545         LPWSTR *ppszwId) = 0;
1546 
1547     virtual HRESULT STDMETHODCALLTYPE GetCharacteristics(
1548         LPDWORD pdwCharacteristics) = 0;
1549 
1550     virtual HRESULT STDMETHODCALLTYPE GetInstanceGuid(
1551         GUID *pGuid) = 0;
1552 
1553     virtual HRESULT STDMETHODCALLTYPE GetPnpDevNodeId(
1554         LPWSTR *ppszwDevNodeId) = 0;
1555 
1556     virtual HRESULT STDMETHODCALLTYPE GetClassGuid(
1557         GUID *pGuid) = 0;
1558 
1559     virtual HRESULT STDMETHODCALLTYPE GetBindName(
1560         LPWSTR *ppszwBindName) = 0;
1561 
1562     virtual HRESULT STDMETHODCALLTYPE GetDeviceStatus(
1563         ULONG *pulStatus) = 0;
1564 
1565     virtual HRESULT STDMETHODCALLTYPE OpenParamKey(
1566         HKEY *phkey) = 0;
1567 
1568     virtual HRESULT STDMETHODCALLTYPE RaisePropertyUi(
1569         HWND hwndParent,
1570         DWORD dwFlags,
1571         IUnknown *punkContext) = 0;
1572 
1573 };
1574 #ifdef __CRT_UUID_DECL
1575 __CRT_UUID_DECL(INetCfgComponent, 0xc0e8ae99, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
1576 #endif
1577 #else
1578 typedef struct INetCfgComponentVtbl {
1579     BEGIN_INTERFACE
1580 
1581     /*** IUnknown methods ***/
1582     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1583         INetCfgComponent *This,
1584         REFIID riid,
1585         void **ppvObject);
1586 
1587     ULONG (STDMETHODCALLTYPE *AddRef)(
1588         INetCfgComponent *This);
1589 
1590     ULONG (STDMETHODCALLTYPE *Release)(
1591         INetCfgComponent *This);
1592 
1593     /*** INetCfgComponent methods ***/
1594     HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
1595         INetCfgComponent *This,
1596         LPWSTR *ppszwDisplayName);
1597 
1598     HRESULT (STDMETHODCALLTYPE *SetDisplayName)(
1599         INetCfgComponent *This,
1600         LPCWSTR pszwDisplayName);
1601 
1602     HRESULT (STDMETHODCALLTYPE *GetHelpText)(
1603         INetCfgComponent *This,
1604         LPWSTR *pszwHelpText);
1605 
1606     HRESULT (STDMETHODCALLTYPE *GetId)(
1607         INetCfgComponent *This,
1608         LPWSTR *ppszwId);
1609 
1610     HRESULT (STDMETHODCALLTYPE *GetCharacteristics)(
1611         INetCfgComponent *This,
1612         LPDWORD pdwCharacteristics);
1613 
1614     HRESULT (STDMETHODCALLTYPE *GetInstanceGuid)(
1615         INetCfgComponent *This,
1616         GUID *pGuid);
1617 
1618     HRESULT (STDMETHODCALLTYPE *GetPnpDevNodeId)(
1619         INetCfgComponent *This,
1620         LPWSTR *ppszwDevNodeId);
1621 
1622     HRESULT (STDMETHODCALLTYPE *GetClassGuid)(
1623         INetCfgComponent *This,
1624         GUID *pGuid);
1625 
1626     HRESULT (STDMETHODCALLTYPE *GetBindName)(
1627         INetCfgComponent *This,
1628         LPWSTR *ppszwBindName);
1629 
1630     HRESULT (STDMETHODCALLTYPE *GetDeviceStatus)(
1631         INetCfgComponent *This,
1632         ULONG *pulStatus);
1633 
1634     HRESULT (STDMETHODCALLTYPE *OpenParamKey)(
1635         INetCfgComponent *This,
1636         HKEY *phkey);
1637 
1638     HRESULT (STDMETHODCALLTYPE *RaisePropertyUi)(
1639         INetCfgComponent *This,
1640         HWND hwndParent,
1641         DWORD dwFlags,
1642         IUnknown *punkContext);
1643 
1644     END_INTERFACE
1645 } INetCfgComponentVtbl;
1646 
1647 interface INetCfgComponent {
1648     CONST_VTBL INetCfgComponentVtbl* lpVtbl;
1649 };
1650 
1651 #ifdef COBJMACROS
1652 #ifndef WIDL_C_INLINE_WRAPPERS
1653 /*** IUnknown methods ***/
1654 #define INetCfgComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1655 #define INetCfgComponent_AddRef(This) (This)->lpVtbl->AddRef(This)
1656 #define INetCfgComponent_Release(This) (This)->lpVtbl->Release(This)
1657 /*** INetCfgComponent methods ***/
1658 #define INetCfgComponent_GetDisplayName(This,ppszwDisplayName) (This)->lpVtbl->GetDisplayName(This,ppszwDisplayName)
1659 #define INetCfgComponent_SetDisplayName(This,pszwDisplayName) (This)->lpVtbl->SetDisplayName(This,pszwDisplayName)
1660 #define INetCfgComponent_GetHelpText(This,pszwHelpText) (This)->lpVtbl->GetHelpText(This,pszwHelpText)
1661 #define INetCfgComponent_GetId(This,ppszwId) (This)->lpVtbl->GetId(This,ppszwId)
1662 #define INetCfgComponent_GetCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetCharacteristics(This,pdwCharacteristics)
1663 #define INetCfgComponent_GetInstanceGuid(This,pGuid) (This)->lpVtbl->GetInstanceGuid(This,pGuid)
1664 #define INetCfgComponent_GetPnpDevNodeId(This,ppszwDevNodeId) (This)->lpVtbl->GetPnpDevNodeId(This,ppszwDevNodeId)
1665 #define INetCfgComponent_GetClassGuid(This,pGuid) (This)->lpVtbl->GetClassGuid(This,pGuid)
1666 #define INetCfgComponent_GetBindName(This,ppszwBindName) (This)->lpVtbl->GetBindName(This,ppszwBindName)
1667 #define INetCfgComponent_GetDeviceStatus(This,pulStatus) (This)->lpVtbl->GetDeviceStatus(This,pulStatus)
1668 #define INetCfgComponent_OpenParamKey(This,phkey) (This)->lpVtbl->OpenParamKey(This,phkey)
1669 #define INetCfgComponent_RaisePropertyUi(This,hwndParent,dwFlags,punkContext) (This)->lpVtbl->RaisePropertyUi(This,hwndParent,dwFlags,punkContext)
1670 #else
1671 /*** IUnknown methods ***/
1672 static FORCEINLINE HRESULT INetCfgComponent_QueryInterface(INetCfgComponent* This,REFIID riid,void **ppvObject) {
1673     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1674 }
1675 static FORCEINLINE ULONG INetCfgComponent_AddRef(INetCfgComponent* This) {
1676     return This->lpVtbl->AddRef(This);
1677 }
1678 static FORCEINLINE ULONG INetCfgComponent_Release(INetCfgComponent* This) {
1679     return This->lpVtbl->Release(This);
1680 }
1681 /*** INetCfgComponent methods ***/
1682 static FORCEINLINE HRESULT INetCfgComponent_GetDisplayName(INetCfgComponent* This,LPWSTR *ppszwDisplayName) {
1683     return This->lpVtbl->GetDisplayName(This,ppszwDisplayName);
1684 }
1685 static FORCEINLINE HRESULT INetCfgComponent_SetDisplayName(INetCfgComponent* This,LPCWSTR pszwDisplayName) {
1686     return This->lpVtbl->SetDisplayName(This,pszwDisplayName);
1687 }
1688 static FORCEINLINE HRESULT INetCfgComponent_GetHelpText(INetCfgComponent* This,LPWSTR *pszwHelpText) {
1689     return This->lpVtbl->GetHelpText(This,pszwHelpText);
1690 }
1691 static FORCEINLINE HRESULT INetCfgComponent_GetId(INetCfgComponent* This,LPWSTR *ppszwId) {
1692     return This->lpVtbl->GetId(This,ppszwId);
1693 }
1694 static FORCEINLINE HRESULT INetCfgComponent_GetCharacteristics(INetCfgComponent* This,LPDWORD pdwCharacteristics) {
1695     return This->lpVtbl->GetCharacteristics(This,pdwCharacteristics);
1696 }
1697 static FORCEINLINE HRESULT INetCfgComponent_GetInstanceGuid(INetCfgComponent* This,GUID *pGuid) {
1698     return This->lpVtbl->GetInstanceGuid(This,pGuid);
1699 }
1700 static FORCEINLINE HRESULT INetCfgComponent_GetPnpDevNodeId(INetCfgComponent* This,LPWSTR *ppszwDevNodeId) {
1701     return This->lpVtbl->GetPnpDevNodeId(This,ppszwDevNodeId);
1702 }
1703 static FORCEINLINE HRESULT INetCfgComponent_GetClassGuid(INetCfgComponent* This,GUID *pGuid) {
1704     return This->lpVtbl->GetClassGuid(This,pGuid);
1705 }
1706 static FORCEINLINE HRESULT INetCfgComponent_GetBindName(INetCfgComponent* This,LPWSTR *ppszwBindName) {
1707     return This->lpVtbl->GetBindName(This,ppszwBindName);
1708 }
1709 static FORCEINLINE HRESULT INetCfgComponent_GetDeviceStatus(INetCfgComponent* This,ULONG *pulStatus) {
1710     return This->lpVtbl->GetDeviceStatus(This,pulStatus);
1711 }
1712 static FORCEINLINE HRESULT INetCfgComponent_OpenParamKey(INetCfgComponent* This,HKEY *phkey) {
1713     return This->lpVtbl->OpenParamKey(This,phkey);
1714 }
1715 static FORCEINLINE HRESULT INetCfgComponent_RaisePropertyUi(INetCfgComponent* This,HWND hwndParent,DWORD dwFlags,IUnknown *punkContext) {
1716     return This->lpVtbl->RaisePropertyUi(This,hwndParent,dwFlags,punkContext);
1717 }
1718 #endif
1719 #endif
1720 
1721 #endif
1722 
1723 
1724 #endif  /* __INetCfgComponent_INTERFACE_DEFINED__ */
1725 
1726 
1727 /*****************************************************************************
1728  * INetCfgComponentBindings interface
1729  */
1730 #ifndef __INetCfgComponentBindings_INTERFACE_DEFINED__
1731 #define __INetCfgComponentBindings_INTERFACE_DEFINED__
1732 
1733 typedef enum tagSUPPORTS_BINDING_INTERFACE_FLAGS {
1734     NCF_LOWER = 0x1,
1735     NCF_UPPER = 0x2
1736 } SUPPORTS_BINDING_INTERFACE_FLAGS;
1737 typedef enum tagENUM_BINDING_PATHS_FLAGS {
1738     EBP_ABOVE = 0x1,
1739     EBP_BELOW = 0x2
1740 } ENUM_BINDING_PATHS_FLAGS;
1741 DEFINE_GUID(IID_INetCfgComponentBindings, 0xc0e8ae9e, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
1742 #if defined(__cplusplus) && !defined(CINTERFACE)
1743 MIDL_INTERFACE("c0e8ae9e-306e-11d1-aacf-00805fc1270e")
1744 INetCfgComponentBindings : public IUnknown
1745 {
1746     virtual HRESULT STDMETHODCALLTYPE BindTo(
1747         INetCfgComponent *pnccItem) = 0;
1748 
1749     virtual HRESULT STDMETHODCALLTYPE UnbindFrom(
1750         INetCfgComponent *pnccItem) = 0;
1751 
1752     virtual HRESULT STDMETHODCALLTYPE SupportsBindingInterface(
1753         DWORD dwFlags,
1754         LPCWSTR pszwInterfaceName) = 0;
1755 
1756     virtual HRESULT STDMETHODCALLTYPE IsBoundTo(
1757         INetCfgComponent *pnccItem) = 0;
1758 
1759     virtual HRESULT STDMETHODCALLTYPE IsBindableTo(
1760         INetCfgComponent *pnccItem) = 0;
1761 
1762     virtual HRESULT STDMETHODCALLTYPE EnumBindingPaths(
1763         DWORD dwFlags,
1764         IEnumNetCfgBindingPath **ppIEnum) = 0;
1765 
1766     virtual HRESULT STDMETHODCALLTYPE MoveBefore(
1767         INetCfgBindingPath *pncbItemSrc,
1768         INetCfgBindingPath *pncbItemDest) = 0;
1769 
1770     virtual HRESULT STDMETHODCALLTYPE MoveAfter(
1771         INetCfgBindingPath *pncbItemSrc,
1772         INetCfgBindingPath *pncbItemDest) = 0;
1773 
1774 };
1775 #ifdef __CRT_UUID_DECL
1776 __CRT_UUID_DECL(INetCfgComponentBindings, 0xc0e8ae9e, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
1777 #endif
1778 #else
1779 typedef struct INetCfgComponentBindingsVtbl {
1780     BEGIN_INTERFACE
1781 
1782     /*** IUnknown methods ***/
1783     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1784         INetCfgComponentBindings *This,
1785         REFIID riid,
1786         void **ppvObject);
1787 
1788     ULONG (STDMETHODCALLTYPE *AddRef)(
1789         INetCfgComponentBindings *This);
1790 
1791     ULONG (STDMETHODCALLTYPE *Release)(
1792         INetCfgComponentBindings *This);
1793 
1794     /*** INetCfgComponentBindings methods ***/
1795     HRESULT (STDMETHODCALLTYPE *BindTo)(
1796         INetCfgComponentBindings *This,
1797         INetCfgComponent *pnccItem);
1798 
1799     HRESULT (STDMETHODCALLTYPE *UnbindFrom)(
1800         INetCfgComponentBindings *This,
1801         INetCfgComponent *pnccItem);
1802 
1803     HRESULT (STDMETHODCALLTYPE *SupportsBindingInterface)(
1804         INetCfgComponentBindings *This,
1805         DWORD dwFlags,
1806         LPCWSTR pszwInterfaceName);
1807 
1808     HRESULT (STDMETHODCALLTYPE *IsBoundTo)(
1809         INetCfgComponentBindings *This,
1810         INetCfgComponent *pnccItem);
1811 
1812     HRESULT (STDMETHODCALLTYPE *IsBindableTo)(
1813         INetCfgComponentBindings *This,
1814         INetCfgComponent *pnccItem);
1815 
1816     HRESULT (STDMETHODCALLTYPE *EnumBindingPaths)(
1817         INetCfgComponentBindings *This,
1818         DWORD dwFlags,
1819         IEnumNetCfgBindingPath **ppIEnum);
1820 
1821     HRESULT (STDMETHODCALLTYPE *MoveBefore)(
1822         INetCfgComponentBindings *This,
1823         INetCfgBindingPath *pncbItemSrc,
1824         INetCfgBindingPath *pncbItemDest);
1825 
1826     HRESULT (STDMETHODCALLTYPE *MoveAfter)(
1827         INetCfgComponentBindings *This,
1828         INetCfgBindingPath *pncbItemSrc,
1829         INetCfgBindingPath *pncbItemDest);
1830 
1831     END_INTERFACE
1832 } INetCfgComponentBindingsVtbl;
1833 
1834 interface INetCfgComponentBindings {
1835     CONST_VTBL INetCfgComponentBindingsVtbl* lpVtbl;
1836 };
1837 
1838 #ifdef COBJMACROS
1839 #ifndef WIDL_C_INLINE_WRAPPERS
1840 /*** IUnknown methods ***/
1841 #define INetCfgComponentBindings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1842 #define INetCfgComponentBindings_AddRef(This) (This)->lpVtbl->AddRef(This)
1843 #define INetCfgComponentBindings_Release(This) (This)->lpVtbl->Release(This)
1844 /*** INetCfgComponentBindings methods ***/
1845 #define INetCfgComponentBindings_BindTo(This,pnccItem) (This)->lpVtbl->BindTo(This,pnccItem)
1846 #define INetCfgComponentBindings_UnbindFrom(This,pnccItem) (This)->lpVtbl->UnbindFrom(This,pnccItem)
1847 #define INetCfgComponentBindings_SupportsBindingInterface(This,dwFlags,pszwInterfaceName) (This)->lpVtbl->SupportsBindingInterface(This,dwFlags,pszwInterfaceName)
1848 #define INetCfgComponentBindings_IsBoundTo(This,pnccItem) (This)->lpVtbl->IsBoundTo(This,pnccItem)
1849 #define INetCfgComponentBindings_IsBindableTo(This,pnccItem) (This)->lpVtbl->IsBindableTo(This,pnccItem)
1850 #define INetCfgComponentBindings_EnumBindingPaths(This,dwFlags,ppIEnum) (This)->lpVtbl->EnumBindingPaths(This,dwFlags,ppIEnum)
1851 #define INetCfgComponentBindings_MoveBefore(This,pncbItemSrc,pncbItemDest) (This)->lpVtbl->MoveBefore(This,pncbItemSrc,pncbItemDest)
1852 #define INetCfgComponentBindings_MoveAfter(This,pncbItemSrc,pncbItemDest) (This)->lpVtbl->MoveAfter(This,pncbItemSrc,pncbItemDest)
1853 #else
1854 /*** IUnknown methods ***/
1855 static FORCEINLINE HRESULT INetCfgComponentBindings_QueryInterface(INetCfgComponentBindings* This,REFIID riid,void **ppvObject) {
1856     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1857 }
1858 static FORCEINLINE ULONG INetCfgComponentBindings_AddRef(INetCfgComponentBindings* This) {
1859     return This->lpVtbl->AddRef(This);
1860 }
1861 static FORCEINLINE ULONG INetCfgComponentBindings_Release(INetCfgComponentBindings* This) {
1862     return This->lpVtbl->Release(This);
1863 }
1864 /*** INetCfgComponentBindings methods ***/
1865 static FORCEINLINE HRESULT INetCfgComponentBindings_BindTo(INetCfgComponentBindings* This,INetCfgComponent *pnccItem) {
1866     return This->lpVtbl->BindTo(This,pnccItem);
1867 }
1868 static FORCEINLINE HRESULT INetCfgComponentBindings_UnbindFrom(INetCfgComponentBindings* This,INetCfgComponent *pnccItem) {
1869     return This->lpVtbl->UnbindFrom(This,pnccItem);
1870 }
1871 static FORCEINLINE HRESULT INetCfgComponentBindings_SupportsBindingInterface(INetCfgComponentBindings* This,DWORD dwFlags,LPCWSTR pszwInterfaceName) {
1872     return This->lpVtbl->SupportsBindingInterface(This,dwFlags,pszwInterfaceName);
1873 }
1874 static FORCEINLINE HRESULT INetCfgComponentBindings_IsBoundTo(INetCfgComponentBindings* This,INetCfgComponent *pnccItem) {
1875     return This->lpVtbl->IsBoundTo(This,pnccItem);
1876 }
1877 static FORCEINLINE HRESULT INetCfgComponentBindings_IsBindableTo(INetCfgComponentBindings* This,INetCfgComponent *pnccItem) {
1878     return This->lpVtbl->IsBindableTo(This,pnccItem);
1879 }
1880 static FORCEINLINE HRESULT INetCfgComponentBindings_EnumBindingPaths(INetCfgComponentBindings* This,DWORD dwFlags,IEnumNetCfgBindingPath **ppIEnum) {
1881     return This->lpVtbl->EnumBindingPaths(This,dwFlags,ppIEnum);
1882 }
1883 static FORCEINLINE HRESULT INetCfgComponentBindings_MoveBefore(INetCfgComponentBindings* This,INetCfgBindingPath *pncbItemSrc,INetCfgBindingPath *pncbItemDest) {
1884     return This->lpVtbl->MoveBefore(This,pncbItemSrc,pncbItemDest);
1885 }
1886 static FORCEINLINE HRESULT INetCfgComponentBindings_MoveAfter(INetCfgComponentBindings* This,INetCfgBindingPath *pncbItemSrc,INetCfgBindingPath *pncbItemDest) {
1887     return This->lpVtbl->MoveAfter(This,pncbItemSrc,pncbItemDest);
1888 }
1889 #endif
1890 #endif
1891 
1892 #endif
1893 
1894 
1895 #endif  /* __INetCfgComponentBindings_INTERFACE_DEFINED__ */
1896 
1897 
1898 /*****************************************************************************
1899  * INetCfgSysPrep interface
1900  */
1901 #ifndef __INetCfgSysPrep_INTERFACE_DEFINED__
1902 #define __INetCfgSysPrep_INTERFACE_DEFINED__
1903 
1904 DEFINE_GUID(IID_INetCfgSysPrep, 0xc0e8ae98, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
1905 #if defined(__cplusplus) && !defined(CINTERFACE)
1906 MIDL_INTERFACE("c0e8ae98-306e-11d1-aacf-00805fc1270e")
1907 INetCfgSysPrep : public IUnknown
1908 {
1909     virtual HRESULT STDMETHODCALLTYPE HrSetupSetFirstDword(
1910         LPCWSTR pwszSection,
1911         LPCWSTR pwszKey,
1912         DWORD dwValue) = 0;
1913 
1914     virtual HRESULT STDMETHODCALLTYPE HrSetupSetFirstString(
1915         LPCWSTR pwszSection,
1916         LPCWSTR pwszKey,
1917         LPCWSTR pwszValue) = 0;
1918 
1919     virtual HRESULT STDMETHODCALLTYPE HrSetupSetFirstStringAsBool(
1920         LPCWSTR pwszSection,
1921         LPCWSTR pwszKey,
1922         WINBOOL fValue) = 0;
1923 
1924     virtual HRESULT STDMETHODCALLTYPE HrSetupSetFirstMultiSzField(
1925         LPCWSTR pwszSection,
1926         LPCWSTR pwszKey,
1927         LPCWSTR pmszValue) = 0;
1928 
1929 };
1930 #ifdef __CRT_UUID_DECL
1931 __CRT_UUID_DECL(INetCfgSysPrep, 0xc0e8ae98, 0x306e, 0x11d1, 0xaa,0xcf, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
1932 #endif
1933 #else
1934 typedef struct INetCfgSysPrepVtbl {
1935     BEGIN_INTERFACE
1936 
1937     /*** IUnknown methods ***/
1938     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1939         INetCfgSysPrep *This,
1940         REFIID riid,
1941         void **ppvObject);
1942 
1943     ULONG (STDMETHODCALLTYPE *AddRef)(
1944         INetCfgSysPrep *This);
1945 
1946     ULONG (STDMETHODCALLTYPE *Release)(
1947         INetCfgSysPrep *This);
1948 
1949     /*** INetCfgSysPrep methods ***/
1950     HRESULT (STDMETHODCALLTYPE *HrSetupSetFirstDword)(
1951         INetCfgSysPrep *This,
1952         LPCWSTR pwszSection,
1953         LPCWSTR pwszKey,
1954         DWORD dwValue);
1955 
1956     HRESULT (STDMETHODCALLTYPE *HrSetupSetFirstString)(
1957         INetCfgSysPrep *This,
1958         LPCWSTR pwszSection,
1959         LPCWSTR pwszKey,
1960         LPCWSTR pwszValue);
1961 
1962     HRESULT (STDMETHODCALLTYPE *HrSetupSetFirstStringAsBool)(
1963         INetCfgSysPrep *This,
1964         LPCWSTR pwszSection,
1965         LPCWSTR pwszKey,
1966         WINBOOL fValue);
1967 
1968     HRESULT (STDMETHODCALLTYPE *HrSetupSetFirstMultiSzField)(
1969         INetCfgSysPrep *This,
1970         LPCWSTR pwszSection,
1971         LPCWSTR pwszKey,
1972         LPCWSTR pmszValue);
1973 
1974     END_INTERFACE
1975 } INetCfgSysPrepVtbl;
1976 
1977 interface INetCfgSysPrep {
1978     CONST_VTBL INetCfgSysPrepVtbl* lpVtbl;
1979 };
1980 
1981 #ifdef COBJMACROS
1982 #ifndef WIDL_C_INLINE_WRAPPERS
1983 /*** IUnknown methods ***/
1984 #define INetCfgSysPrep_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1985 #define INetCfgSysPrep_AddRef(This) (This)->lpVtbl->AddRef(This)
1986 #define INetCfgSysPrep_Release(This) (This)->lpVtbl->Release(This)
1987 /*** INetCfgSysPrep methods ***/
1988 #define INetCfgSysPrep_HrSetupSetFirstDword(This,pwszSection,pwszKey,dwValue) (This)->lpVtbl->HrSetupSetFirstDword(This,pwszSection,pwszKey,dwValue)
1989 #define INetCfgSysPrep_HrSetupSetFirstString(This,pwszSection,pwszKey,pwszValue) (This)->lpVtbl->HrSetupSetFirstString(This,pwszSection,pwszKey,pwszValue)
1990 #define INetCfgSysPrep_HrSetupSetFirstStringAsBool(This,pwszSection,pwszKey,fValue) (This)->lpVtbl->HrSetupSetFirstStringAsBool(This,pwszSection,pwszKey,fValue)
1991 #define INetCfgSysPrep_HrSetupSetFirstMultiSzField(This,pwszSection,pwszKey,pmszValue) (This)->lpVtbl->HrSetupSetFirstMultiSzField(This,pwszSection,pwszKey,pmszValue)
1992 #else
1993 /*** IUnknown methods ***/
1994 static FORCEINLINE HRESULT INetCfgSysPrep_QueryInterface(INetCfgSysPrep* This,REFIID riid,void **ppvObject) {
1995     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1996 }
1997 static FORCEINLINE ULONG INetCfgSysPrep_AddRef(INetCfgSysPrep* This) {
1998     return This->lpVtbl->AddRef(This);
1999 }
2000 static FORCEINLINE ULONG INetCfgSysPrep_Release(INetCfgSysPrep* This) {
2001     return This->lpVtbl->Release(This);
2002 }
2003 /*** INetCfgSysPrep methods ***/
2004 static FORCEINLINE HRESULT INetCfgSysPrep_HrSetupSetFirstDword(INetCfgSysPrep* This,LPCWSTR pwszSection,LPCWSTR pwszKey,DWORD dwValue) {
2005     return This->lpVtbl->HrSetupSetFirstDword(This,pwszSection,pwszKey,dwValue);
2006 }
2007 static FORCEINLINE HRESULT INetCfgSysPrep_HrSetupSetFirstString(INetCfgSysPrep* This,LPCWSTR pwszSection,LPCWSTR pwszKey,LPCWSTR pwszValue) {
2008     return This->lpVtbl->HrSetupSetFirstString(This,pwszSection,pwszKey,pwszValue);
2009 }
2010 static FORCEINLINE HRESULT INetCfgSysPrep_HrSetupSetFirstStringAsBool(INetCfgSysPrep* This,LPCWSTR pwszSection,LPCWSTR pwszKey,WINBOOL fValue) {
2011     return This->lpVtbl->HrSetupSetFirstStringAsBool(This,pwszSection,pwszKey,fValue);
2012 }
2013 static FORCEINLINE HRESULT INetCfgSysPrep_HrSetupSetFirstMultiSzField(INetCfgSysPrep* This,LPCWSTR pwszSection,LPCWSTR pwszKey,LPCWSTR pmszValue) {
2014     return This->lpVtbl->HrSetupSetFirstMultiSzField(This,pwszSection,pwszKey,pmszValue);
2015 }
2016 #endif
2017 #endif
2018 
2019 #endif
2020 
2021 
2022 #endif  /* __INetCfgSysPrep_INTERFACE_DEFINED__ */
2023 
2024 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
2025 /* Begin additional prototypes for all interfaces */
2026 
2027 
2028 /* End additional prototypes */
2029 
2030 #ifdef __cplusplus
2031 }
2032 #endif
2033 
2034 #endif /* __netcfgx_h__ */
2035