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