1 /*** Autogenerated by WIDL 3.19 from include/netfw.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __netfw_h__
16 #define __netfw_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __INetFwIcmpSettings_FWD_DEFINED__
21 #define __INetFwIcmpSettings_FWD_DEFINED__
22 typedef interface INetFwIcmpSettings INetFwIcmpSettings;
23 #ifdef __cplusplus
24 interface INetFwIcmpSettings;
25 #endif /* __cplusplus */
26 #endif
27 
28 #ifndef __INetFwOpenPort_FWD_DEFINED__
29 #define __INetFwOpenPort_FWD_DEFINED__
30 typedef interface INetFwOpenPort INetFwOpenPort;
31 #ifdef __cplusplus
32 interface INetFwOpenPort;
33 #endif /* __cplusplus */
34 #endif
35 
36 #ifndef __INetFwOpenPorts_FWD_DEFINED__
37 #define __INetFwOpenPorts_FWD_DEFINED__
38 typedef interface INetFwOpenPorts INetFwOpenPorts;
39 #ifdef __cplusplus
40 interface INetFwOpenPorts;
41 #endif /* __cplusplus */
42 #endif
43 
44 #ifndef __INetFwService_FWD_DEFINED__
45 #define __INetFwService_FWD_DEFINED__
46 typedef interface INetFwService INetFwService;
47 #ifdef __cplusplus
48 interface INetFwService;
49 #endif /* __cplusplus */
50 #endif
51 
52 #ifndef __INetFwServices_FWD_DEFINED__
53 #define __INetFwServices_FWD_DEFINED__
54 typedef interface INetFwServices INetFwServices;
55 #ifdef __cplusplus
56 interface INetFwServices;
57 #endif /* __cplusplus */
58 #endif
59 
60 #ifndef __INetFwAuthorizedApplication_FWD_DEFINED__
61 #define __INetFwAuthorizedApplication_FWD_DEFINED__
62 typedef interface INetFwAuthorizedApplication INetFwAuthorizedApplication;
63 #ifdef __cplusplus
64 interface INetFwAuthorizedApplication;
65 #endif /* __cplusplus */
66 #endif
67 
68 #ifndef __INetFwRemoteAdminSettings_FWD_DEFINED__
69 #define __INetFwRemoteAdminSettings_FWD_DEFINED__
70 typedef interface INetFwRemoteAdminSettings INetFwRemoteAdminSettings;
71 #ifdef __cplusplus
72 interface INetFwRemoteAdminSettings;
73 #endif /* __cplusplus */
74 #endif
75 
76 #ifndef __INetFwAuthorizedApplications_FWD_DEFINED__
77 #define __INetFwAuthorizedApplications_FWD_DEFINED__
78 typedef interface INetFwAuthorizedApplications INetFwAuthorizedApplications;
79 #ifdef __cplusplus
80 interface INetFwAuthorizedApplications;
81 #endif /* __cplusplus */
82 #endif
83 
84 #ifndef __INetFwRule_FWD_DEFINED__
85 #define __INetFwRule_FWD_DEFINED__
86 typedef interface INetFwRule INetFwRule;
87 #ifdef __cplusplus
88 interface INetFwRule;
89 #endif /* __cplusplus */
90 #endif
91 
92 #ifndef __INetFwRules_FWD_DEFINED__
93 #define __INetFwRules_FWD_DEFINED__
94 typedef interface INetFwRules INetFwRules;
95 #ifdef __cplusplus
96 interface INetFwRules;
97 #endif /* __cplusplus */
98 #endif
99 
100 #ifndef __INetFwServiceRestriction_FWD_DEFINED__
101 #define __INetFwServiceRestriction_FWD_DEFINED__
102 typedef interface INetFwServiceRestriction INetFwServiceRestriction;
103 #ifdef __cplusplus
104 interface INetFwServiceRestriction;
105 #endif /* __cplusplus */
106 #endif
107 
108 #ifndef __INetFwProfile_FWD_DEFINED__
109 #define __INetFwProfile_FWD_DEFINED__
110 typedef interface INetFwProfile INetFwProfile;
111 #ifdef __cplusplus
112 interface INetFwProfile;
113 #endif /* __cplusplus */
114 #endif
115 
116 #ifndef __INetFwPolicy_FWD_DEFINED__
117 #define __INetFwPolicy_FWD_DEFINED__
118 typedef interface INetFwPolicy INetFwPolicy;
119 #ifdef __cplusplus
120 interface INetFwPolicy;
121 #endif /* __cplusplus */
122 #endif
123 
124 #ifndef __INetFwPolicy2_FWD_DEFINED__
125 #define __INetFwPolicy2_FWD_DEFINED__
126 typedef interface INetFwPolicy2 INetFwPolicy2;
127 #ifdef __cplusplus
128 interface INetFwPolicy2;
129 #endif /* __cplusplus */
130 #endif
131 
132 #ifndef __INetFwMgr_FWD_DEFINED__
133 #define __INetFwMgr_FWD_DEFINED__
134 typedef interface INetFwMgr INetFwMgr;
135 #ifdef __cplusplus
136 interface INetFwMgr;
137 #endif /* __cplusplus */
138 #endif
139 
140 #ifndef __INetFwProduct_FWD_DEFINED__
141 #define __INetFwProduct_FWD_DEFINED__
142 typedef interface INetFwProduct INetFwProduct;
143 #ifdef __cplusplus
144 interface INetFwProduct;
145 #endif /* __cplusplus */
146 #endif
147 
148 #ifndef __INetFwProducts_FWD_DEFINED__
149 #define __INetFwProducts_FWD_DEFINED__
150 typedef interface INetFwProducts INetFwProducts;
151 #ifdef __cplusplus
152 interface INetFwProducts;
153 #endif /* __cplusplus */
154 #endif
155 
156 #ifndef __NetFwOpenPort_FWD_DEFINED__
157 #define __NetFwOpenPort_FWD_DEFINED__
158 #ifdef __cplusplus
159 typedef class NetFwOpenPort NetFwOpenPort;
160 #else
161 typedef struct NetFwOpenPort NetFwOpenPort;
162 #endif /* defined __cplusplus */
163 #endif /* defined __NetFwOpenPort_FWD_DEFINED__ */
164 
165 #ifndef __NetFwAuthorizedApplication_FWD_DEFINED__
166 #define __NetFwAuthorizedApplication_FWD_DEFINED__
167 #ifdef __cplusplus
168 typedef class NetFwAuthorizedApplication NetFwAuthorizedApplication;
169 #else
170 typedef struct NetFwAuthorizedApplication NetFwAuthorizedApplication;
171 #endif /* defined __cplusplus */
172 #endif /* defined __NetFwAuthorizedApplication_FWD_DEFINED__ */
173 
174 #ifndef __NetFwMgr_FWD_DEFINED__
175 #define __NetFwMgr_FWD_DEFINED__
176 #ifdef __cplusplus
177 typedef class NetFwMgr NetFwMgr;
178 #else
179 typedef struct NetFwMgr NetFwMgr;
180 #endif /* defined __cplusplus */
181 #endif /* defined __NetFwMgr_FWD_DEFINED__ */
182 
183 #ifndef __NetFwPolicy2_FWD_DEFINED__
184 #define __NetFwPolicy2_FWD_DEFINED__
185 #ifdef __cplusplus
186 typedef class NetFwPolicy2 NetFwPolicy2;
187 #else
188 typedef struct NetFwPolicy2 NetFwPolicy2;
189 #endif /* defined __cplusplus */
190 #endif /* defined __NetFwPolicy2_FWD_DEFINED__ */
191 
192 #ifndef __NetFwRule_FWD_DEFINED__
193 #define __NetFwRule_FWD_DEFINED__
194 #ifdef __cplusplus
195 typedef class NetFwRule NetFwRule;
196 #else
197 typedef struct NetFwRule NetFwRule;
198 #endif /* defined __cplusplus */
199 #endif /* defined __NetFwRule_FWD_DEFINED__ */
200 
201 #ifndef __NetFwProduct_FWD_DEFINED__
202 #define __NetFwProduct_FWD_DEFINED__
203 #ifdef __cplusplus
204 typedef class NetFwProduct NetFwProduct;
205 #else
206 typedef struct NetFwProduct NetFwProduct;
207 #endif /* defined __cplusplus */
208 #endif /* defined __NetFwProduct_FWD_DEFINED__ */
209 
210 #ifndef __NetFwProducts_FWD_DEFINED__
211 #define __NetFwProducts_FWD_DEFINED__
212 #ifdef __cplusplus
213 typedef class NetFwProducts NetFwProducts;
214 #else
215 typedef struct NetFwProducts NetFwProducts;
216 #endif /* defined __cplusplus */
217 #endif /* defined __NetFwProducts_FWD_DEFINED__ */
218 
219 /* Headers for imported files */
220 
221 #include <icftypes.h>
222 #include <oaidl.h>
223 
224 #ifdef __cplusplus
225 extern "C" {
226 #endif
227 
228 /*****************************************************************************
229  * INetFwIcmpSettings interface
230  */
231 #ifndef __INetFwIcmpSettings_INTERFACE_DEFINED__
232 #define __INetFwIcmpSettings_INTERFACE_DEFINED__
233 
234 DEFINE_GUID(IID_INetFwIcmpSettings, 0xa6207b2e, 0x7cdd, 0x426a, 0x95,0x1e, 0x5e,0x1c,0xbc,0x5a,0xfe,0xad);
235 #if defined(__cplusplus) && !defined(CINTERFACE)
236 MIDL_INTERFACE("a6207b2e-7cdd-426a-951e-5e1cbc5afead")
237 INetFwIcmpSettings : public IDispatch
238 {
239     virtual HRESULT STDMETHODCALLTYPE get_AllowOutboundDestinationUnreachable(
240         VARIANT_BOOL *allow) = 0;
241 
242     virtual HRESULT STDMETHODCALLTYPE put_AllowOutboundDestinationUnreachable(
243         VARIANT_BOOL allow) = 0;
244 
245     virtual HRESULT STDMETHODCALLTYPE get_AllowRedirect(
246         VARIANT_BOOL *allow) = 0;
247 
248     virtual HRESULT STDMETHODCALLTYPE put_AllowRedirect(
249         VARIANT_BOOL allow) = 0;
250 
251     virtual HRESULT STDMETHODCALLTYPE get_AllowInboundEchoRequest(
252         VARIANT_BOOL *allow) = 0;
253 
254     virtual HRESULT STDMETHODCALLTYPE put_AllowInboundEchoRequest(
255         VARIANT_BOOL allow) = 0;
256 
257     virtual HRESULT STDMETHODCALLTYPE get_AllowOutboundTimeExceeded(
258         VARIANT_BOOL *allow) = 0;
259 
260     virtual HRESULT STDMETHODCALLTYPE put_AllowOutboundTimeExceeded(
261         VARIANT_BOOL allow) = 0;
262 
263     virtual HRESULT STDMETHODCALLTYPE get_AllowOutboundParameterProblem(
264         VARIANT_BOOL *allow) = 0;
265 
266     virtual HRESULT STDMETHODCALLTYPE put_AllowOutboundParameterProblem(
267         VARIANT_BOOL allow) = 0;
268 
269     virtual HRESULT STDMETHODCALLTYPE get_AllowOutboundSourceQuench(
270         VARIANT_BOOL *allow) = 0;
271 
272     virtual HRESULT STDMETHODCALLTYPE put_AllowOutboundSourceQuench(
273         VARIANT_BOOL allow) = 0;
274 
275     virtual HRESULT STDMETHODCALLTYPE get_AllowInboundRouterRequest(
276         VARIANT_BOOL *allow) = 0;
277 
278     virtual HRESULT STDMETHODCALLTYPE put_AllowInboundRouterRequest(
279         VARIANT_BOOL allow) = 0;
280 
281     virtual HRESULT STDMETHODCALLTYPE get_AllowInboundTimestampRequest(
282         VARIANT_BOOL *allow) = 0;
283 
284     virtual HRESULT STDMETHODCALLTYPE put_AllowInboundTimestampRequest(
285         VARIANT_BOOL allow) = 0;
286 
287     virtual HRESULT STDMETHODCALLTYPE get_AllowInboundMaskRequest(
288         VARIANT_BOOL *allow) = 0;
289 
290     virtual HRESULT STDMETHODCALLTYPE put_AllowInboundMaskRequest(
291         VARIANT_BOOL allow) = 0;
292 
293     virtual HRESULT STDMETHODCALLTYPE get_AllowOutboundPacketTooBig(
294         VARIANT_BOOL *allow) = 0;
295 
296     virtual HRESULT STDMETHODCALLTYPE put_AllowOutboundPacketTooBig(
297         VARIANT_BOOL allow) = 0;
298 
299 };
300 #ifdef __CRT_UUID_DECL
301 __CRT_UUID_DECL(INetFwIcmpSettings, 0xa6207b2e, 0x7cdd, 0x426a, 0x95,0x1e, 0x5e,0x1c,0xbc,0x5a,0xfe,0xad)
302 #endif
303 #else
304 typedef struct INetFwIcmpSettingsVtbl {
305     BEGIN_INTERFACE
306 
307     /*** IUnknown methods ***/
308     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
309         INetFwIcmpSettings *This,
310         REFIID riid,
311         void **ppvObject);
312 
313     ULONG (STDMETHODCALLTYPE *AddRef)(
314         INetFwIcmpSettings *This);
315 
316     ULONG (STDMETHODCALLTYPE *Release)(
317         INetFwIcmpSettings *This);
318 
319     /*** IDispatch methods ***/
320     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
321         INetFwIcmpSettings *This,
322         UINT *pctinfo);
323 
324     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
325         INetFwIcmpSettings *This,
326         UINT iTInfo,
327         LCID lcid,
328         ITypeInfo **ppTInfo);
329 
330     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
331         INetFwIcmpSettings *This,
332         REFIID riid,
333         LPOLESTR *rgszNames,
334         UINT cNames,
335         LCID lcid,
336         DISPID *rgDispId);
337 
338     HRESULT (STDMETHODCALLTYPE *Invoke)(
339         INetFwIcmpSettings *This,
340         DISPID dispIdMember,
341         REFIID riid,
342         LCID lcid,
343         WORD wFlags,
344         DISPPARAMS *pDispParams,
345         VARIANT *pVarResult,
346         EXCEPINFO *pExcepInfo,
347         UINT *puArgErr);
348 
349     /*** INetFwIcmpSettings methods ***/
350     HRESULT (STDMETHODCALLTYPE *get_AllowOutboundDestinationUnreachable)(
351         INetFwIcmpSettings *This,
352         VARIANT_BOOL *allow);
353 
354     HRESULT (STDMETHODCALLTYPE *put_AllowOutboundDestinationUnreachable)(
355         INetFwIcmpSettings *This,
356         VARIANT_BOOL allow);
357 
358     HRESULT (STDMETHODCALLTYPE *get_AllowRedirect)(
359         INetFwIcmpSettings *This,
360         VARIANT_BOOL *allow);
361 
362     HRESULT (STDMETHODCALLTYPE *put_AllowRedirect)(
363         INetFwIcmpSettings *This,
364         VARIANT_BOOL allow);
365 
366     HRESULT (STDMETHODCALLTYPE *get_AllowInboundEchoRequest)(
367         INetFwIcmpSettings *This,
368         VARIANT_BOOL *allow);
369 
370     HRESULT (STDMETHODCALLTYPE *put_AllowInboundEchoRequest)(
371         INetFwIcmpSettings *This,
372         VARIANT_BOOL allow);
373 
374     HRESULT (STDMETHODCALLTYPE *get_AllowOutboundTimeExceeded)(
375         INetFwIcmpSettings *This,
376         VARIANT_BOOL *allow);
377 
378     HRESULT (STDMETHODCALLTYPE *put_AllowOutboundTimeExceeded)(
379         INetFwIcmpSettings *This,
380         VARIANT_BOOL allow);
381 
382     HRESULT (STDMETHODCALLTYPE *get_AllowOutboundParameterProblem)(
383         INetFwIcmpSettings *This,
384         VARIANT_BOOL *allow);
385 
386     HRESULT (STDMETHODCALLTYPE *put_AllowOutboundParameterProblem)(
387         INetFwIcmpSettings *This,
388         VARIANT_BOOL allow);
389 
390     HRESULT (STDMETHODCALLTYPE *get_AllowOutboundSourceQuench)(
391         INetFwIcmpSettings *This,
392         VARIANT_BOOL *allow);
393 
394     HRESULT (STDMETHODCALLTYPE *put_AllowOutboundSourceQuench)(
395         INetFwIcmpSettings *This,
396         VARIANT_BOOL allow);
397 
398     HRESULT (STDMETHODCALLTYPE *get_AllowInboundRouterRequest)(
399         INetFwIcmpSettings *This,
400         VARIANT_BOOL *allow);
401 
402     HRESULT (STDMETHODCALLTYPE *put_AllowInboundRouterRequest)(
403         INetFwIcmpSettings *This,
404         VARIANT_BOOL allow);
405 
406     HRESULT (STDMETHODCALLTYPE *get_AllowInboundTimestampRequest)(
407         INetFwIcmpSettings *This,
408         VARIANT_BOOL *allow);
409 
410     HRESULT (STDMETHODCALLTYPE *put_AllowInboundTimestampRequest)(
411         INetFwIcmpSettings *This,
412         VARIANT_BOOL allow);
413 
414     HRESULT (STDMETHODCALLTYPE *get_AllowInboundMaskRequest)(
415         INetFwIcmpSettings *This,
416         VARIANT_BOOL *allow);
417 
418     HRESULT (STDMETHODCALLTYPE *put_AllowInboundMaskRequest)(
419         INetFwIcmpSettings *This,
420         VARIANT_BOOL allow);
421 
422     HRESULT (STDMETHODCALLTYPE *get_AllowOutboundPacketTooBig)(
423         INetFwIcmpSettings *This,
424         VARIANT_BOOL *allow);
425 
426     HRESULT (STDMETHODCALLTYPE *put_AllowOutboundPacketTooBig)(
427         INetFwIcmpSettings *This,
428         VARIANT_BOOL allow);
429 
430     END_INTERFACE
431 } INetFwIcmpSettingsVtbl;
432 
433 interface INetFwIcmpSettings {
434     CONST_VTBL INetFwIcmpSettingsVtbl* lpVtbl;
435 };
436 
437 #ifdef COBJMACROS
438 #ifndef WIDL_C_INLINE_WRAPPERS
439 /*** IUnknown methods ***/
440 #define INetFwIcmpSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
441 #define INetFwIcmpSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
442 #define INetFwIcmpSettings_Release(This) (This)->lpVtbl->Release(This)
443 /*** IDispatch methods ***/
444 #define INetFwIcmpSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
445 #define INetFwIcmpSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
446 #define INetFwIcmpSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
447 #define INetFwIcmpSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
448 /*** INetFwIcmpSettings methods ***/
449 #define INetFwIcmpSettings_get_AllowOutboundDestinationUnreachable(This,allow) (This)->lpVtbl->get_AllowOutboundDestinationUnreachable(This,allow)
450 #define INetFwIcmpSettings_put_AllowOutboundDestinationUnreachable(This,allow) (This)->lpVtbl->put_AllowOutboundDestinationUnreachable(This,allow)
451 #define INetFwIcmpSettings_get_AllowRedirect(This,allow) (This)->lpVtbl->get_AllowRedirect(This,allow)
452 #define INetFwIcmpSettings_put_AllowRedirect(This,allow) (This)->lpVtbl->put_AllowRedirect(This,allow)
453 #define INetFwIcmpSettings_get_AllowInboundEchoRequest(This,allow) (This)->lpVtbl->get_AllowInboundEchoRequest(This,allow)
454 #define INetFwIcmpSettings_put_AllowInboundEchoRequest(This,allow) (This)->lpVtbl->put_AllowInboundEchoRequest(This,allow)
455 #define INetFwIcmpSettings_get_AllowOutboundTimeExceeded(This,allow) (This)->lpVtbl->get_AllowOutboundTimeExceeded(This,allow)
456 #define INetFwIcmpSettings_put_AllowOutboundTimeExceeded(This,allow) (This)->lpVtbl->put_AllowOutboundTimeExceeded(This,allow)
457 #define INetFwIcmpSettings_get_AllowOutboundParameterProblem(This,allow) (This)->lpVtbl->get_AllowOutboundParameterProblem(This,allow)
458 #define INetFwIcmpSettings_put_AllowOutboundParameterProblem(This,allow) (This)->lpVtbl->put_AllowOutboundParameterProblem(This,allow)
459 #define INetFwIcmpSettings_get_AllowOutboundSourceQuench(This,allow) (This)->lpVtbl->get_AllowOutboundSourceQuench(This,allow)
460 #define INetFwIcmpSettings_put_AllowOutboundSourceQuench(This,allow) (This)->lpVtbl->put_AllowOutboundSourceQuench(This,allow)
461 #define INetFwIcmpSettings_get_AllowInboundRouterRequest(This,allow) (This)->lpVtbl->get_AllowInboundRouterRequest(This,allow)
462 #define INetFwIcmpSettings_put_AllowInboundRouterRequest(This,allow) (This)->lpVtbl->put_AllowInboundRouterRequest(This,allow)
463 #define INetFwIcmpSettings_get_AllowInboundTimestampRequest(This,allow) (This)->lpVtbl->get_AllowInboundTimestampRequest(This,allow)
464 #define INetFwIcmpSettings_put_AllowInboundTimestampRequest(This,allow) (This)->lpVtbl->put_AllowInboundTimestampRequest(This,allow)
465 #define INetFwIcmpSettings_get_AllowInboundMaskRequest(This,allow) (This)->lpVtbl->get_AllowInboundMaskRequest(This,allow)
466 #define INetFwIcmpSettings_put_AllowInboundMaskRequest(This,allow) (This)->lpVtbl->put_AllowInboundMaskRequest(This,allow)
467 #define INetFwIcmpSettings_get_AllowOutboundPacketTooBig(This,allow) (This)->lpVtbl->get_AllowOutboundPacketTooBig(This,allow)
468 #define INetFwIcmpSettings_put_AllowOutboundPacketTooBig(This,allow) (This)->lpVtbl->put_AllowOutboundPacketTooBig(This,allow)
469 #else
470 /*** IUnknown methods ***/
471 static FORCEINLINE HRESULT INetFwIcmpSettings_QueryInterface(INetFwIcmpSettings* This,REFIID riid,void **ppvObject) {
472     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
473 }
474 static FORCEINLINE ULONG INetFwIcmpSettings_AddRef(INetFwIcmpSettings* This) {
475     return This->lpVtbl->AddRef(This);
476 }
477 static FORCEINLINE ULONG INetFwIcmpSettings_Release(INetFwIcmpSettings* This) {
478     return This->lpVtbl->Release(This);
479 }
480 /*** IDispatch methods ***/
481 static FORCEINLINE HRESULT INetFwIcmpSettings_GetTypeInfoCount(INetFwIcmpSettings* This,UINT *pctinfo) {
482     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
483 }
484 static FORCEINLINE HRESULT INetFwIcmpSettings_GetTypeInfo(INetFwIcmpSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
485     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
486 }
487 static FORCEINLINE HRESULT INetFwIcmpSettings_GetIDsOfNames(INetFwIcmpSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
488     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
489 }
490 static FORCEINLINE HRESULT INetFwIcmpSettings_Invoke(INetFwIcmpSettings* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
491     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
492 }
493 /*** INetFwIcmpSettings methods ***/
494 static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowOutboundDestinationUnreachable(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
495     return This->lpVtbl->get_AllowOutboundDestinationUnreachable(This,allow);
496 }
497 static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowOutboundDestinationUnreachable(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
498     return This->lpVtbl->put_AllowOutboundDestinationUnreachable(This,allow);
499 }
500 static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowRedirect(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
501     return This->lpVtbl->get_AllowRedirect(This,allow);
502 }
503 static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowRedirect(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
504     return This->lpVtbl->put_AllowRedirect(This,allow);
505 }
506 static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowInboundEchoRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
507     return This->lpVtbl->get_AllowInboundEchoRequest(This,allow);
508 }
509 static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowInboundEchoRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
510     return This->lpVtbl->put_AllowInboundEchoRequest(This,allow);
511 }
512 static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowOutboundTimeExceeded(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
513     return This->lpVtbl->get_AllowOutboundTimeExceeded(This,allow);
514 }
515 static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowOutboundTimeExceeded(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
516     return This->lpVtbl->put_AllowOutboundTimeExceeded(This,allow);
517 }
518 static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowOutboundParameterProblem(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
519     return This->lpVtbl->get_AllowOutboundParameterProblem(This,allow);
520 }
521 static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowOutboundParameterProblem(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
522     return This->lpVtbl->put_AllowOutboundParameterProblem(This,allow);
523 }
524 static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowOutboundSourceQuench(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
525     return This->lpVtbl->get_AllowOutboundSourceQuench(This,allow);
526 }
527 static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowOutboundSourceQuench(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
528     return This->lpVtbl->put_AllowOutboundSourceQuench(This,allow);
529 }
530 static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowInboundRouterRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
531     return This->lpVtbl->get_AllowInboundRouterRequest(This,allow);
532 }
533 static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowInboundRouterRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
534     return This->lpVtbl->put_AllowInboundRouterRequest(This,allow);
535 }
536 static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowInboundTimestampRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
537     return This->lpVtbl->get_AllowInboundTimestampRequest(This,allow);
538 }
539 static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowInboundTimestampRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
540     return This->lpVtbl->put_AllowInboundTimestampRequest(This,allow);
541 }
542 static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowInboundMaskRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
543     return This->lpVtbl->get_AllowInboundMaskRequest(This,allow);
544 }
545 static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowInboundMaskRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
546     return This->lpVtbl->put_AllowInboundMaskRequest(This,allow);
547 }
548 static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowOutboundPacketTooBig(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
549     return This->lpVtbl->get_AllowOutboundPacketTooBig(This,allow);
550 }
551 static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowOutboundPacketTooBig(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
552     return This->lpVtbl->put_AllowOutboundPacketTooBig(This,allow);
553 }
554 #endif
555 #endif
556 
557 #endif
558 
559 
560 #endif  /* __INetFwIcmpSettings_INTERFACE_DEFINED__ */
561 
562 /*****************************************************************************
563  * INetFwOpenPort interface
564  */
565 #ifndef __INetFwOpenPort_INTERFACE_DEFINED__
566 #define __INetFwOpenPort_INTERFACE_DEFINED__
567 
568 DEFINE_GUID(IID_INetFwOpenPort, 0xe0483ba0, 0x47ff, 0x4d9c, 0xa6,0xd6, 0x77,0x41,0xd0,0xb1,0x95,0xf7);
569 #if defined(__cplusplus) && !defined(CINTERFACE)
570 MIDL_INTERFACE("e0483ba0-47ff-4d9c-a6d6-7741d0b195f7")
571 INetFwOpenPort : public IDispatch
572 {
573     virtual HRESULT STDMETHODCALLTYPE get_Name(
574         BSTR *name) = 0;
575 
576     virtual HRESULT STDMETHODCALLTYPE put_Name(
577         BSTR name) = 0;
578 
579     virtual HRESULT STDMETHODCALLTYPE get_IpVersion(
580         NET_FW_IP_VERSION *ipVersion) = 0;
581 
582     virtual HRESULT STDMETHODCALLTYPE put_IpVersion(
583         NET_FW_IP_VERSION ipVersion) = 0;
584 
585     virtual HRESULT STDMETHODCALLTYPE get_Protocol(
586         NET_FW_IP_PROTOCOL *ipProtocol) = 0;
587 
588     virtual HRESULT STDMETHODCALLTYPE put_Protocol(
589         NET_FW_IP_PROTOCOL ipProtocol) = 0;
590 
591     virtual HRESULT STDMETHODCALLTYPE get_Port(
592         LONG *portNumber) = 0;
593 
594     virtual HRESULT STDMETHODCALLTYPE put_Port(
595         LONG portNumber) = 0;
596 
597     virtual HRESULT STDMETHODCALLTYPE get_Scope(
598         NET_FW_SCOPE *scope) = 0;
599 
600     virtual HRESULT STDMETHODCALLTYPE put_Scope(
601         NET_FW_SCOPE scope) = 0;
602 
603     virtual HRESULT STDMETHODCALLTYPE get_RemoteAddresses(
604         BSTR *remoteAddrs) = 0;
605 
606     virtual HRESULT STDMETHODCALLTYPE put_RemoteAddresses(
607         BSTR remoteAddrs) = 0;
608 
609     virtual HRESULT STDMETHODCALLTYPE get_Enabled(
610         VARIANT_BOOL *enabled) = 0;
611 
612     virtual HRESULT STDMETHODCALLTYPE put_Enabled(
613         VARIANT_BOOL enabled) = 0;
614 
615     virtual HRESULT STDMETHODCALLTYPE get_BuiltIn(
616         VARIANT_BOOL *builtIn) = 0;
617 
618 };
619 #ifdef __CRT_UUID_DECL
620 __CRT_UUID_DECL(INetFwOpenPort, 0xe0483ba0, 0x47ff, 0x4d9c, 0xa6,0xd6, 0x77,0x41,0xd0,0xb1,0x95,0xf7)
621 #endif
622 #else
623 typedef struct INetFwOpenPortVtbl {
624     BEGIN_INTERFACE
625 
626     /*** IUnknown methods ***/
627     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
628         INetFwOpenPort *This,
629         REFIID riid,
630         void **ppvObject);
631 
632     ULONG (STDMETHODCALLTYPE *AddRef)(
633         INetFwOpenPort *This);
634 
635     ULONG (STDMETHODCALLTYPE *Release)(
636         INetFwOpenPort *This);
637 
638     /*** IDispatch methods ***/
639     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
640         INetFwOpenPort *This,
641         UINT *pctinfo);
642 
643     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
644         INetFwOpenPort *This,
645         UINT iTInfo,
646         LCID lcid,
647         ITypeInfo **ppTInfo);
648 
649     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
650         INetFwOpenPort *This,
651         REFIID riid,
652         LPOLESTR *rgszNames,
653         UINT cNames,
654         LCID lcid,
655         DISPID *rgDispId);
656 
657     HRESULT (STDMETHODCALLTYPE *Invoke)(
658         INetFwOpenPort *This,
659         DISPID dispIdMember,
660         REFIID riid,
661         LCID lcid,
662         WORD wFlags,
663         DISPPARAMS *pDispParams,
664         VARIANT *pVarResult,
665         EXCEPINFO *pExcepInfo,
666         UINT *puArgErr);
667 
668     /*** INetFwOpenPort methods ***/
669     HRESULT (STDMETHODCALLTYPE *get_Name)(
670         INetFwOpenPort *This,
671         BSTR *name);
672 
673     HRESULT (STDMETHODCALLTYPE *put_Name)(
674         INetFwOpenPort *This,
675         BSTR name);
676 
677     HRESULT (STDMETHODCALLTYPE *get_IpVersion)(
678         INetFwOpenPort *This,
679         NET_FW_IP_VERSION *ipVersion);
680 
681     HRESULT (STDMETHODCALLTYPE *put_IpVersion)(
682         INetFwOpenPort *This,
683         NET_FW_IP_VERSION ipVersion);
684 
685     HRESULT (STDMETHODCALLTYPE *get_Protocol)(
686         INetFwOpenPort *This,
687         NET_FW_IP_PROTOCOL *ipProtocol);
688 
689     HRESULT (STDMETHODCALLTYPE *put_Protocol)(
690         INetFwOpenPort *This,
691         NET_FW_IP_PROTOCOL ipProtocol);
692 
693     HRESULT (STDMETHODCALLTYPE *get_Port)(
694         INetFwOpenPort *This,
695         LONG *portNumber);
696 
697     HRESULT (STDMETHODCALLTYPE *put_Port)(
698         INetFwOpenPort *This,
699         LONG portNumber);
700 
701     HRESULT (STDMETHODCALLTYPE *get_Scope)(
702         INetFwOpenPort *This,
703         NET_FW_SCOPE *scope);
704 
705     HRESULT (STDMETHODCALLTYPE *put_Scope)(
706         INetFwOpenPort *This,
707         NET_FW_SCOPE scope);
708 
709     HRESULT (STDMETHODCALLTYPE *get_RemoteAddresses)(
710         INetFwOpenPort *This,
711         BSTR *remoteAddrs);
712 
713     HRESULT (STDMETHODCALLTYPE *put_RemoteAddresses)(
714         INetFwOpenPort *This,
715         BSTR remoteAddrs);
716 
717     HRESULT (STDMETHODCALLTYPE *get_Enabled)(
718         INetFwOpenPort *This,
719         VARIANT_BOOL *enabled);
720 
721     HRESULT (STDMETHODCALLTYPE *put_Enabled)(
722         INetFwOpenPort *This,
723         VARIANT_BOOL enabled);
724 
725     HRESULT (STDMETHODCALLTYPE *get_BuiltIn)(
726         INetFwOpenPort *This,
727         VARIANT_BOOL *builtIn);
728 
729     END_INTERFACE
730 } INetFwOpenPortVtbl;
731 
732 interface INetFwOpenPort {
733     CONST_VTBL INetFwOpenPortVtbl* lpVtbl;
734 };
735 
736 #ifdef COBJMACROS
737 #ifndef WIDL_C_INLINE_WRAPPERS
738 /*** IUnknown methods ***/
739 #define INetFwOpenPort_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
740 #define INetFwOpenPort_AddRef(This) (This)->lpVtbl->AddRef(This)
741 #define INetFwOpenPort_Release(This) (This)->lpVtbl->Release(This)
742 /*** IDispatch methods ***/
743 #define INetFwOpenPort_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
744 #define INetFwOpenPort_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
745 #define INetFwOpenPort_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
746 #define INetFwOpenPort_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
747 /*** INetFwOpenPort methods ***/
748 #define INetFwOpenPort_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
749 #define INetFwOpenPort_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
750 #define INetFwOpenPort_get_IpVersion(This,ipVersion) (This)->lpVtbl->get_IpVersion(This,ipVersion)
751 #define INetFwOpenPort_put_IpVersion(This,ipVersion) (This)->lpVtbl->put_IpVersion(This,ipVersion)
752 #define INetFwOpenPort_get_Protocol(This,ipProtocol) (This)->lpVtbl->get_Protocol(This,ipProtocol)
753 #define INetFwOpenPort_put_Protocol(This,ipProtocol) (This)->lpVtbl->put_Protocol(This,ipProtocol)
754 #define INetFwOpenPort_get_Port(This,portNumber) (This)->lpVtbl->get_Port(This,portNumber)
755 #define INetFwOpenPort_put_Port(This,portNumber) (This)->lpVtbl->put_Port(This,portNumber)
756 #define INetFwOpenPort_get_Scope(This,scope) (This)->lpVtbl->get_Scope(This,scope)
757 #define INetFwOpenPort_put_Scope(This,scope) (This)->lpVtbl->put_Scope(This,scope)
758 #define INetFwOpenPort_get_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->get_RemoteAddresses(This,remoteAddrs)
759 #define INetFwOpenPort_put_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->put_RemoteAddresses(This,remoteAddrs)
760 #define INetFwOpenPort_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled)
761 #define INetFwOpenPort_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled)
762 #define INetFwOpenPort_get_BuiltIn(This,builtIn) (This)->lpVtbl->get_BuiltIn(This,builtIn)
763 #else
764 /*** IUnknown methods ***/
765 static FORCEINLINE HRESULT INetFwOpenPort_QueryInterface(INetFwOpenPort* This,REFIID riid,void **ppvObject) {
766     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
767 }
768 static FORCEINLINE ULONG INetFwOpenPort_AddRef(INetFwOpenPort* This) {
769     return This->lpVtbl->AddRef(This);
770 }
771 static FORCEINLINE ULONG INetFwOpenPort_Release(INetFwOpenPort* This) {
772     return This->lpVtbl->Release(This);
773 }
774 /*** IDispatch methods ***/
775 static FORCEINLINE HRESULT INetFwOpenPort_GetTypeInfoCount(INetFwOpenPort* This,UINT *pctinfo) {
776     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
777 }
778 static FORCEINLINE HRESULT INetFwOpenPort_GetTypeInfo(INetFwOpenPort* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
779     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
780 }
781 static FORCEINLINE HRESULT INetFwOpenPort_GetIDsOfNames(INetFwOpenPort* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
782     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
783 }
784 static FORCEINLINE HRESULT INetFwOpenPort_Invoke(INetFwOpenPort* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
785     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
786 }
787 /*** INetFwOpenPort methods ***/
788 static FORCEINLINE HRESULT INetFwOpenPort_get_Name(INetFwOpenPort* This,BSTR *name) {
789     return This->lpVtbl->get_Name(This,name);
790 }
791 static FORCEINLINE HRESULT INetFwOpenPort_put_Name(INetFwOpenPort* This,BSTR name) {
792     return This->lpVtbl->put_Name(This,name);
793 }
794 static FORCEINLINE HRESULT INetFwOpenPort_get_IpVersion(INetFwOpenPort* This,NET_FW_IP_VERSION *ipVersion) {
795     return This->lpVtbl->get_IpVersion(This,ipVersion);
796 }
797 static FORCEINLINE HRESULT INetFwOpenPort_put_IpVersion(INetFwOpenPort* This,NET_FW_IP_VERSION ipVersion) {
798     return This->lpVtbl->put_IpVersion(This,ipVersion);
799 }
800 static FORCEINLINE HRESULT INetFwOpenPort_get_Protocol(INetFwOpenPort* This,NET_FW_IP_PROTOCOL *ipProtocol) {
801     return This->lpVtbl->get_Protocol(This,ipProtocol);
802 }
803 static FORCEINLINE HRESULT INetFwOpenPort_put_Protocol(INetFwOpenPort* This,NET_FW_IP_PROTOCOL ipProtocol) {
804     return This->lpVtbl->put_Protocol(This,ipProtocol);
805 }
806 static FORCEINLINE HRESULT INetFwOpenPort_get_Port(INetFwOpenPort* This,LONG *portNumber) {
807     return This->lpVtbl->get_Port(This,portNumber);
808 }
809 static FORCEINLINE HRESULT INetFwOpenPort_put_Port(INetFwOpenPort* This,LONG portNumber) {
810     return This->lpVtbl->put_Port(This,portNumber);
811 }
812 static FORCEINLINE HRESULT INetFwOpenPort_get_Scope(INetFwOpenPort* This,NET_FW_SCOPE *scope) {
813     return This->lpVtbl->get_Scope(This,scope);
814 }
815 static FORCEINLINE HRESULT INetFwOpenPort_put_Scope(INetFwOpenPort* This,NET_FW_SCOPE scope) {
816     return This->lpVtbl->put_Scope(This,scope);
817 }
818 static FORCEINLINE HRESULT INetFwOpenPort_get_RemoteAddresses(INetFwOpenPort* This,BSTR *remoteAddrs) {
819     return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
820 }
821 static FORCEINLINE HRESULT INetFwOpenPort_put_RemoteAddresses(INetFwOpenPort* This,BSTR remoteAddrs) {
822     return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
823 }
824 static FORCEINLINE HRESULT INetFwOpenPort_get_Enabled(INetFwOpenPort* This,VARIANT_BOOL *enabled) {
825     return This->lpVtbl->get_Enabled(This,enabled);
826 }
827 static FORCEINLINE HRESULT INetFwOpenPort_put_Enabled(INetFwOpenPort* This,VARIANT_BOOL enabled) {
828     return This->lpVtbl->put_Enabled(This,enabled);
829 }
830 static FORCEINLINE HRESULT INetFwOpenPort_get_BuiltIn(INetFwOpenPort* This,VARIANT_BOOL *builtIn) {
831     return This->lpVtbl->get_BuiltIn(This,builtIn);
832 }
833 #endif
834 #endif
835 
836 #endif
837 
838 
839 #endif  /* __INetFwOpenPort_INTERFACE_DEFINED__ */
840 
841 /*****************************************************************************
842  * INetFwOpenPorts interface
843  */
844 #ifndef __INetFwOpenPorts_INTERFACE_DEFINED__
845 #define __INetFwOpenPorts_INTERFACE_DEFINED__
846 
847 DEFINE_GUID(IID_INetFwOpenPorts, 0xc0e9d7fa, 0xe07e, 0x430a, 0xb1,0x9a, 0x09,0x0c,0xe8,0x2d,0x92,0xe2);
848 #if defined(__cplusplus) && !defined(CINTERFACE)
849 MIDL_INTERFACE("c0e9d7fa-e07e-430a-b19a-090ce82d92e2")
850 INetFwOpenPorts : public IDispatch
851 {
852     virtual HRESULT STDMETHODCALLTYPE get_Count(
853         LONG *count) = 0;
854 
855     virtual HRESULT STDMETHODCALLTYPE Add(
856         INetFwOpenPort *port) = 0;
857 
858     virtual HRESULT STDMETHODCALLTYPE Remove(
859         LONG portNumber,
860         NET_FW_IP_PROTOCOL ipProtocol) = 0;
861 
862     virtual HRESULT STDMETHODCALLTYPE Item(
863         LONG portNumber,
864         NET_FW_IP_PROTOCOL ipProtocol,
865         INetFwOpenPort **openPort) = 0;
866 
867     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
868         IUnknown **newEnum) = 0;
869 
870 };
871 #ifdef __CRT_UUID_DECL
872 __CRT_UUID_DECL(INetFwOpenPorts, 0xc0e9d7fa, 0xe07e, 0x430a, 0xb1,0x9a, 0x09,0x0c,0xe8,0x2d,0x92,0xe2)
873 #endif
874 #else
875 typedef struct INetFwOpenPortsVtbl {
876     BEGIN_INTERFACE
877 
878     /*** IUnknown methods ***/
879     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
880         INetFwOpenPorts *This,
881         REFIID riid,
882         void **ppvObject);
883 
884     ULONG (STDMETHODCALLTYPE *AddRef)(
885         INetFwOpenPorts *This);
886 
887     ULONG (STDMETHODCALLTYPE *Release)(
888         INetFwOpenPorts *This);
889 
890     /*** IDispatch methods ***/
891     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
892         INetFwOpenPorts *This,
893         UINT *pctinfo);
894 
895     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
896         INetFwOpenPorts *This,
897         UINT iTInfo,
898         LCID lcid,
899         ITypeInfo **ppTInfo);
900 
901     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
902         INetFwOpenPorts *This,
903         REFIID riid,
904         LPOLESTR *rgszNames,
905         UINT cNames,
906         LCID lcid,
907         DISPID *rgDispId);
908 
909     HRESULT (STDMETHODCALLTYPE *Invoke)(
910         INetFwOpenPorts *This,
911         DISPID dispIdMember,
912         REFIID riid,
913         LCID lcid,
914         WORD wFlags,
915         DISPPARAMS *pDispParams,
916         VARIANT *pVarResult,
917         EXCEPINFO *pExcepInfo,
918         UINT *puArgErr);
919 
920     /*** INetFwOpenPorts methods ***/
921     HRESULT (STDMETHODCALLTYPE *get_Count)(
922         INetFwOpenPorts *This,
923         LONG *count);
924 
925     HRESULT (STDMETHODCALLTYPE *Add)(
926         INetFwOpenPorts *This,
927         INetFwOpenPort *port);
928 
929     HRESULT (STDMETHODCALLTYPE *Remove)(
930         INetFwOpenPorts *This,
931         LONG portNumber,
932         NET_FW_IP_PROTOCOL ipProtocol);
933 
934     HRESULT (STDMETHODCALLTYPE *Item)(
935         INetFwOpenPorts *This,
936         LONG portNumber,
937         NET_FW_IP_PROTOCOL ipProtocol,
938         INetFwOpenPort **openPort);
939 
940     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
941         INetFwOpenPorts *This,
942         IUnknown **newEnum);
943 
944     END_INTERFACE
945 } INetFwOpenPortsVtbl;
946 
947 interface INetFwOpenPorts {
948     CONST_VTBL INetFwOpenPortsVtbl* lpVtbl;
949 };
950 
951 #ifdef COBJMACROS
952 #ifndef WIDL_C_INLINE_WRAPPERS
953 /*** IUnknown methods ***/
954 #define INetFwOpenPorts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
955 #define INetFwOpenPorts_AddRef(This) (This)->lpVtbl->AddRef(This)
956 #define INetFwOpenPorts_Release(This) (This)->lpVtbl->Release(This)
957 /*** IDispatch methods ***/
958 #define INetFwOpenPorts_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
959 #define INetFwOpenPorts_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
960 #define INetFwOpenPorts_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
961 #define INetFwOpenPorts_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
962 /*** INetFwOpenPorts methods ***/
963 #define INetFwOpenPorts_get_Count(This,count) (This)->lpVtbl->get_Count(This,count)
964 #define INetFwOpenPorts_Add(This,port) (This)->lpVtbl->Add(This,port)
965 #define INetFwOpenPorts_Remove(This,portNumber,ipProtocol) (This)->lpVtbl->Remove(This,portNumber,ipProtocol)
966 #define INetFwOpenPorts_Item(This,portNumber,ipProtocol,openPort) (This)->lpVtbl->Item(This,portNumber,ipProtocol,openPort)
967 #define INetFwOpenPorts_get__NewEnum(This,newEnum) (This)->lpVtbl->get__NewEnum(This,newEnum)
968 #else
969 /*** IUnknown methods ***/
970 static FORCEINLINE HRESULT INetFwOpenPorts_QueryInterface(INetFwOpenPorts* This,REFIID riid,void **ppvObject) {
971     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
972 }
973 static FORCEINLINE ULONG INetFwOpenPorts_AddRef(INetFwOpenPorts* This) {
974     return This->lpVtbl->AddRef(This);
975 }
976 static FORCEINLINE ULONG INetFwOpenPorts_Release(INetFwOpenPorts* This) {
977     return This->lpVtbl->Release(This);
978 }
979 /*** IDispatch methods ***/
980 static FORCEINLINE HRESULT INetFwOpenPorts_GetTypeInfoCount(INetFwOpenPorts* This,UINT *pctinfo) {
981     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
982 }
983 static FORCEINLINE HRESULT INetFwOpenPorts_GetTypeInfo(INetFwOpenPorts* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
984     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
985 }
986 static FORCEINLINE HRESULT INetFwOpenPorts_GetIDsOfNames(INetFwOpenPorts* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
987     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
988 }
989 static FORCEINLINE HRESULT INetFwOpenPorts_Invoke(INetFwOpenPorts* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
990     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
991 }
992 /*** INetFwOpenPorts methods ***/
993 static FORCEINLINE HRESULT INetFwOpenPorts_get_Count(INetFwOpenPorts* This,LONG *count) {
994     return This->lpVtbl->get_Count(This,count);
995 }
996 static FORCEINLINE HRESULT INetFwOpenPorts_Add(INetFwOpenPorts* This,INetFwOpenPort *port) {
997     return This->lpVtbl->Add(This,port);
998 }
999 static FORCEINLINE HRESULT INetFwOpenPorts_Remove(INetFwOpenPorts* This,LONG portNumber,NET_FW_IP_PROTOCOL ipProtocol) {
1000     return This->lpVtbl->Remove(This,portNumber,ipProtocol);
1001 }
1002 static FORCEINLINE HRESULT INetFwOpenPorts_Item(INetFwOpenPorts* This,LONG portNumber,NET_FW_IP_PROTOCOL ipProtocol,INetFwOpenPort **openPort) {
1003     return This->lpVtbl->Item(This,portNumber,ipProtocol,openPort);
1004 }
1005 static FORCEINLINE HRESULT INetFwOpenPorts_get__NewEnum(INetFwOpenPorts* This,IUnknown **newEnum) {
1006     return This->lpVtbl->get__NewEnum(This,newEnum);
1007 }
1008 #endif
1009 #endif
1010 
1011 #endif
1012 
1013 
1014 #endif  /* __INetFwOpenPorts_INTERFACE_DEFINED__ */
1015 
1016 /*****************************************************************************
1017  * INetFwService interface
1018  */
1019 #ifndef __INetFwService_INTERFACE_DEFINED__
1020 #define __INetFwService_INTERFACE_DEFINED__
1021 
1022 DEFINE_GUID(IID_INetFwService, 0x79fd57c8, 0x908e, 0x4a36, 0x98,0x88, 0xd5,0xb3,0xf0,0xa4,0x44,0xcf);
1023 #if defined(__cplusplus) && !defined(CINTERFACE)
1024 MIDL_INTERFACE("79fd57c8-908e-4a36-9888-d5b3f0a444cf")
1025 INetFwService : public IDispatch
1026 {
1027     virtual HRESULT STDMETHODCALLTYPE get_Name(
1028         BSTR *name) = 0;
1029 
1030     virtual HRESULT STDMETHODCALLTYPE get_Type(
1031         NET_FW_SERVICE_TYPE *type) = 0;
1032 
1033     virtual HRESULT STDMETHODCALLTYPE get_Customized(
1034         VARIANT_BOOL *customized) = 0;
1035 
1036     virtual HRESULT STDMETHODCALLTYPE get_IpVersion(
1037         NET_FW_IP_VERSION *ipVersion) = 0;
1038 
1039     virtual HRESULT STDMETHODCALLTYPE put_IpVersion(
1040         NET_FW_IP_VERSION ipVersion) = 0;
1041 
1042     virtual HRESULT STDMETHODCALLTYPE get_Scope(
1043         NET_FW_SCOPE *scope) = 0;
1044 
1045     virtual HRESULT STDMETHODCALLTYPE put_Scope(
1046         NET_FW_SCOPE scope) = 0;
1047 
1048     virtual HRESULT STDMETHODCALLTYPE get_RemoteAddresses(
1049         BSTR *remoteAddrs) = 0;
1050 
1051     virtual HRESULT STDMETHODCALLTYPE put_RemoteAddresses(
1052         BSTR remoteAddrs) = 0;
1053 
1054     virtual HRESULT STDMETHODCALLTYPE get_Enabled(
1055         VARIANT_BOOL *enabled) = 0;
1056 
1057     virtual HRESULT STDMETHODCALLTYPE put_Enabled(
1058         VARIANT_BOOL enabled) = 0;
1059 
1060     virtual HRESULT STDMETHODCALLTYPE get_GloballyOpenPorts(
1061         INetFwOpenPorts **openPorts) = 0;
1062 
1063 };
1064 #ifdef __CRT_UUID_DECL
1065 __CRT_UUID_DECL(INetFwService, 0x79fd57c8, 0x908e, 0x4a36, 0x98,0x88, 0xd5,0xb3,0xf0,0xa4,0x44,0xcf)
1066 #endif
1067 #else
1068 typedef struct INetFwServiceVtbl {
1069     BEGIN_INTERFACE
1070 
1071     /*** IUnknown methods ***/
1072     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1073         INetFwService *This,
1074         REFIID riid,
1075         void **ppvObject);
1076 
1077     ULONG (STDMETHODCALLTYPE *AddRef)(
1078         INetFwService *This);
1079 
1080     ULONG (STDMETHODCALLTYPE *Release)(
1081         INetFwService *This);
1082 
1083     /*** IDispatch methods ***/
1084     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1085         INetFwService *This,
1086         UINT *pctinfo);
1087 
1088     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1089         INetFwService *This,
1090         UINT iTInfo,
1091         LCID lcid,
1092         ITypeInfo **ppTInfo);
1093 
1094     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1095         INetFwService *This,
1096         REFIID riid,
1097         LPOLESTR *rgszNames,
1098         UINT cNames,
1099         LCID lcid,
1100         DISPID *rgDispId);
1101 
1102     HRESULT (STDMETHODCALLTYPE *Invoke)(
1103         INetFwService *This,
1104         DISPID dispIdMember,
1105         REFIID riid,
1106         LCID lcid,
1107         WORD wFlags,
1108         DISPPARAMS *pDispParams,
1109         VARIANT *pVarResult,
1110         EXCEPINFO *pExcepInfo,
1111         UINT *puArgErr);
1112 
1113     /*** INetFwService methods ***/
1114     HRESULT (STDMETHODCALLTYPE *get_Name)(
1115         INetFwService *This,
1116         BSTR *name);
1117 
1118     HRESULT (STDMETHODCALLTYPE *get_Type)(
1119         INetFwService *This,
1120         NET_FW_SERVICE_TYPE *type);
1121 
1122     HRESULT (STDMETHODCALLTYPE *get_Customized)(
1123         INetFwService *This,
1124         VARIANT_BOOL *customized);
1125 
1126     HRESULT (STDMETHODCALLTYPE *get_IpVersion)(
1127         INetFwService *This,
1128         NET_FW_IP_VERSION *ipVersion);
1129 
1130     HRESULT (STDMETHODCALLTYPE *put_IpVersion)(
1131         INetFwService *This,
1132         NET_FW_IP_VERSION ipVersion);
1133 
1134     HRESULT (STDMETHODCALLTYPE *get_Scope)(
1135         INetFwService *This,
1136         NET_FW_SCOPE *scope);
1137 
1138     HRESULT (STDMETHODCALLTYPE *put_Scope)(
1139         INetFwService *This,
1140         NET_FW_SCOPE scope);
1141 
1142     HRESULT (STDMETHODCALLTYPE *get_RemoteAddresses)(
1143         INetFwService *This,
1144         BSTR *remoteAddrs);
1145 
1146     HRESULT (STDMETHODCALLTYPE *put_RemoteAddresses)(
1147         INetFwService *This,
1148         BSTR remoteAddrs);
1149 
1150     HRESULT (STDMETHODCALLTYPE *get_Enabled)(
1151         INetFwService *This,
1152         VARIANT_BOOL *enabled);
1153 
1154     HRESULT (STDMETHODCALLTYPE *put_Enabled)(
1155         INetFwService *This,
1156         VARIANT_BOOL enabled);
1157 
1158     HRESULT (STDMETHODCALLTYPE *get_GloballyOpenPorts)(
1159         INetFwService *This,
1160         INetFwOpenPorts **openPorts);
1161 
1162     END_INTERFACE
1163 } INetFwServiceVtbl;
1164 
1165 interface INetFwService {
1166     CONST_VTBL INetFwServiceVtbl* lpVtbl;
1167 };
1168 
1169 #ifdef COBJMACROS
1170 #ifndef WIDL_C_INLINE_WRAPPERS
1171 /*** IUnknown methods ***/
1172 #define INetFwService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1173 #define INetFwService_AddRef(This) (This)->lpVtbl->AddRef(This)
1174 #define INetFwService_Release(This) (This)->lpVtbl->Release(This)
1175 /*** IDispatch methods ***/
1176 #define INetFwService_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1177 #define INetFwService_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1178 #define INetFwService_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1179 #define INetFwService_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1180 /*** INetFwService methods ***/
1181 #define INetFwService_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
1182 #define INetFwService_get_Type(This,type) (This)->lpVtbl->get_Type(This,type)
1183 #define INetFwService_get_Customized(This,customized) (This)->lpVtbl->get_Customized(This,customized)
1184 #define INetFwService_get_IpVersion(This,ipVersion) (This)->lpVtbl->get_IpVersion(This,ipVersion)
1185 #define INetFwService_put_IpVersion(This,ipVersion) (This)->lpVtbl->put_IpVersion(This,ipVersion)
1186 #define INetFwService_get_Scope(This,scope) (This)->lpVtbl->get_Scope(This,scope)
1187 #define INetFwService_put_Scope(This,scope) (This)->lpVtbl->put_Scope(This,scope)
1188 #define INetFwService_get_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->get_RemoteAddresses(This,remoteAddrs)
1189 #define INetFwService_put_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->put_RemoteAddresses(This,remoteAddrs)
1190 #define INetFwService_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled)
1191 #define INetFwService_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled)
1192 #define INetFwService_get_GloballyOpenPorts(This,openPorts) (This)->lpVtbl->get_GloballyOpenPorts(This,openPorts)
1193 #else
1194 /*** IUnknown methods ***/
1195 static FORCEINLINE HRESULT INetFwService_QueryInterface(INetFwService* This,REFIID riid,void **ppvObject) {
1196     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1197 }
1198 static FORCEINLINE ULONG INetFwService_AddRef(INetFwService* This) {
1199     return This->lpVtbl->AddRef(This);
1200 }
1201 static FORCEINLINE ULONG INetFwService_Release(INetFwService* This) {
1202     return This->lpVtbl->Release(This);
1203 }
1204 /*** IDispatch methods ***/
1205 static FORCEINLINE HRESULT INetFwService_GetTypeInfoCount(INetFwService* This,UINT *pctinfo) {
1206     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1207 }
1208 static FORCEINLINE HRESULT INetFwService_GetTypeInfo(INetFwService* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1209     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1210 }
1211 static FORCEINLINE HRESULT INetFwService_GetIDsOfNames(INetFwService* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1212     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1213 }
1214 static FORCEINLINE HRESULT INetFwService_Invoke(INetFwService* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1215     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1216 }
1217 /*** INetFwService methods ***/
1218 static FORCEINLINE HRESULT INetFwService_get_Name(INetFwService* This,BSTR *name) {
1219     return This->lpVtbl->get_Name(This,name);
1220 }
1221 static FORCEINLINE HRESULT INetFwService_get_Type(INetFwService* This,NET_FW_SERVICE_TYPE *type) {
1222     return This->lpVtbl->get_Type(This,type);
1223 }
1224 static FORCEINLINE HRESULT INetFwService_get_Customized(INetFwService* This,VARIANT_BOOL *customized) {
1225     return This->lpVtbl->get_Customized(This,customized);
1226 }
1227 static FORCEINLINE HRESULT INetFwService_get_IpVersion(INetFwService* This,NET_FW_IP_VERSION *ipVersion) {
1228     return This->lpVtbl->get_IpVersion(This,ipVersion);
1229 }
1230 static FORCEINLINE HRESULT INetFwService_put_IpVersion(INetFwService* This,NET_FW_IP_VERSION ipVersion) {
1231     return This->lpVtbl->put_IpVersion(This,ipVersion);
1232 }
1233 static FORCEINLINE HRESULT INetFwService_get_Scope(INetFwService* This,NET_FW_SCOPE *scope) {
1234     return This->lpVtbl->get_Scope(This,scope);
1235 }
1236 static FORCEINLINE HRESULT INetFwService_put_Scope(INetFwService* This,NET_FW_SCOPE scope) {
1237     return This->lpVtbl->put_Scope(This,scope);
1238 }
1239 static FORCEINLINE HRESULT INetFwService_get_RemoteAddresses(INetFwService* This,BSTR *remoteAddrs) {
1240     return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
1241 }
1242 static FORCEINLINE HRESULT INetFwService_put_RemoteAddresses(INetFwService* This,BSTR remoteAddrs) {
1243     return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
1244 }
1245 static FORCEINLINE HRESULT INetFwService_get_Enabled(INetFwService* This,VARIANT_BOOL *enabled) {
1246     return This->lpVtbl->get_Enabled(This,enabled);
1247 }
1248 static FORCEINLINE HRESULT INetFwService_put_Enabled(INetFwService* This,VARIANT_BOOL enabled) {
1249     return This->lpVtbl->put_Enabled(This,enabled);
1250 }
1251 static FORCEINLINE HRESULT INetFwService_get_GloballyOpenPorts(INetFwService* This,INetFwOpenPorts **openPorts) {
1252     return This->lpVtbl->get_GloballyOpenPorts(This,openPorts);
1253 }
1254 #endif
1255 #endif
1256 
1257 #endif
1258 
1259 
1260 #endif  /* __INetFwService_INTERFACE_DEFINED__ */
1261 
1262 /*****************************************************************************
1263  * INetFwServices interface
1264  */
1265 #ifndef __INetFwServices_INTERFACE_DEFINED__
1266 #define __INetFwServices_INTERFACE_DEFINED__
1267 
1268 DEFINE_GUID(IID_INetFwServices, 0x79649bb4, 0x903e, 0x421b, 0x94,0xc9, 0x79,0x84,0x8e,0x79,0xf6,0xee);
1269 #if defined(__cplusplus) && !defined(CINTERFACE)
1270 MIDL_INTERFACE("79649bb4-903e-421b-94c9-79848e79f6ee")
1271 INetFwServices : public IDispatch
1272 {
1273     virtual HRESULT STDMETHODCALLTYPE get_Count(
1274         LONG *count) = 0;
1275 
1276     virtual HRESULT STDMETHODCALLTYPE Item(
1277         NET_FW_SERVICE_TYPE svcType,
1278         INetFwService **service) = 0;
1279 
1280     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
1281         IUnknown **newEnum) = 0;
1282 
1283 };
1284 #ifdef __CRT_UUID_DECL
1285 __CRT_UUID_DECL(INetFwServices, 0x79649bb4, 0x903e, 0x421b, 0x94,0xc9, 0x79,0x84,0x8e,0x79,0xf6,0xee)
1286 #endif
1287 #else
1288 typedef struct INetFwServicesVtbl {
1289     BEGIN_INTERFACE
1290 
1291     /*** IUnknown methods ***/
1292     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1293         INetFwServices *This,
1294         REFIID riid,
1295         void **ppvObject);
1296 
1297     ULONG (STDMETHODCALLTYPE *AddRef)(
1298         INetFwServices *This);
1299 
1300     ULONG (STDMETHODCALLTYPE *Release)(
1301         INetFwServices *This);
1302 
1303     /*** IDispatch methods ***/
1304     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1305         INetFwServices *This,
1306         UINT *pctinfo);
1307 
1308     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1309         INetFwServices *This,
1310         UINT iTInfo,
1311         LCID lcid,
1312         ITypeInfo **ppTInfo);
1313 
1314     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1315         INetFwServices *This,
1316         REFIID riid,
1317         LPOLESTR *rgszNames,
1318         UINT cNames,
1319         LCID lcid,
1320         DISPID *rgDispId);
1321 
1322     HRESULT (STDMETHODCALLTYPE *Invoke)(
1323         INetFwServices *This,
1324         DISPID dispIdMember,
1325         REFIID riid,
1326         LCID lcid,
1327         WORD wFlags,
1328         DISPPARAMS *pDispParams,
1329         VARIANT *pVarResult,
1330         EXCEPINFO *pExcepInfo,
1331         UINT *puArgErr);
1332 
1333     /*** INetFwServices methods ***/
1334     HRESULT (STDMETHODCALLTYPE *get_Count)(
1335         INetFwServices *This,
1336         LONG *count);
1337 
1338     HRESULT (STDMETHODCALLTYPE *Item)(
1339         INetFwServices *This,
1340         NET_FW_SERVICE_TYPE svcType,
1341         INetFwService **service);
1342 
1343     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
1344         INetFwServices *This,
1345         IUnknown **newEnum);
1346 
1347     END_INTERFACE
1348 } INetFwServicesVtbl;
1349 
1350 interface INetFwServices {
1351     CONST_VTBL INetFwServicesVtbl* lpVtbl;
1352 };
1353 
1354 #ifdef COBJMACROS
1355 #ifndef WIDL_C_INLINE_WRAPPERS
1356 /*** IUnknown methods ***/
1357 #define INetFwServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1358 #define INetFwServices_AddRef(This) (This)->lpVtbl->AddRef(This)
1359 #define INetFwServices_Release(This) (This)->lpVtbl->Release(This)
1360 /*** IDispatch methods ***/
1361 #define INetFwServices_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1362 #define INetFwServices_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1363 #define INetFwServices_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1364 #define INetFwServices_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1365 /*** INetFwServices methods ***/
1366 #define INetFwServices_get_Count(This,count) (This)->lpVtbl->get_Count(This,count)
1367 #define INetFwServices_Item(This,svcType,service) (This)->lpVtbl->Item(This,svcType,service)
1368 #define INetFwServices_get__NewEnum(This,newEnum) (This)->lpVtbl->get__NewEnum(This,newEnum)
1369 #else
1370 /*** IUnknown methods ***/
1371 static FORCEINLINE HRESULT INetFwServices_QueryInterface(INetFwServices* This,REFIID riid,void **ppvObject) {
1372     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1373 }
1374 static FORCEINLINE ULONG INetFwServices_AddRef(INetFwServices* This) {
1375     return This->lpVtbl->AddRef(This);
1376 }
1377 static FORCEINLINE ULONG INetFwServices_Release(INetFwServices* This) {
1378     return This->lpVtbl->Release(This);
1379 }
1380 /*** IDispatch methods ***/
1381 static FORCEINLINE HRESULT INetFwServices_GetTypeInfoCount(INetFwServices* This,UINT *pctinfo) {
1382     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1383 }
1384 static FORCEINLINE HRESULT INetFwServices_GetTypeInfo(INetFwServices* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1385     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1386 }
1387 static FORCEINLINE HRESULT INetFwServices_GetIDsOfNames(INetFwServices* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1388     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1389 }
1390 static FORCEINLINE HRESULT INetFwServices_Invoke(INetFwServices* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1391     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1392 }
1393 /*** INetFwServices methods ***/
1394 static FORCEINLINE HRESULT INetFwServices_get_Count(INetFwServices* This,LONG *count) {
1395     return This->lpVtbl->get_Count(This,count);
1396 }
1397 static FORCEINLINE HRESULT INetFwServices_Item(INetFwServices* This,NET_FW_SERVICE_TYPE svcType,INetFwService **service) {
1398     return This->lpVtbl->Item(This,svcType,service);
1399 }
1400 static FORCEINLINE HRESULT INetFwServices_get__NewEnum(INetFwServices* This,IUnknown **newEnum) {
1401     return This->lpVtbl->get__NewEnum(This,newEnum);
1402 }
1403 #endif
1404 #endif
1405 
1406 #endif
1407 
1408 
1409 #endif  /* __INetFwServices_INTERFACE_DEFINED__ */
1410 
1411 /*****************************************************************************
1412  * INetFwAuthorizedApplication interface
1413  */
1414 #ifndef __INetFwAuthorizedApplication_INTERFACE_DEFINED__
1415 #define __INetFwAuthorizedApplication_INTERFACE_DEFINED__
1416 
1417 DEFINE_GUID(IID_INetFwAuthorizedApplication, 0xb5e64ffa, 0xc2c5, 0x444e, 0xa3,0x01, 0xfb,0x5e,0x00,0x01,0x80,0x50);
1418 #if defined(__cplusplus) && !defined(CINTERFACE)
1419 MIDL_INTERFACE("b5e64ffa-c2c5-444e-a301-fb5e00018050")
1420 INetFwAuthorizedApplication : public IDispatch
1421 {
1422     virtual HRESULT STDMETHODCALLTYPE get_Name(
1423         BSTR *name) = 0;
1424 
1425     virtual HRESULT STDMETHODCALLTYPE put_Name(
1426         BSTR name) = 0;
1427 
1428     virtual HRESULT STDMETHODCALLTYPE get_ProcessImageFileName(
1429         BSTR *imageFileName) = 0;
1430 
1431     virtual HRESULT STDMETHODCALLTYPE put_ProcessImageFileName(
1432         BSTR imageFileName) = 0;
1433 
1434     virtual HRESULT STDMETHODCALLTYPE get_IpVersion(
1435         NET_FW_IP_VERSION *ipVersion) = 0;
1436 
1437     virtual HRESULT STDMETHODCALLTYPE put_IpVersion(
1438         NET_FW_IP_VERSION ipVersion) = 0;
1439 
1440     virtual HRESULT STDMETHODCALLTYPE get_Scope(
1441         NET_FW_SCOPE *scope) = 0;
1442 
1443     virtual HRESULT STDMETHODCALLTYPE put_Scope(
1444         NET_FW_SCOPE scope) = 0;
1445 
1446     virtual HRESULT STDMETHODCALLTYPE get_RemoteAddresses(
1447         BSTR *remoteAddrs) = 0;
1448 
1449     virtual HRESULT STDMETHODCALLTYPE put_RemoteAddresses(
1450         BSTR remoteAddrs) = 0;
1451 
1452     virtual HRESULT STDMETHODCALLTYPE get_Enabled(
1453         VARIANT_BOOL *enabled) = 0;
1454 
1455     virtual HRESULT STDMETHODCALLTYPE put_Enabled(
1456         VARIANT_BOOL enabled) = 0;
1457 
1458 };
1459 #ifdef __CRT_UUID_DECL
1460 __CRT_UUID_DECL(INetFwAuthorizedApplication, 0xb5e64ffa, 0xc2c5, 0x444e, 0xa3,0x01, 0xfb,0x5e,0x00,0x01,0x80,0x50)
1461 #endif
1462 #else
1463 typedef struct INetFwAuthorizedApplicationVtbl {
1464     BEGIN_INTERFACE
1465 
1466     /*** IUnknown methods ***/
1467     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1468         INetFwAuthorizedApplication *This,
1469         REFIID riid,
1470         void **ppvObject);
1471 
1472     ULONG (STDMETHODCALLTYPE *AddRef)(
1473         INetFwAuthorizedApplication *This);
1474 
1475     ULONG (STDMETHODCALLTYPE *Release)(
1476         INetFwAuthorizedApplication *This);
1477 
1478     /*** IDispatch methods ***/
1479     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1480         INetFwAuthorizedApplication *This,
1481         UINT *pctinfo);
1482 
1483     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1484         INetFwAuthorizedApplication *This,
1485         UINT iTInfo,
1486         LCID lcid,
1487         ITypeInfo **ppTInfo);
1488 
1489     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1490         INetFwAuthorizedApplication *This,
1491         REFIID riid,
1492         LPOLESTR *rgszNames,
1493         UINT cNames,
1494         LCID lcid,
1495         DISPID *rgDispId);
1496 
1497     HRESULT (STDMETHODCALLTYPE *Invoke)(
1498         INetFwAuthorizedApplication *This,
1499         DISPID dispIdMember,
1500         REFIID riid,
1501         LCID lcid,
1502         WORD wFlags,
1503         DISPPARAMS *pDispParams,
1504         VARIANT *pVarResult,
1505         EXCEPINFO *pExcepInfo,
1506         UINT *puArgErr);
1507 
1508     /*** INetFwAuthorizedApplication methods ***/
1509     HRESULT (STDMETHODCALLTYPE *get_Name)(
1510         INetFwAuthorizedApplication *This,
1511         BSTR *name);
1512 
1513     HRESULT (STDMETHODCALLTYPE *put_Name)(
1514         INetFwAuthorizedApplication *This,
1515         BSTR name);
1516 
1517     HRESULT (STDMETHODCALLTYPE *get_ProcessImageFileName)(
1518         INetFwAuthorizedApplication *This,
1519         BSTR *imageFileName);
1520 
1521     HRESULT (STDMETHODCALLTYPE *put_ProcessImageFileName)(
1522         INetFwAuthorizedApplication *This,
1523         BSTR imageFileName);
1524 
1525     HRESULT (STDMETHODCALLTYPE *get_IpVersion)(
1526         INetFwAuthorizedApplication *This,
1527         NET_FW_IP_VERSION *ipVersion);
1528 
1529     HRESULT (STDMETHODCALLTYPE *put_IpVersion)(
1530         INetFwAuthorizedApplication *This,
1531         NET_FW_IP_VERSION ipVersion);
1532 
1533     HRESULT (STDMETHODCALLTYPE *get_Scope)(
1534         INetFwAuthorizedApplication *This,
1535         NET_FW_SCOPE *scope);
1536 
1537     HRESULT (STDMETHODCALLTYPE *put_Scope)(
1538         INetFwAuthorizedApplication *This,
1539         NET_FW_SCOPE scope);
1540 
1541     HRESULT (STDMETHODCALLTYPE *get_RemoteAddresses)(
1542         INetFwAuthorizedApplication *This,
1543         BSTR *remoteAddrs);
1544 
1545     HRESULT (STDMETHODCALLTYPE *put_RemoteAddresses)(
1546         INetFwAuthorizedApplication *This,
1547         BSTR remoteAddrs);
1548 
1549     HRESULT (STDMETHODCALLTYPE *get_Enabled)(
1550         INetFwAuthorizedApplication *This,
1551         VARIANT_BOOL *enabled);
1552 
1553     HRESULT (STDMETHODCALLTYPE *put_Enabled)(
1554         INetFwAuthorizedApplication *This,
1555         VARIANT_BOOL enabled);
1556 
1557     END_INTERFACE
1558 } INetFwAuthorizedApplicationVtbl;
1559 
1560 interface INetFwAuthorizedApplication {
1561     CONST_VTBL INetFwAuthorizedApplicationVtbl* lpVtbl;
1562 };
1563 
1564 #ifdef COBJMACROS
1565 #ifndef WIDL_C_INLINE_WRAPPERS
1566 /*** IUnknown methods ***/
1567 #define INetFwAuthorizedApplication_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1568 #define INetFwAuthorizedApplication_AddRef(This) (This)->lpVtbl->AddRef(This)
1569 #define INetFwAuthorizedApplication_Release(This) (This)->lpVtbl->Release(This)
1570 /*** IDispatch methods ***/
1571 #define INetFwAuthorizedApplication_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1572 #define INetFwAuthorizedApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1573 #define INetFwAuthorizedApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1574 #define INetFwAuthorizedApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1575 /*** INetFwAuthorizedApplication methods ***/
1576 #define INetFwAuthorizedApplication_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
1577 #define INetFwAuthorizedApplication_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
1578 #define INetFwAuthorizedApplication_get_ProcessImageFileName(This,imageFileName) (This)->lpVtbl->get_ProcessImageFileName(This,imageFileName)
1579 #define INetFwAuthorizedApplication_put_ProcessImageFileName(This,imageFileName) (This)->lpVtbl->put_ProcessImageFileName(This,imageFileName)
1580 #define INetFwAuthorizedApplication_get_IpVersion(This,ipVersion) (This)->lpVtbl->get_IpVersion(This,ipVersion)
1581 #define INetFwAuthorizedApplication_put_IpVersion(This,ipVersion) (This)->lpVtbl->put_IpVersion(This,ipVersion)
1582 #define INetFwAuthorizedApplication_get_Scope(This,scope) (This)->lpVtbl->get_Scope(This,scope)
1583 #define INetFwAuthorizedApplication_put_Scope(This,scope) (This)->lpVtbl->put_Scope(This,scope)
1584 #define INetFwAuthorizedApplication_get_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->get_RemoteAddresses(This,remoteAddrs)
1585 #define INetFwAuthorizedApplication_put_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->put_RemoteAddresses(This,remoteAddrs)
1586 #define INetFwAuthorizedApplication_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled)
1587 #define INetFwAuthorizedApplication_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled)
1588 #else
1589 /*** IUnknown methods ***/
1590 static FORCEINLINE HRESULT INetFwAuthorizedApplication_QueryInterface(INetFwAuthorizedApplication* This,REFIID riid,void **ppvObject) {
1591     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1592 }
1593 static FORCEINLINE ULONG INetFwAuthorizedApplication_AddRef(INetFwAuthorizedApplication* This) {
1594     return This->lpVtbl->AddRef(This);
1595 }
1596 static FORCEINLINE ULONG INetFwAuthorizedApplication_Release(INetFwAuthorizedApplication* This) {
1597     return This->lpVtbl->Release(This);
1598 }
1599 /*** IDispatch methods ***/
1600 static FORCEINLINE HRESULT INetFwAuthorizedApplication_GetTypeInfoCount(INetFwAuthorizedApplication* This,UINT *pctinfo) {
1601     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1602 }
1603 static FORCEINLINE HRESULT INetFwAuthorizedApplication_GetTypeInfo(INetFwAuthorizedApplication* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1604     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1605 }
1606 static FORCEINLINE HRESULT INetFwAuthorizedApplication_GetIDsOfNames(INetFwAuthorizedApplication* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1607     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1608 }
1609 static FORCEINLINE HRESULT INetFwAuthorizedApplication_Invoke(INetFwAuthorizedApplication* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1610     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1611 }
1612 /*** INetFwAuthorizedApplication methods ***/
1613 static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_Name(INetFwAuthorizedApplication* This,BSTR *name) {
1614     return This->lpVtbl->get_Name(This,name);
1615 }
1616 static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_Name(INetFwAuthorizedApplication* This,BSTR name) {
1617     return This->lpVtbl->put_Name(This,name);
1618 }
1619 static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_ProcessImageFileName(INetFwAuthorizedApplication* This,BSTR *imageFileName) {
1620     return This->lpVtbl->get_ProcessImageFileName(This,imageFileName);
1621 }
1622 static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_ProcessImageFileName(INetFwAuthorizedApplication* This,BSTR imageFileName) {
1623     return This->lpVtbl->put_ProcessImageFileName(This,imageFileName);
1624 }
1625 static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_IpVersion(INetFwAuthorizedApplication* This,NET_FW_IP_VERSION *ipVersion) {
1626     return This->lpVtbl->get_IpVersion(This,ipVersion);
1627 }
1628 static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_IpVersion(INetFwAuthorizedApplication* This,NET_FW_IP_VERSION ipVersion) {
1629     return This->lpVtbl->put_IpVersion(This,ipVersion);
1630 }
1631 static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_Scope(INetFwAuthorizedApplication* This,NET_FW_SCOPE *scope) {
1632     return This->lpVtbl->get_Scope(This,scope);
1633 }
1634 static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_Scope(INetFwAuthorizedApplication* This,NET_FW_SCOPE scope) {
1635     return This->lpVtbl->put_Scope(This,scope);
1636 }
1637 static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_RemoteAddresses(INetFwAuthorizedApplication* This,BSTR *remoteAddrs) {
1638     return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
1639 }
1640 static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_RemoteAddresses(INetFwAuthorizedApplication* This,BSTR remoteAddrs) {
1641     return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
1642 }
1643 static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_Enabled(INetFwAuthorizedApplication* This,VARIANT_BOOL *enabled) {
1644     return This->lpVtbl->get_Enabled(This,enabled);
1645 }
1646 static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_Enabled(INetFwAuthorizedApplication* This,VARIANT_BOOL enabled) {
1647     return This->lpVtbl->put_Enabled(This,enabled);
1648 }
1649 #endif
1650 #endif
1651 
1652 #endif
1653 
1654 
1655 #endif  /* __INetFwAuthorizedApplication_INTERFACE_DEFINED__ */
1656 
1657 /*****************************************************************************
1658  * INetFwRemoteAdminSettings interface
1659  */
1660 #ifndef __INetFwRemoteAdminSettings_INTERFACE_DEFINED__
1661 #define __INetFwRemoteAdminSettings_INTERFACE_DEFINED__
1662 
1663 DEFINE_GUID(IID_INetFwRemoteAdminSettings, 0xd4becddf, 0x6f73, 0x4a83, 0xb8,0x32, 0x9c,0x66,0x87,0x4c,0xd2,0x0e);
1664 #if defined(__cplusplus) && !defined(CINTERFACE)
1665 MIDL_INTERFACE("d4becddf-6f73-4a83-b832-9c66874cd20e")
1666 INetFwRemoteAdminSettings : public IDispatch
1667 {
1668     virtual HRESULT STDMETHODCALLTYPE get_IpVersion(
1669         NET_FW_IP_VERSION *ipVersion) = 0;
1670 
1671     virtual HRESULT STDMETHODCALLTYPE put_IpVersion(
1672         NET_FW_IP_VERSION ipVersion) = 0;
1673 
1674     virtual HRESULT STDMETHODCALLTYPE get_Scope(
1675         NET_FW_SCOPE *scope) = 0;
1676 
1677     virtual HRESULT STDMETHODCALLTYPE put_Scope(
1678         NET_FW_SCOPE scope) = 0;
1679 
1680     virtual HRESULT STDMETHODCALLTYPE get_RemoteAddresses(
1681         BSTR *remoteAddrs) = 0;
1682 
1683     virtual HRESULT STDMETHODCALLTYPE put_RemoteAddresses(
1684         BSTR remoteAddrs) = 0;
1685 
1686     virtual HRESULT STDMETHODCALLTYPE get_Enabled(
1687         VARIANT_BOOL *enabled) = 0;
1688 
1689     virtual HRESULT STDMETHODCALLTYPE put_Enabled(
1690         VARIANT_BOOL enabled) = 0;
1691 
1692 };
1693 #ifdef __CRT_UUID_DECL
1694 __CRT_UUID_DECL(INetFwRemoteAdminSettings, 0xd4becddf, 0x6f73, 0x4a83, 0xb8,0x32, 0x9c,0x66,0x87,0x4c,0xd2,0x0e)
1695 #endif
1696 #else
1697 typedef struct INetFwRemoteAdminSettingsVtbl {
1698     BEGIN_INTERFACE
1699 
1700     /*** IUnknown methods ***/
1701     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1702         INetFwRemoteAdminSettings *This,
1703         REFIID riid,
1704         void **ppvObject);
1705 
1706     ULONG (STDMETHODCALLTYPE *AddRef)(
1707         INetFwRemoteAdminSettings *This);
1708 
1709     ULONG (STDMETHODCALLTYPE *Release)(
1710         INetFwRemoteAdminSettings *This);
1711 
1712     /*** IDispatch methods ***/
1713     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1714         INetFwRemoteAdminSettings *This,
1715         UINT *pctinfo);
1716 
1717     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1718         INetFwRemoteAdminSettings *This,
1719         UINT iTInfo,
1720         LCID lcid,
1721         ITypeInfo **ppTInfo);
1722 
1723     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1724         INetFwRemoteAdminSettings *This,
1725         REFIID riid,
1726         LPOLESTR *rgszNames,
1727         UINT cNames,
1728         LCID lcid,
1729         DISPID *rgDispId);
1730 
1731     HRESULT (STDMETHODCALLTYPE *Invoke)(
1732         INetFwRemoteAdminSettings *This,
1733         DISPID dispIdMember,
1734         REFIID riid,
1735         LCID lcid,
1736         WORD wFlags,
1737         DISPPARAMS *pDispParams,
1738         VARIANT *pVarResult,
1739         EXCEPINFO *pExcepInfo,
1740         UINT *puArgErr);
1741 
1742     /*** INetFwRemoteAdminSettings methods ***/
1743     HRESULT (STDMETHODCALLTYPE *get_IpVersion)(
1744         INetFwRemoteAdminSettings *This,
1745         NET_FW_IP_VERSION *ipVersion);
1746 
1747     HRESULT (STDMETHODCALLTYPE *put_IpVersion)(
1748         INetFwRemoteAdminSettings *This,
1749         NET_FW_IP_VERSION ipVersion);
1750 
1751     HRESULT (STDMETHODCALLTYPE *get_Scope)(
1752         INetFwRemoteAdminSettings *This,
1753         NET_FW_SCOPE *scope);
1754 
1755     HRESULT (STDMETHODCALLTYPE *put_Scope)(
1756         INetFwRemoteAdminSettings *This,
1757         NET_FW_SCOPE scope);
1758 
1759     HRESULT (STDMETHODCALLTYPE *get_RemoteAddresses)(
1760         INetFwRemoteAdminSettings *This,
1761         BSTR *remoteAddrs);
1762 
1763     HRESULT (STDMETHODCALLTYPE *put_RemoteAddresses)(
1764         INetFwRemoteAdminSettings *This,
1765         BSTR remoteAddrs);
1766 
1767     HRESULT (STDMETHODCALLTYPE *get_Enabled)(
1768         INetFwRemoteAdminSettings *This,
1769         VARIANT_BOOL *enabled);
1770 
1771     HRESULT (STDMETHODCALLTYPE *put_Enabled)(
1772         INetFwRemoteAdminSettings *This,
1773         VARIANT_BOOL enabled);
1774 
1775     END_INTERFACE
1776 } INetFwRemoteAdminSettingsVtbl;
1777 
1778 interface INetFwRemoteAdminSettings {
1779     CONST_VTBL INetFwRemoteAdminSettingsVtbl* lpVtbl;
1780 };
1781 
1782 #ifdef COBJMACROS
1783 #ifndef WIDL_C_INLINE_WRAPPERS
1784 /*** IUnknown methods ***/
1785 #define INetFwRemoteAdminSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1786 #define INetFwRemoteAdminSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
1787 #define INetFwRemoteAdminSettings_Release(This) (This)->lpVtbl->Release(This)
1788 /*** IDispatch methods ***/
1789 #define INetFwRemoteAdminSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1790 #define INetFwRemoteAdminSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1791 #define INetFwRemoteAdminSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1792 #define INetFwRemoteAdminSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1793 /*** INetFwRemoteAdminSettings methods ***/
1794 #define INetFwRemoteAdminSettings_get_IpVersion(This,ipVersion) (This)->lpVtbl->get_IpVersion(This,ipVersion)
1795 #define INetFwRemoteAdminSettings_put_IpVersion(This,ipVersion) (This)->lpVtbl->put_IpVersion(This,ipVersion)
1796 #define INetFwRemoteAdminSettings_get_Scope(This,scope) (This)->lpVtbl->get_Scope(This,scope)
1797 #define INetFwRemoteAdminSettings_put_Scope(This,scope) (This)->lpVtbl->put_Scope(This,scope)
1798 #define INetFwRemoteAdminSettings_get_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->get_RemoteAddresses(This,remoteAddrs)
1799 #define INetFwRemoteAdminSettings_put_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->put_RemoteAddresses(This,remoteAddrs)
1800 #define INetFwRemoteAdminSettings_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled)
1801 #define INetFwRemoteAdminSettings_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled)
1802 #else
1803 /*** IUnknown methods ***/
1804 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_QueryInterface(INetFwRemoteAdminSettings* This,REFIID riid,void **ppvObject) {
1805     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1806 }
1807 static FORCEINLINE ULONG INetFwRemoteAdminSettings_AddRef(INetFwRemoteAdminSettings* This) {
1808     return This->lpVtbl->AddRef(This);
1809 }
1810 static FORCEINLINE ULONG INetFwRemoteAdminSettings_Release(INetFwRemoteAdminSettings* This) {
1811     return This->lpVtbl->Release(This);
1812 }
1813 /*** IDispatch methods ***/
1814 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_GetTypeInfoCount(INetFwRemoteAdminSettings* This,UINT *pctinfo) {
1815     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1816 }
1817 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_GetTypeInfo(INetFwRemoteAdminSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1818     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1819 }
1820 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_GetIDsOfNames(INetFwRemoteAdminSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1821     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1822 }
1823 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_Invoke(INetFwRemoteAdminSettings* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1824     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1825 }
1826 /*** INetFwRemoteAdminSettings methods ***/
1827 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_get_IpVersion(INetFwRemoteAdminSettings* This,NET_FW_IP_VERSION *ipVersion) {
1828     return This->lpVtbl->get_IpVersion(This,ipVersion);
1829 }
1830 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_put_IpVersion(INetFwRemoteAdminSettings* This,NET_FW_IP_VERSION ipVersion) {
1831     return This->lpVtbl->put_IpVersion(This,ipVersion);
1832 }
1833 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_get_Scope(INetFwRemoteAdminSettings* This,NET_FW_SCOPE *scope) {
1834     return This->lpVtbl->get_Scope(This,scope);
1835 }
1836 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_put_Scope(INetFwRemoteAdminSettings* This,NET_FW_SCOPE scope) {
1837     return This->lpVtbl->put_Scope(This,scope);
1838 }
1839 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_get_RemoteAddresses(INetFwRemoteAdminSettings* This,BSTR *remoteAddrs) {
1840     return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
1841 }
1842 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_put_RemoteAddresses(INetFwRemoteAdminSettings* This,BSTR remoteAddrs) {
1843     return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
1844 }
1845 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_get_Enabled(INetFwRemoteAdminSettings* This,VARIANT_BOOL *enabled) {
1846     return This->lpVtbl->get_Enabled(This,enabled);
1847 }
1848 static FORCEINLINE HRESULT INetFwRemoteAdminSettings_put_Enabled(INetFwRemoteAdminSettings* This,VARIANT_BOOL enabled) {
1849     return This->lpVtbl->put_Enabled(This,enabled);
1850 }
1851 #endif
1852 #endif
1853 
1854 #endif
1855 
1856 
1857 #endif  /* __INetFwRemoteAdminSettings_INTERFACE_DEFINED__ */
1858 
1859 /*****************************************************************************
1860  * INetFwAuthorizedApplications interface
1861  */
1862 #ifndef __INetFwAuthorizedApplications_INTERFACE_DEFINED__
1863 #define __INetFwAuthorizedApplications_INTERFACE_DEFINED__
1864 
1865 DEFINE_GUID(IID_INetFwAuthorizedApplications, 0x644efd52, 0xccf9, 0x486c, 0x97,0xa2, 0x39,0xf3,0x52,0x57,0x0b,0x30);
1866 #if defined(__cplusplus) && !defined(CINTERFACE)
1867 MIDL_INTERFACE("644efd52-ccf9-486c-97a2-39f352570b30")
1868 INetFwAuthorizedApplications : public IDispatch
1869 {
1870     virtual HRESULT STDMETHODCALLTYPE get_Count(
1871         LONG *count) = 0;
1872 
1873     virtual HRESULT STDMETHODCALLTYPE Add(
1874         INetFwAuthorizedApplication *app) = 0;
1875 
1876     virtual HRESULT STDMETHODCALLTYPE Remove(
1877         BSTR imageFileName) = 0;
1878 
1879     virtual HRESULT STDMETHODCALLTYPE Item(
1880         BSTR imageFileName,
1881         INetFwAuthorizedApplication **app) = 0;
1882 
1883     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
1884         IUnknown **newEnum) = 0;
1885 
1886 };
1887 #ifdef __CRT_UUID_DECL
1888 __CRT_UUID_DECL(INetFwAuthorizedApplications, 0x644efd52, 0xccf9, 0x486c, 0x97,0xa2, 0x39,0xf3,0x52,0x57,0x0b,0x30)
1889 #endif
1890 #else
1891 typedef struct INetFwAuthorizedApplicationsVtbl {
1892     BEGIN_INTERFACE
1893 
1894     /*** IUnknown methods ***/
1895     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1896         INetFwAuthorizedApplications *This,
1897         REFIID riid,
1898         void **ppvObject);
1899 
1900     ULONG (STDMETHODCALLTYPE *AddRef)(
1901         INetFwAuthorizedApplications *This);
1902 
1903     ULONG (STDMETHODCALLTYPE *Release)(
1904         INetFwAuthorizedApplications *This);
1905 
1906     /*** IDispatch methods ***/
1907     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1908         INetFwAuthorizedApplications *This,
1909         UINT *pctinfo);
1910 
1911     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1912         INetFwAuthorizedApplications *This,
1913         UINT iTInfo,
1914         LCID lcid,
1915         ITypeInfo **ppTInfo);
1916 
1917     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1918         INetFwAuthorizedApplications *This,
1919         REFIID riid,
1920         LPOLESTR *rgszNames,
1921         UINT cNames,
1922         LCID lcid,
1923         DISPID *rgDispId);
1924 
1925     HRESULT (STDMETHODCALLTYPE *Invoke)(
1926         INetFwAuthorizedApplications *This,
1927         DISPID dispIdMember,
1928         REFIID riid,
1929         LCID lcid,
1930         WORD wFlags,
1931         DISPPARAMS *pDispParams,
1932         VARIANT *pVarResult,
1933         EXCEPINFO *pExcepInfo,
1934         UINT *puArgErr);
1935 
1936     /*** INetFwAuthorizedApplications methods ***/
1937     HRESULT (STDMETHODCALLTYPE *get_Count)(
1938         INetFwAuthorizedApplications *This,
1939         LONG *count);
1940 
1941     HRESULT (STDMETHODCALLTYPE *Add)(
1942         INetFwAuthorizedApplications *This,
1943         INetFwAuthorizedApplication *app);
1944 
1945     HRESULT (STDMETHODCALLTYPE *Remove)(
1946         INetFwAuthorizedApplications *This,
1947         BSTR imageFileName);
1948 
1949     HRESULT (STDMETHODCALLTYPE *Item)(
1950         INetFwAuthorizedApplications *This,
1951         BSTR imageFileName,
1952         INetFwAuthorizedApplication **app);
1953 
1954     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
1955         INetFwAuthorizedApplications *This,
1956         IUnknown **newEnum);
1957 
1958     END_INTERFACE
1959 } INetFwAuthorizedApplicationsVtbl;
1960 
1961 interface INetFwAuthorizedApplications {
1962     CONST_VTBL INetFwAuthorizedApplicationsVtbl* lpVtbl;
1963 };
1964 
1965 #ifdef COBJMACROS
1966 #ifndef WIDL_C_INLINE_WRAPPERS
1967 /*** IUnknown methods ***/
1968 #define INetFwAuthorizedApplications_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1969 #define INetFwAuthorizedApplications_AddRef(This) (This)->lpVtbl->AddRef(This)
1970 #define INetFwAuthorizedApplications_Release(This) (This)->lpVtbl->Release(This)
1971 /*** IDispatch methods ***/
1972 #define INetFwAuthorizedApplications_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1973 #define INetFwAuthorizedApplications_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1974 #define INetFwAuthorizedApplications_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1975 #define INetFwAuthorizedApplications_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1976 /*** INetFwAuthorizedApplications methods ***/
1977 #define INetFwAuthorizedApplications_get_Count(This,count) (This)->lpVtbl->get_Count(This,count)
1978 #define INetFwAuthorizedApplications_Add(This,app) (This)->lpVtbl->Add(This,app)
1979 #define INetFwAuthorizedApplications_Remove(This,imageFileName) (This)->lpVtbl->Remove(This,imageFileName)
1980 #define INetFwAuthorizedApplications_Item(This,imageFileName,app) (This)->lpVtbl->Item(This,imageFileName,app)
1981 #define INetFwAuthorizedApplications_get__NewEnum(This,newEnum) (This)->lpVtbl->get__NewEnum(This,newEnum)
1982 #else
1983 /*** IUnknown methods ***/
1984 static FORCEINLINE HRESULT INetFwAuthorizedApplications_QueryInterface(INetFwAuthorizedApplications* This,REFIID riid,void **ppvObject) {
1985     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1986 }
1987 static FORCEINLINE ULONG INetFwAuthorizedApplications_AddRef(INetFwAuthorizedApplications* This) {
1988     return This->lpVtbl->AddRef(This);
1989 }
1990 static FORCEINLINE ULONG INetFwAuthorizedApplications_Release(INetFwAuthorizedApplications* This) {
1991     return This->lpVtbl->Release(This);
1992 }
1993 /*** IDispatch methods ***/
1994 static FORCEINLINE HRESULT INetFwAuthorizedApplications_GetTypeInfoCount(INetFwAuthorizedApplications* This,UINT *pctinfo) {
1995     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1996 }
1997 static FORCEINLINE HRESULT INetFwAuthorizedApplications_GetTypeInfo(INetFwAuthorizedApplications* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1998     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1999 }
2000 static FORCEINLINE HRESULT INetFwAuthorizedApplications_GetIDsOfNames(INetFwAuthorizedApplications* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2001     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2002 }
2003 static FORCEINLINE HRESULT INetFwAuthorizedApplications_Invoke(INetFwAuthorizedApplications* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2004     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2005 }
2006 /*** INetFwAuthorizedApplications methods ***/
2007 static FORCEINLINE HRESULT INetFwAuthorizedApplications_get_Count(INetFwAuthorizedApplications* This,LONG *count) {
2008     return This->lpVtbl->get_Count(This,count);
2009 }
2010 static FORCEINLINE HRESULT INetFwAuthorizedApplications_Add(INetFwAuthorizedApplications* This,INetFwAuthorizedApplication *app) {
2011     return This->lpVtbl->Add(This,app);
2012 }
2013 static FORCEINLINE HRESULT INetFwAuthorizedApplications_Remove(INetFwAuthorizedApplications* This,BSTR imageFileName) {
2014     return This->lpVtbl->Remove(This,imageFileName);
2015 }
2016 static FORCEINLINE HRESULT INetFwAuthorizedApplications_Item(INetFwAuthorizedApplications* This,BSTR imageFileName,INetFwAuthorizedApplication **app) {
2017     return This->lpVtbl->Item(This,imageFileName,app);
2018 }
2019 static FORCEINLINE HRESULT INetFwAuthorizedApplications_get__NewEnum(INetFwAuthorizedApplications* This,IUnknown **newEnum) {
2020     return This->lpVtbl->get__NewEnum(This,newEnum);
2021 }
2022 #endif
2023 #endif
2024 
2025 #endif
2026 
2027 
2028 #endif  /* __INetFwAuthorizedApplications_INTERFACE_DEFINED__ */
2029 
2030 /*****************************************************************************
2031  * INetFwRule interface
2032  */
2033 #ifndef __INetFwRule_INTERFACE_DEFINED__
2034 #define __INetFwRule_INTERFACE_DEFINED__
2035 
2036 DEFINE_GUID(IID_INetFwRule, 0xaf230d27, 0xbaba, 0x4e42, 0xac,0xed, 0xf5,0x24,0xf2,0x2c,0xfc,0xe2);
2037 #if defined(__cplusplus) && !defined(CINTERFACE)
2038 MIDL_INTERFACE("af230d27-baba-4e42-aced-f524f22cfce2")
2039 INetFwRule : public IDispatch
2040 {
2041     virtual HRESULT STDMETHODCALLTYPE get_Name(
2042         BSTR *name) = 0;
2043 
2044     virtual HRESULT STDMETHODCALLTYPE put_Name(
2045         BSTR name) = 0;
2046 
2047     virtual HRESULT STDMETHODCALLTYPE get_Description(
2048         BSTR *desc) = 0;
2049 
2050     virtual HRESULT STDMETHODCALLTYPE put_Description(
2051         BSTR desc) = 0;
2052 
2053     virtual HRESULT STDMETHODCALLTYPE get_ApplicationName(
2054         BSTR *imagename) = 0;
2055 
2056     virtual HRESULT STDMETHODCALLTYPE put_ApplicationName(
2057         BSTR imagename) = 0;
2058 
2059     virtual HRESULT STDMETHODCALLTYPE get_ServiceName(
2060         BSTR *service) = 0;
2061 
2062     virtual HRESULT STDMETHODCALLTYPE put_ServiceName(
2063         BSTR service) = 0;
2064 
2065     virtual HRESULT STDMETHODCALLTYPE get_Protocol(
2066         LONG *protocol) = 0;
2067 
2068     virtual HRESULT STDMETHODCALLTYPE put_Protocol(
2069         LONG protocol) = 0;
2070 
2071     virtual HRESULT STDMETHODCALLTYPE get_LocalPorts(
2072         BSTR *ports) = 0;
2073 
2074     virtual HRESULT STDMETHODCALLTYPE put_LocalPorts(
2075         BSTR ports) = 0;
2076 
2077     virtual HRESULT STDMETHODCALLTYPE get_RemotePorts(
2078         BSTR *ports) = 0;
2079 
2080     virtual HRESULT STDMETHODCALLTYPE put_RemotePorts(
2081         BSTR ports) = 0;
2082 
2083     virtual HRESULT STDMETHODCALLTYPE get_LocalAddresses(
2084         BSTR *address) = 0;
2085 
2086     virtual HRESULT STDMETHODCALLTYPE put_LocalAddresses(
2087         BSTR address) = 0;
2088 
2089     virtual HRESULT STDMETHODCALLTYPE get_RemoteAddresses(
2090         BSTR *address) = 0;
2091 
2092     virtual HRESULT STDMETHODCALLTYPE put_RemoteAddresses(
2093         BSTR address) = 0;
2094 
2095     virtual HRESULT STDMETHODCALLTYPE get_IcmpTypesAndCodes(
2096         BSTR *codes) = 0;
2097 
2098     virtual HRESULT STDMETHODCALLTYPE put_IcmpTypesAndCodes(
2099         BSTR codes) = 0;
2100 
2101     virtual HRESULT STDMETHODCALLTYPE get_Direction(
2102         NET_FW_RULE_DIRECTION *dir) = 0;
2103 
2104     virtual HRESULT STDMETHODCALLTYPE put_Direction(
2105         NET_FW_RULE_DIRECTION dir) = 0;
2106 
2107     virtual HRESULT STDMETHODCALLTYPE get_Interfaces(
2108         VARIANT *interfaces) = 0;
2109 
2110     virtual HRESULT STDMETHODCALLTYPE put_Interfaces(
2111         VARIANT interfaces) = 0;
2112 
2113     virtual HRESULT STDMETHODCALLTYPE get_InterfaceTypes(
2114         BSTR *types) = 0;
2115 
2116     virtual HRESULT STDMETHODCALLTYPE put_InterfaceTypes(
2117         BSTR types) = 0;
2118 
2119     virtual HRESULT STDMETHODCALLTYPE get_Enabled(
2120         VARIANT_BOOL *enabled) = 0;
2121 
2122     virtual HRESULT STDMETHODCALLTYPE put_Enabled(
2123         VARIANT_BOOL enabled) = 0;
2124 
2125     virtual HRESULT STDMETHODCALLTYPE get_Grouping(
2126         BSTR *context) = 0;
2127 
2128     virtual HRESULT STDMETHODCALLTYPE put_Grouping(
2129         BSTR context) = 0;
2130 
2131     virtual HRESULT STDMETHODCALLTYPE get_Profiles(
2132         LONG *profiles) = 0;
2133 
2134     virtual HRESULT STDMETHODCALLTYPE put_Profiles(
2135         LONG profiles) = 0;
2136 
2137     virtual HRESULT STDMETHODCALLTYPE get_EdgeTraversal(
2138         VARIANT_BOOL *enabled) = 0;
2139 
2140     virtual HRESULT STDMETHODCALLTYPE put_EdgeTraversal(
2141         VARIANT_BOOL enabled) = 0;
2142 
2143     virtual HRESULT STDMETHODCALLTYPE get_Action(
2144         NET_FW_ACTION *action) = 0;
2145 
2146     virtual HRESULT STDMETHODCALLTYPE put_Action(
2147         NET_FW_ACTION action) = 0;
2148 
2149 };
2150 #ifdef __CRT_UUID_DECL
2151 __CRT_UUID_DECL(INetFwRule, 0xaf230d27, 0xbaba, 0x4e42, 0xac,0xed, 0xf5,0x24,0xf2,0x2c,0xfc,0xe2)
2152 #endif
2153 #else
2154 typedef struct INetFwRuleVtbl {
2155     BEGIN_INTERFACE
2156 
2157     /*** IUnknown methods ***/
2158     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2159         INetFwRule *This,
2160         REFIID riid,
2161         void **ppvObject);
2162 
2163     ULONG (STDMETHODCALLTYPE *AddRef)(
2164         INetFwRule *This);
2165 
2166     ULONG (STDMETHODCALLTYPE *Release)(
2167         INetFwRule *This);
2168 
2169     /*** IDispatch methods ***/
2170     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2171         INetFwRule *This,
2172         UINT *pctinfo);
2173 
2174     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2175         INetFwRule *This,
2176         UINT iTInfo,
2177         LCID lcid,
2178         ITypeInfo **ppTInfo);
2179 
2180     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2181         INetFwRule *This,
2182         REFIID riid,
2183         LPOLESTR *rgszNames,
2184         UINT cNames,
2185         LCID lcid,
2186         DISPID *rgDispId);
2187 
2188     HRESULT (STDMETHODCALLTYPE *Invoke)(
2189         INetFwRule *This,
2190         DISPID dispIdMember,
2191         REFIID riid,
2192         LCID lcid,
2193         WORD wFlags,
2194         DISPPARAMS *pDispParams,
2195         VARIANT *pVarResult,
2196         EXCEPINFO *pExcepInfo,
2197         UINT *puArgErr);
2198 
2199     /*** INetFwRule methods ***/
2200     HRESULT (STDMETHODCALLTYPE *get_Name)(
2201         INetFwRule *This,
2202         BSTR *name);
2203 
2204     HRESULT (STDMETHODCALLTYPE *put_Name)(
2205         INetFwRule *This,
2206         BSTR name);
2207 
2208     HRESULT (STDMETHODCALLTYPE *get_Description)(
2209         INetFwRule *This,
2210         BSTR *desc);
2211 
2212     HRESULT (STDMETHODCALLTYPE *put_Description)(
2213         INetFwRule *This,
2214         BSTR desc);
2215 
2216     HRESULT (STDMETHODCALLTYPE *get_ApplicationName)(
2217         INetFwRule *This,
2218         BSTR *imagename);
2219 
2220     HRESULT (STDMETHODCALLTYPE *put_ApplicationName)(
2221         INetFwRule *This,
2222         BSTR imagename);
2223 
2224     HRESULT (STDMETHODCALLTYPE *get_ServiceName)(
2225         INetFwRule *This,
2226         BSTR *service);
2227 
2228     HRESULT (STDMETHODCALLTYPE *put_ServiceName)(
2229         INetFwRule *This,
2230         BSTR service);
2231 
2232     HRESULT (STDMETHODCALLTYPE *get_Protocol)(
2233         INetFwRule *This,
2234         LONG *protocol);
2235 
2236     HRESULT (STDMETHODCALLTYPE *put_Protocol)(
2237         INetFwRule *This,
2238         LONG protocol);
2239 
2240     HRESULT (STDMETHODCALLTYPE *get_LocalPorts)(
2241         INetFwRule *This,
2242         BSTR *ports);
2243 
2244     HRESULT (STDMETHODCALLTYPE *put_LocalPorts)(
2245         INetFwRule *This,
2246         BSTR ports);
2247 
2248     HRESULT (STDMETHODCALLTYPE *get_RemotePorts)(
2249         INetFwRule *This,
2250         BSTR *ports);
2251 
2252     HRESULT (STDMETHODCALLTYPE *put_RemotePorts)(
2253         INetFwRule *This,
2254         BSTR ports);
2255 
2256     HRESULT (STDMETHODCALLTYPE *get_LocalAddresses)(
2257         INetFwRule *This,
2258         BSTR *address);
2259 
2260     HRESULT (STDMETHODCALLTYPE *put_LocalAddresses)(
2261         INetFwRule *This,
2262         BSTR address);
2263 
2264     HRESULT (STDMETHODCALLTYPE *get_RemoteAddresses)(
2265         INetFwRule *This,
2266         BSTR *address);
2267 
2268     HRESULT (STDMETHODCALLTYPE *put_RemoteAddresses)(
2269         INetFwRule *This,
2270         BSTR address);
2271 
2272     HRESULT (STDMETHODCALLTYPE *get_IcmpTypesAndCodes)(
2273         INetFwRule *This,
2274         BSTR *codes);
2275 
2276     HRESULT (STDMETHODCALLTYPE *put_IcmpTypesAndCodes)(
2277         INetFwRule *This,
2278         BSTR codes);
2279 
2280     HRESULT (STDMETHODCALLTYPE *get_Direction)(
2281         INetFwRule *This,
2282         NET_FW_RULE_DIRECTION *dir);
2283 
2284     HRESULT (STDMETHODCALLTYPE *put_Direction)(
2285         INetFwRule *This,
2286         NET_FW_RULE_DIRECTION dir);
2287 
2288     HRESULT (STDMETHODCALLTYPE *get_Interfaces)(
2289         INetFwRule *This,
2290         VARIANT *interfaces);
2291 
2292     HRESULT (STDMETHODCALLTYPE *put_Interfaces)(
2293         INetFwRule *This,
2294         VARIANT interfaces);
2295 
2296     HRESULT (STDMETHODCALLTYPE *get_InterfaceTypes)(
2297         INetFwRule *This,
2298         BSTR *types);
2299 
2300     HRESULT (STDMETHODCALLTYPE *put_InterfaceTypes)(
2301         INetFwRule *This,
2302         BSTR types);
2303 
2304     HRESULT (STDMETHODCALLTYPE *get_Enabled)(
2305         INetFwRule *This,
2306         VARIANT_BOOL *enabled);
2307 
2308     HRESULT (STDMETHODCALLTYPE *put_Enabled)(
2309         INetFwRule *This,
2310         VARIANT_BOOL enabled);
2311 
2312     HRESULT (STDMETHODCALLTYPE *get_Grouping)(
2313         INetFwRule *This,
2314         BSTR *context);
2315 
2316     HRESULT (STDMETHODCALLTYPE *put_Grouping)(
2317         INetFwRule *This,
2318         BSTR context);
2319 
2320     HRESULT (STDMETHODCALLTYPE *get_Profiles)(
2321         INetFwRule *This,
2322         LONG *profiles);
2323 
2324     HRESULT (STDMETHODCALLTYPE *put_Profiles)(
2325         INetFwRule *This,
2326         LONG profiles);
2327 
2328     HRESULT (STDMETHODCALLTYPE *get_EdgeTraversal)(
2329         INetFwRule *This,
2330         VARIANT_BOOL *enabled);
2331 
2332     HRESULT (STDMETHODCALLTYPE *put_EdgeTraversal)(
2333         INetFwRule *This,
2334         VARIANT_BOOL enabled);
2335 
2336     HRESULT (STDMETHODCALLTYPE *get_Action)(
2337         INetFwRule *This,
2338         NET_FW_ACTION *action);
2339 
2340     HRESULT (STDMETHODCALLTYPE *put_Action)(
2341         INetFwRule *This,
2342         NET_FW_ACTION action);
2343 
2344     END_INTERFACE
2345 } INetFwRuleVtbl;
2346 
2347 interface INetFwRule {
2348     CONST_VTBL INetFwRuleVtbl* lpVtbl;
2349 };
2350 
2351 #ifdef COBJMACROS
2352 #ifndef WIDL_C_INLINE_WRAPPERS
2353 /*** IUnknown methods ***/
2354 #define INetFwRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2355 #define INetFwRule_AddRef(This) (This)->lpVtbl->AddRef(This)
2356 #define INetFwRule_Release(This) (This)->lpVtbl->Release(This)
2357 /*** IDispatch methods ***/
2358 #define INetFwRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2359 #define INetFwRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2360 #define INetFwRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2361 #define INetFwRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2362 /*** INetFwRule methods ***/
2363 #define INetFwRule_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
2364 #define INetFwRule_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
2365 #define INetFwRule_get_Description(This,desc) (This)->lpVtbl->get_Description(This,desc)
2366 #define INetFwRule_put_Description(This,desc) (This)->lpVtbl->put_Description(This,desc)
2367 #define INetFwRule_get_ApplicationName(This,imagename) (This)->lpVtbl->get_ApplicationName(This,imagename)
2368 #define INetFwRule_put_ApplicationName(This,imagename) (This)->lpVtbl->put_ApplicationName(This,imagename)
2369 #define INetFwRule_get_ServiceName(This,service) (This)->lpVtbl->get_ServiceName(This,service)
2370 #define INetFwRule_put_ServiceName(This,service) (This)->lpVtbl->put_ServiceName(This,service)
2371 #define INetFwRule_get_Protocol(This,protocol) (This)->lpVtbl->get_Protocol(This,protocol)
2372 #define INetFwRule_put_Protocol(This,protocol) (This)->lpVtbl->put_Protocol(This,protocol)
2373 #define INetFwRule_get_LocalPorts(This,ports) (This)->lpVtbl->get_LocalPorts(This,ports)
2374 #define INetFwRule_put_LocalPorts(This,ports) (This)->lpVtbl->put_LocalPorts(This,ports)
2375 #define INetFwRule_get_RemotePorts(This,ports) (This)->lpVtbl->get_RemotePorts(This,ports)
2376 #define INetFwRule_put_RemotePorts(This,ports) (This)->lpVtbl->put_RemotePorts(This,ports)
2377 #define INetFwRule_get_LocalAddresses(This,address) (This)->lpVtbl->get_LocalAddresses(This,address)
2378 #define INetFwRule_put_LocalAddresses(This,address) (This)->lpVtbl->put_LocalAddresses(This,address)
2379 #define INetFwRule_get_RemoteAddresses(This,address) (This)->lpVtbl->get_RemoteAddresses(This,address)
2380 #define INetFwRule_put_RemoteAddresses(This,address) (This)->lpVtbl->put_RemoteAddresses(This,address)
2381 #define INetFwRule_get_IcmpTypesAndCodes(This,codes) (This)->lpVtbl->get_IcmpTypesAndCodes(This,codes)
2382 #define INetFwRule_put_IcmpTypesAndCodes(This,codes) (This)->lpVtbl->put_IcmpTypesAndCodes(This,codes)
2383 #define INetFwRule_get_Direction(This,dir) (This)->lpVtbl->get_Direction(This,dir)
2384 #define INetFwRule_put_Direction(This,dir) (This)->lpVtbl->put_Direction(This,dir)
2385 #define INetFwRule_get_Interfaces(This,interfaces) (This)->lpVtbl->get_Interfaces(This,interfaces)
2386 #define INetFwRule_put_Interfaces(This,interfaces) (This)->lpVtbl->put_Interfaces(This,interfaces)
2387 #define INetFwRule_get_InterfaceTypes(This,types) (This)->lpVtbl->get_InterfaceTypes(This,types)
2388 #define INetFwRule_put_InterfaceTypes(This,types) (This)->lpVtbl->put_InterfaceTypes(This,types)
2389 #define INetFwRule_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled)
2390 #define INetFwRule_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled)
2391 #define INetFwRule_get_Grouping(This,context) (This)->lpVtbl->get_Grouping(This,context)
2392 #define INetFwRule_put_Grouping(This,context) (This)->lpVtbl->put_Grouping(This,context)
2393 #define INetFwRule_get_Profiles(This,profiles) (This)->lpVtbl->get_Profiles(This,profiles)
2394 #define INetFwRule_put_Profiles(This,profiles) (This)->lpVtbl->put_Profiles(This,profiles)
2395 #define INetFwRule_get_EdgeTraversal(This,enabled) (This)->lpVtbl->get_EdgeTraversal(This,enabled)
2396 #define INetFwRule_put_EdgeTraversal(This,enabled) (This)->lpVtbl->put_EdgeTraversal(This,enabled)
2397 #define INetFwRule_get_Action(This,action) (This)->lpVtbl->get_Action(This,action)
2398 #define INetFwRule_put_Action(This,action) (This)->lpVtbl->put_Action(This,action)
2399 #else
2400 /*** IUnknown methods ***/
2401 static FORCEINLINE HRESULT INetFwRule_QueryInterface(INetFwRule* This,REFIID riid,void **ppvObject) {
2402     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2403 }
2404 static FORCEINLINE ULONG INetFwRule_AddRef(INetFwRule* This) {
2405     return This->lpVtbl->AddRef(This);
2406 }
2407 static FORCEINLINE ULONG INetFwRule_Release(INetFwRule* This) {
2408     return This->lpVtbl->Release(This);
2409 }
2410 /*** IDispatch methods ***/
2411 static FORCEINLINE HRESULT INetFwRule_GetTypeInfoCount(INetFwRule* This,UINT *pctinfo) {
2412     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2413 }
2414 static FORCEINLINE HRESULT INetFwRule_GetTypeInfo(INetFwRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2415     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2416 }
2417 static FORCEINLINE HRESULT INetFwRule_GetIDsOfNames(INetFwRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2418     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2419 }
2420 static FORCEINLINE HRESULT INetFwRule_Invoke(INetFwRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2421     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2422 }
2423 /*** INetFwRule methods ***/
2424 static FORCEINLINE HRESULT INetFwRule_get_Name(INetFwRule* This,BSTR *name) {
2425     return This->lpVtbl->get_Name(This,name);
2426 }
2427 static FORCEINLINE HRESULT INetFwRule_put_Name(INetFwRule* This,BSTR name) {
2428     return This->lpVtbl->put_Name(This,name);
2429 }
2430 static FORCEINLINE HRESULT INetFwRule_get_Description(INetFwRule* This,BSTR *desc) {
2431     return This->lpVtbl->get_Description(This,desc);
2432 }
2433 static FORCEINLINE HRESULT INetFwRule_put_Description(INetFwRule* This,BSTR desc) {
2434     return This->lpVtbl->put_Description(This,desc);
2435 }
2436 static FORCEINLINE HRESULT INetFwRule_get_ApplicationName(INetFwRule* This,BSTR *imagename) {
2437     return This->lpVtbl->get_ApplicationName(This,imagename);
2438 }
2439 static FORCEINLINE HRESULT INetFwRule_put_ApplicationName(INetFwRule* This,BSTR imagename) {
2440     return This->lpVtbl->put_ApplicationName(This,imagename);
2441 }
2442 static FORCEINLINE HRESULT INetFwRule_get_ServiceName(INetFwRule* This,BSTR *service) {
2443     return This->lpVtbl->get_ServiceName(This,service);
2444 }
2445 static FORCEINLINE HRESULT INetFwRule_put_ServiceName(INetFwRule* This,BSTR service) {
2446     return This->lpVtbl->put_ServiceName(This,service);
2447 }
2448 static FORCEINLINE HRESULT INetFwRule_get_Protocol(INetFwRule* This,LONG *protocol) {
2449     return This->lpVtbl->get_Protocol(This,protocol);
2450 }
2451 static FORCEINLINE HRESULT INetFwRule_put_Protocol(INetFwRule* This,LONG protocol) {
2452     return This->lpVtbl->put_Protocol(This,protocol);
2453 }
2454 static FORCEINLINE HRESULT INetFwRule_get_LocalPorts(INetFwRule* This,BSTR *ports) {
2455     return This->lpVtbl->get_LocalPorts(This,ports);
2456 }
2457 static FORCEINLINE HRESULT INetFwRule_put_LocalPorts(INetFwRule* This,BSTR ports) {
2458     return This->lpVtbl->put_LocalPorts(This,ports);
2459 }
2460 static FORCEINLINE HRESULT INetFwRule_get_RemotePorts(INetFwRule* This,BSTR *ports) {
2461     return This->lpVtbl->get_RemotePorts(This,ports);
2462 }
2463 static FORCEINLINE HRESULT INetFwRule_put_RemotePorts(INetFwRule* This,BSTR ports) {
2464     return This->lpVtbl->put_RemotePorts(This,ports);
2465 }
2466 static FORCEINLINE HRESULT INetFwRule_get_LocalAddresses(INetFwRule* This,BSTR *address) {
2467     return This->lpVtbl->get_LocalAddresses(This,address);
2468 }
2469 static FORCEINLINE HRESULT INetFwRule_put_LocalAddresses(INetFwRule* This,BSTR address) {
2470     return This->lpVtbl->put_LocalAddresses(This,address);
2471 }
2472 static FORCEINLINE HRESULT INetFwRule_get_RemoteAddresses(INetFwRule* This,BSTR *address) {
2473     return This->lpVtbl->get_RemoteAddresses(This,address);
2474 }
2475 static FORCEINLINE HRESULT INetFwRule_put_RemoteAddresses(INetFwRule* This,BSTR address) {
2476     return This->lpVtbl->put_RemoteAddresses(This,address);
2477 }
2478 static FORCEINLINE HRESULT INetFwRule_get_IcmpTypesAndCodes(INetFwRule* This,BSTR *codes) {
2479     return This->lpVtbl->get_IcmpTypesAndCodes(This,codes);
2480 }
2481 static FORCEINLINE HRESULT INetFwRule_put_IcmpTypesAndCodes(INetFwRule* This,BSTR codes) {
2482     return This->lpVtbl->put_IcmpTypesAndCodes(This,codes);
2483 }
2484 static FORCEINLINE HRESULT INetFwRule_get_Direction(INetFwRule* This,NET_FW_RULE_DIRECTION *dir) {
2485     return This->lpVtbl->get_Direction(This,dir);
2486 }
2487 static FORCEINLINE HRESULT INetFwRule_put_Direction(INetFwRule* This,NET_FW_RULE_DIRECTION dir) {
2488     return This->lpVtbl->put_Direction(This,dir);
2489 }
2490 static FORCEINLINE HRESULT INetFwRule_get_Interfaces(INetFwRule* This,VARIANT *interfaces) {
2491     return This->lpVtbl->get_Interfaces(This,interfaces);
2492 }
2493 static FORCEINLINE HRESULT INetFwRule_put_Interfaces(INetFwRule* This,VARIANT interfaces) {
2494     return This->lpVtbl->put_Interfaces(This,interfaces);
2495 }
2496 static FORCEINLINE HRESULT INetFwRule_get_InterfaceTypes(INetFwRule* This,BSTR *types) {
2497     return This->lpVtbl->get_InterfaceTypes(This,types);
2498 }
2499 static FORCEINLINE HRESULT INetFwRule_put_InterfaceTypes(INetFwRule* This,BSTR types) {
2500     return This->lpVtbl->put_InterfaceTypes(This,types);
2501 }
2502 static FORCEINLINE HRESULT INetFwRule_get_Enabled(INetFwRule* This,VARIANT_BOOL *enabled) {
2503     return This->lpVtbl->get_Enabled(This,enabled);
2504 }
2505 static FORCEINLINE HRESULT INetFwRule_put_Enabled(INetFwRule* This,VARIANT_BOOL enabled) {
2506     return This->lpVtbl->put_Enabled(This,enabled);
2507 }
2508 static FORCEINLINE HRESULT INetFwRule_get_Grouping(INetFwRule* This,BSTR *context) {
2509     return This->lpVtbl->get_Grouping(This,context);
2510 }
2511 static FORCEINLINE HRESULT INetFwRule_put_Grouping(INetFwRule* This,BSTR context) {
2512     return This->lpVtbl->put_Grouping(This,context);
2513 }
2514 static FORCEINLINE HRESULT INetFwRule_get_Profiles(INetFwRule* This,LONG *profiles) {
2515     return This->lpVtbl->get_Profiles(This,profiles);
2516 }
2517 static FORCEINLINE HRESULT INetFwRule_put_Profiles(INetFwRule* This,LONG profiles) {
2518     return This->lpVtbl->put_Profiles(This,profiles);
2519 }
2520 static FORCEINLINE HRESULT INetFwRule_get_EdgeTraversal(INetFwRule* This,VARIANT_BOOL *enabled) {
2521     return This->lpVtbl->get_EdgeTraversal(This,enabled);
2522 }
2523 static FORCEINLINE HRESULT INetFwRule_put_EdgeTraversal(INetFwRule* This,VARIANT_BOOL enabled) {
2524     return This->lpVtbl->put_EdgeTraversal(This,enabled);
2525 }
2526 static FORCEINLINE HRESULT INetFwRule_get_Action(INetFwRule* This,NET_FW_ACTION *action) {
2527     return This->lpVtbl->get_Action(This,action);
2528 }
2529 static FORCEINLINE HRESULT INetFwRule_put_Action(INetFwRule* This,NET_FW_ACTION action) {
2530     return This->lpVtbl->put_Action(This,action);
2531 }
2532 #endif
2533 #endif
2534 
2535 #endif
2536 
2537 
2538 #endif  /* __INetFwRule_INTERFACE_DEFINED__ */
2539 
2540 /*****************************************************************************
2541  * INetFwRules interface
2542  */
2543 #ifndef __INetFwRules_INTERFACE_DEFINED__
2544 #define __INetFwRules_INTERFACE_DEFINED__
2545 
2546 DEFINE_GUID(IID_INetFwRules, 0x9c4c6277, 0x5027, 0x441e, 0xaf,0xae, 0xca,0x1f,0x54,0x2d,0xa0,0x09);
2547 #if defined(__cplusplus) && !defined(CINTERFACE)
2548 MIDL_INTERFACE("9c4c6277-5027-441e-afae-ca1f542da009")
2549 INetFwRules : public IDispatch
2550 {
2551     virtual HRESULT STDMETHODCALLTYPE get_Count(
2552         LONG *count) = 0;
2553 
2554     virtual HRESULT STDMETHODCALLTYPE Add(
2555         INetFwRule *rule) = 0;
2556 
2557     virtual HRESULT STDMETHODCALLTYPE Remove(
2558         BSTR name) = 0;
2559 
2560     virtual HRESULT STDMETHODCALLTYPE Item(
2561         BSTR name,
2562         INetFwRule **rule) = 0;
2563 
2564     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
2565         IUnknown **newEnum) = 0;
2566 
2567 };
2568 #ifdef __CRT_UUID_DECL
2569 __CRT_UUID_DECL(INetFwRules, 0x9c4c6277, 0x5027, 0x441e, 0xaf,0xae, 0xca,0x1f,0x54,0x2d,0xa0,0x09)
2570 #endif
2571 #else
2572 typedef struct INetFwRulesVtbl {
2573     BEGIN_INTERFACE
2574 
2575     /*** IUnknown methods ***/
2576     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2577         INetFwRules *This,
2578         REFIID riid,
2579         void **ppvObject);
2580 
2581     ULONG (STDMETHODCALLTYPE *AddRef)(
2582         INetFwRules *This);
2583 
2584     ULONG (STDMETHODCALLTYPE *Release)(
2585         INetFwRules *This);
2586 
2587     /*** IDispatch methods ***/
2588     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2589         INetFwRules *This,
2590         UINT *pctinfo);
2591 
2592     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2593         INetFwRules *This,
2594         UINT iTInfo,
2595         LCID lcid,
2596         ITypeInfo **ppTInfo);
2597 
2598     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2599         INetFwRules *This,
2600         REFIID riid,
2601         LPOLESTR *rgszNames,
2602         UINT cNames,
2603         LCID lcid,
2604         DISPID *rgDispId);
2605 
2606     HRESULT (STDMETHODCALLTYPE *Invoke)(
2607         INetFwRules *This,
2608         DISPID dispIdMember,
2609         REFIID riid,
2610         LCID lcid,
2611         WORD wFlags,
2612         DISPPARAMS *pDispParams,
2613         VARIANT *pVarResult,
2614         EXCEPINFO *pExcepInfo,
2615         UINT *puArgErr);
2616 
2617     /*** INetFwRules methods ***/
2618     HRESULT (STDMETHODCALLTYPE *get_Count)(
2619         INetFwRules *This,
2620         LONG *count);
2621 
2622     HRESULT (STDMETHODCALLTYPE *Add)(
2623         INetFwRules *This,
2624         INetFwRule *rule);
2625 
2626     HRESULT (STDMETHODCALLTYPE *Remove)(
2627         INetFwRules *This,
2628         BSTR name);
2629 
2630     HRESULT (STDMETHODCALLTYPE *Item)(
2631         INetFwRules *This,
2632         BSTR name,
2633         INetFwRule **rule);
2634 
2635     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
2636         INetFwRules *This,
2637         IUnknown **newEnum);
2638 
2639     END_INTERFACE
2640 } INetFwRulesVtbl;
2641 
2642 interface INetFwRules {
2643     CONST_VTBL INetFwRulesVtbl* lpVtbl;
2644 };
2645 
2646 #ifdef COBJMACROS
2647 #ifndef WIDL_C_INLINE_WRAPPERS
2648 /*** IUnknown methods ***/
2649 #define INetFwRules_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2650 #define INetFwRules_AddRef(This) (This)->lpVtbl->AddRef(This)
2651 #define INetFwRules_Release(This) (This)->lpVtbl->Release(This)
2652 /*** IDispatch methods ***/
2653 #define INetFwRules_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2654 #define INetFwRules_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2655 #define INetFwRules_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2656 #define INetFwRules_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2657 /*** INetFwRules methods ***/
2658 #define INetFwRules_get_Count(This,count) (This)->lpVtbl->get_Count(This,count)
2659 #define INetFwRules_Add(This,rule) (This)->lpVtbl->Add(This,rule)
2660 #define INetFwRules_Remove(This,name) (This)->lpVtbl->Remove(This,name)
2661 #define INetFwRules_Item(This,name,rule) (This)->lpVtbl->Item(This,name,rule)
2662 #define INetFwRules_get__NewEnum(This,newEnum) (This)->lpVtbl->get__NewEnum(This,newEnum)
2663 #else
2664 /*** IUnknown methods ***/
2665 static FORCEINLINE HRESULT INetFwRules_QueryInterface(INetFwRules* This,REFIID riid,void **ppvObject) {
2666     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2667 }
2668 static FORCEINLINE ULONG INetFwRules_AddRef(INetFwRules* This) {
2669     return This->lpVtbl->AddRef(This);
2670 }
2671 static FORCEINLINE ULONG INetFwRules_Release(INetFwRules* This) {
2672     return This->lpVtbl->Release(This);
2673 }
2674 /*** IDispatch methods ***/
2675 static FORCEINLINE HRESULT INetFwRules_GetTypeInfoCount(INetFwRules* This,UINT *pctinfo) {
2676     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2677 }
2678 static FORCEINLINE HRESULT INetFwRules_GetTypeInfo(INetFwRules* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2679     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2680 }
2681 static FORCEINLINE HRESULT INetFwRules_GetIDsOfNames(INetFwRules* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2682     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2683 }
2684 static FORCEINLINE HRESULT INetFwRules_Invoke(INetFwRules* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2685     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2686 }
2687 /*** INetFwRules methods ***/
2688 static FORCEINLINE HRESULT INetFwRules_get_Count(INetFwRules* This,LONG *count) {
2689     return This->lpVtbl->get_Count(This,count);
2690 }
2691 static FORCEINLINE HRESULT INetFwRules_Add(INetFwRules* This,INetFwRule *rule) {
2692     return This->lpVtbl->Add(This,rule);
2693 }
2694 static FORCEINLINE HRESULT INetFwRules_Remove(INetFwRules* This,BSTR name) {
2695     return This->lpVtbl->Remove(This,name);
2696 }
2697 static FORCEINLINE HRESULT INetFwRules_Item(INetFwRules* This,BSTR name,INetFwRule **rule) {
2698     return This->lpVtbl->Item(This,name,rule);
2699 }
2700 static FORCEINLINE HRESULT INetFwRules_get__NewEnum(INetFwRules* This,IUnknown **newEnum) {
2701     return This->lpVtbl->get__NewEnum(This,newEnum);
2702 }
2703 #endif
2704 #endif
2705 
2706 #endif
2707 
2708 
2709 #endif  /* __INetFwRules_INTERFACE_DEFINED__ */
2710 
2711 /*****************************************************************************
2712  * INetFwServiceRestriction interface
2713  */
2714 #ifndef __INetFwServiceRestriction_INTERFACE_DEFINED__
2715 #define __INetFwServiceRestriction_INTERFACE_DEFINED__
2716 
2717 DEFINE_GUID(IID_INetFwServiceRestriction, 0x8267bbe3, 0xf890, 0x491c, 0xb7,0xb6, 0x2d,0xb1,0xef,0x0e,0x5d,0x2b);
2718 #if defined(__cplusplus) && !defined(CINTERFACE)
2719 MIDL_INTERFACE("8267bbe3-f890-491c-b7b6-2db1ef0e5d2b")
2720 INetFwServiceRestriction : public IDispatch
2721 {
2722     virtual HRESULT STDMETHODCALLTYPE RestrictService(
2723         BSTR serviceName,
2724         BSTR appName,
2725         VARIANT_BOOL restrictService,
2726         VARIANT_BOOL serviceSidRestricted) = 0;
2727 
2728     virtual HRESULT STDMETHODCALLTYPE ServiceRestricted(
2729         BSTR serviceName,
2730         BSTR appName,
2731         VARIANT_BOOL *serviceRestricted) = 0;
2732 
2733     virtual HRESULT STDMETHODCALLTYPE get_Rules(
2734         INetFwRules **rules) = 0;
2735 
2736 };
2737 #ifdef __CRT_UUID_DECL
2738 __CRT_UUID_DECL(INetFwServiceRestriction, 0x8267bbe3, 0xf890, 0x491c, 0xb7,0xb6, 0x2d,0xb1,0xef,0x0e,0x5d,0x2b)
2739 #endif
2740 #else
2741 typedef struct INetFwServiceRestrictionVtbl {
2742     BEGIN_INTERFACE
2743 
2744     /*** IUnknown methods ***/
2745     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2746         INetFwServiceRestriction *This,
2747         REFIID riid,
2748         void **ppvObject);
2749 
2750     ULONG (STDMETHODCALLTYPE *AddRef)(
2751         INetFwServiceRestriction *This);
2752 
2753     ULONG (STDMETHODCALLTYPE *Release)(
2754         INetFwServiceRestriction *This);
2755 
2756     /*** IDispatch methods ***/
2757     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2758         INetFwServiceRestriction *This,
2759         UINT *pctinfo);
2760 
2761     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2762         INetFwServiceRestriction *This,
2763         UINT iTInfo,
2764         LCID lcid,
2765         ITypeInfo **ppTInfo);
2766 
2767     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2768         INetFwServiceRestriction *This,
2769         REFIID riid,
2770         LPOLESTR *rgszNames,
2771         UINT cNames,
2772         LCID lcid,
2773         DISPID *rgDispId);
2774 
2775     HRESULT (STDMETHODCALLTYPE *Invoke)(
2776         INetFwServiceRestriction *This,
2777         DISPID dispIdMember,
2778         REFIID riid,
2779         LCID lcid,
2780         WORD wFlags,
2781         DISPPARAMS *pDispParams,
2782         VARIANT *pVarResult,
2783         EXCEPINFO *pExcepInfo,
2784         UINT *puArgErr);
2785 
2786     /*** INetFwServiceRestriction methods ***/
2787     HRESULT (STDMETHODCALLTYPE *RestrictService)(
2788         INetFwServiceRestriction *This,
2789         BSTR serviceName,
2790         BSTR appName,
2791         VARIANT_BOOL restrictService,
2792         VARIANT_BOOL serviceSidRestricted);
2793 
2794     HRESULT (STDMETHODCALLTYPE *ServiceRestricted)(
2795         INetFwServiceRestriction *This,
2796         BSTR serviceName,
2797         BSTR appName,
2798         VARIANT_BOOL *serviceRestricted);
2799 
2800     HRESULT (STDMETHODCALLTYPE *get_Rules)(
2801         INetFwServiceRestriction *This,
2802         INetFwRules **rules);
2803 
2804     END_INTERFACE
2805 } INetFwServiceRestrictionVtbl;
2806 
2807 interface INetFwServiceRestriction {
2808     CONST_VTBL INetFwServiceRestrictionVtbl* lpVtbl;
2809 };
2810 
2811 #ifdef COBJMACROS
2812 #ifndef WIDL_C_INLINE_WRAPPERS
2813 /*** IUnknown methods ***/
2814 #define INetFwServiceRestriction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2815 #define INetFwServiceRestriction_AddRef(This) (This)->lpVtbl->AddRef(This)
2816 #define INetFwServiceRestriction_Release(This) (This)->lpVtbl->Release(This)
2817 /*** IDispatch methods ***/
2818 #define INetFwServiceRestriction_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2819 #define INetFwServiceRestriction_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2820 #define INetFwServiceRestriction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2821 #define INetFwServiceRestriction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2822 /*** INetFwServiceRestriction methods ***/
2823 #define INetFwServiceRestriction_RestrictService(This,serviceName,appName,restrictService,serviceSidRestricted) (This)->lpVtbl->RestrictService(This,serviceName,appName,restrictService,serviceSidRestricted)
2824 #define INetFwServiceRestriction_ServiceRestricted(This,serviceName,appName,serviceRestricted) (This)->lpVtbl->ServiceRestricted(This,serviceName,appName,serviceRestricted)
2825 #define INetFwServiceRestriction_get_Rules(This,rules) (This)->lpVtbl->get_Rules(This,rules)
2826 #else
2827 /*** IUnknown methods ***/
2828 static FORCEINLINE HRESULT INetFwServiceRestriction_QueryInterface(INetFwServiceRestriction* This,REFIID riid,void **ppvObject) {
2829     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2830 }
2831 static FORCEINLINE ULONG INetFwServiceRestriction_AddRef(INetFwServiceRestriction* This) {
2832     return This->lpVtbl->AddRef(This);
2833 }
2834 static FORCEINLINE ULONG INetFwServiceRestriction_Release(INetFwServiceRestriction* This) {
2835     return This->lpVtbl->Release(This);
2836 }
2837 /*** IDispatch methods ***/
2838 static FORCEINLINE HRESULT INetFwServiceRestriction_GetTypeInfoCount(INetFwServiceRestriction* This,UINT *pctinfo) {
2839     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2840 }
2841 static FORCEINLINE HRESULT INetFwServiceRestriction_GetTypeInfo(INetFwServiceRestriction* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2842     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2843 }
2844 static FORCEINLINE HRESULT INetFwServiceRestriction_GetIDsOfNames(INetFwServiceRestriction* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2845     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2846 }
2847 static FORCEINLINE HRESULT INetFwServiceRestriction_Invoke(INetFwServiceRestriction* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2848     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2849 }
2850 /*** INetFwServiceRestriction methods ***/
2851 static FORCEINLINE HRESULT INetFwServiceRestriction_RestrictService(INetFwServiceRestriction* This,BSTR serviceName,BSTR appName,VARIANT_BOOL restrictService,VARIANT_BOOL serviceSidRestricted) {
2852     return This->lpVtbl->RestrictService(This,serviceName,appName,restrictService,serviceSidRestricted);
2853 }
2854 static FORCEINLINE HRESULT INetFwServiceRestriction_ServiceRestricted(INetFwServiceRestriction* This,BSTR serviceName,BSTR appName,VARIANT_BOOL *serviceRestricted) {
2855     return This->lpVtbl->ServiceRestricted(This,serviceName,appName,serviceRestricted);
2856 }
2857 static FORCEINLINE HRESULT INetFwServiceRestriction_get_Rules(INetFwServiceRestriction* This,INetFwRules **rules) {
2858     return This->lpVtbl->get_Rules(This,rules);
2859 }
2860 #endif
2861 #endif
2862 
2863 #endif
2864 
2865 
2866 #endif  /* __INetFwServiceRestriction_INTERFACE_DEFINED__ */
2867 
2868 /*****************************************************************************
2869  * INetFwProfile interface
2870  */
2871 #ifndef __INetFwProfile_INTERFACE_DEFINED__
2872 #define __INetFwProfile_INTERFACE_DEFINED__
2873 
2874 DEFINE_GUID(IID_INetFwProfile, 0x174a0dda, 0xe9f9, 0x449d, 0x99,0x3b, 0x21,0xab,0x66,0x7c,0xa4,0x56);
2875 #if defined(__cplusplus) && !defined(CINTERFACE)
2876 MIDL_INTERFACE("174a0dda-e9f9-449d-993b-21ab667ca456")
2877 INetFwProfile : public IDispatch
2878 {
2879     virtual HRESULT STDMETHODCALLTYPE get_Type(
2880         NET_FW_PROFILE_TYPE *type) = 0;
2881 
2882     virtual HRESULT STDMETHODCALLTYPE get_FirewallEnabled(
2883         VARIANT_BOOL *enabled) = 0;
2884 
2885     virtual HRESULT STDMETHODCALLTYPE put_FirewallEnabled(
2886         VARIANT_BOOL enabled) = 0;
2887 
2888     virtual HRESULT STDMETHODCALLTYPE get_ExceptionsNotAllowed(
2889         VARIANT_BOOL *notAllowed) = 0;
2890 
2891     virtual HRESULT STDMETHODCALLTYPE put_ExceptionsNotAllowed(
2892         VARIANT_BOOL notAllowed) = 0;
2893 
2894     virtual HRESULT STDMETHODCALLTYPE get_NotificationsDisabled(
2895         VARIANT_BOOL *disabled) = 0;
2896 
2897     virtual HRESULT STDMETHODCALLTYPE put_NotificationsDisabled(
2898         VARIANT_BOOL disabled) = 0;
2899 
2900     virtual HRESULT STDMETHODCALLTYPE get_UnicastResponsesToMulticastBroadcastDisabled(
2901         VARIANT_BOOL *disabled) = 0;
2902 
2903     virtual HRESULT STDMETHODCALLTYPE put_UnicastResponsesToMulticastBroadcastDisabled(
2904         VARIANT_BOOL disabled) = 0;
2905 
2906     virtual HRESULT STDMETHODCALLTYPE get_RemoteAdminSettings(
2907         INetFwRemoteAdminSettings **remoteAdminSettings) = 0;
2908 
2909     virtual HRESULT STDMETHODCALLTYPE get_IcmpSettings(
2910         INetFwIcmpSettings **icmpSettings) = 0;
2911 
2912     virtual HRESULT STDMETHODCALLTYPE get_GloballyOpenPorts(
2913         INetFwOpenPorts **openPorts) = 0;
2914 
2915     virtual HRESULT STDMETHODCALLTYPE get_Services(
2916         INetFwServices **services) = 0;
2917 
2918     virtual HRESULT STDMETHODCALLTYPE get_AuthorizedApplications(
2919         INetFwAuthorizedApplications **apps) = 0;
2920 
2921 };
2922 #ifdef __CRT_UUID_DECL
2923 __CRT_UUID_DECL(INetFwProfile, 0x174a0dda, 0xe9f9, 0x449d, 0x99,0x3b, 0x21,0xab,0x66,0x7c,0xa4,0x56)
2924 #endif
2925 #else
2926 typedef struct INetFwProfileVtbl {
2927     BEGIN_INTERFACE
2928 
2929     /*** IUnknown methods ***/
2930     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2931         INetFwProfile *This,
2932         REFIID riid,
2933         void **ppvObject);
2934 
2935     ULONG (STDMETHODCALLTYPE *AddRef)(
2936         INetFwProfile *This);
2937 
2938     ULONG (STDMETHODCALLTYPE *Release)(
2939         INetFwProfile *This);
2940 
2941     /*** IDispatch methods ***/
2942     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2943         INetFwProfile *This,
2944         UINT *pctinfo);
2945 
2946     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2947         INetFwProfile *This,
2948         UINT iTInfo,
2949         LCID lcid,
2950         ITypeInfo **ppTInfo);
2951 
2952     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2953         INetFwProfile *This,
2954         REFIID riid,
2955         LPOLESTR *rgszNames,
2956         UINT cNames,
2957         LCID lcid,
2958         DISPID *rgDispId);
2959 
2960     HRESULT (STDMETHODCALLTYPE *Invoke)(
2961         INetFwProfile *This,
2962         DISPID dispIdMember,
2963         REFIID riid,
2964         LCID lcid,
2965         WORD wFlags,
2966         DISPPARAMS *pDispParams,
2967         VARIANT *pVarResult,
2968         EXCEPINFO *pExcepInfo,
2969         UINT *puArgErr);
2970 
2971     /*** INetFwProfile methods ***/
2972     HRESULT (STDMETHODCALLTYPE *get_Type)(
2973         INetFwProfile *This,
2974         NET_FW_PROFILE_TYPE *type);
2975 
2976     HRESULT (STDMETHODCALLTYPE *get_FirewallEnabled)(
2977         INetFwProfile *This,
2978         VARIANT_BOOL *enabled);
2979 
2980     HRESULT (STDMETHODCALLTYPE *put_FirewallEnabled)(
2981         INetFwProfile *This,
2982         VARIANT_BOOL enabled);
2983 
2984     HRESULT (STDMETHODCALLTYPE *get_ExceptionsNotAllowed)(
2985         INetFwProfile *This,
2986         VARIANT_BOOL *notAllowed);
2987 
2988     HRESULT (STDMETHODCALLTYPE *put_ExceptionsNotAllowed)(
2989         INetFwProfile *This,
2990         VARIANT_BOOL notAllowed);
2991 
2992     HRESULT (STDMETHODCALLTYPE *get_NotificationsDisabled)(
2993         INetFwProfile *This,
2994         VARIANT_BOOL *disabled);
2995 
2996     HRESULT (STDMETHODCALLTYPE *put_NotificationsDisabled)(
2997         INetFwProfile *This,
2998         VARIANT_BOOL disabled);
2999 
3000     HRESULT (STDMETHODCALLTYPE *get_UnicastResponsesToMulticastBroadcastDisabled)(
3001         INetFwProfile *This,
3002         VARIANT_BOOL *disabled);
3003 
3004     HRESULT (STDMETHODCALLTYPE *put_UnicastResponsesToMulticastBroadcastDisabled)(
3005         INetFwProfile *This,
3006         VARIANT_BOOL disabled);
3007 
3008     HRESULT (STDMETHODCALLTYPE *get_RemoteAdminSettings)(
3009         INetFwProfile *This,
3010         INetFwRemoteAdminSettings **remoteAdminSettings);
3011 
3012     HRESULT (STDMETHODCALLTYPE *get_IcmpSettings)(
3013         INetFwProfile *This,
3014         INetFwIcmpSettings **icmpSettings);
3015 
3016     HRESULT (STDMETHODCALLTYPE *get_GloballyOpenPorts)(
3017         INetFwProfile *This,
3018         INetFwOpenPorts **openPorts);
3019 
3020     HRESULT (STDMETHODCALLTYPE *get_Services)(
3021         INetFwProfile *This,
3022         INetFwServices **services);
3023 
3024     HRESULT (STDMETHODCALLTYPE *get_AuthorizedApplications)(
3025         INetFwProfile *This,
3026         INetFwAuthorizedApplications **apps);
3027 
3028     END_INTERFACE
3029 } INetFwProfileVtbl;
3030 
3031 interface INetFwProfile {
3032     CONST_VTBL INetFwProfileVtbl* lpVtbl;
3033 };
3034 
3035 #ifdef COBJMACROS
3036 #ifndef WIDL_C_INLINE_WRAPPERS
3037 /*** IUnknown methods ***/
3038 #define INetFwProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3039 #define INetFwProfile_AddRef(This) (This)->lpVtbl->AddRef(This)
3040 #define INetFwProfile_Release(This) (This)->lpVtbl->Release(This)
3041 /*** IDispatch methods ***/
3042 #define INetFwProfile_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3043 #define INetFwProfile_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3044 #define INetFwProfile_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3045 #define INetFwProfile_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3046 /*** INetFwProfile methods ***/
3047 #define INetFwProfile_get_Type(This,type) (This)->lpVtbl->get_Type(This,type)
3048 #define INetFwProfile_get_FirewallEnabled(This,enabled) (This)->lpVtbl->get_FirewallEnabled(This,enabled)
3049 #define INetFwProfile_put_FirewallEnabled(This,enabled) (This)->lpVtbl->put_FirewallEnabled(This,enabled)
3050 #define INetFwProfile_get_ExceptionsNotAllowed(This,notAllowed) (This)->lpVtbl->get_ExceptionsNotAllowed(This,notAllowed)
3051 #define INetFwProfile_put_ExceptionsNotAllowed(This,notAllowed) (This)->lpVtbl->put_ExceptionsNotAllowed(This,notAllowed)
3052 #define INetFwProfile_get_NotificationsDisabled(This,disabled) (This)->lpVtbl->get_NotificationsDisabled(This,disabled)
3053 #define INetFwProfile_put_NotificationsDisabled(This,disabled) (This)->lpVtbl->put_NotificationsDisabled(This,disabled)
3054 #define INetFwProfile_get_UnicastResponsesToMulticastBroadcastDisabled(This,disabled) (This)->lpVtbl->get_UnicastResponsesToMulticastBroadcastDisabled(This,disabled)
3055 #define INetFwProfile_put_UnicastResponsesToMulticastBroadcastDisabled(This,disabled) (This)->lpVtbl->put_UnicastResponsesToMulticastBroadcastDisabled(This,disabled)
3056 #define INetFwProfile_get_RemoteAdminSettings(This,remoteAdminSettings) (This)->lpVtbl->get_RemoteAdminSettings(This,remoteAdminSettings)
3057 #define INetFwProfile_get_IcmpSettings(This,icmpSettings) (This)->lpVtbl->get_IcmpSettings(This,icmpSettings)
3058 #define INetFwProfile_get_GloballyOpenPorts(This,openPorts) (This)->lpVtbl->get_GloballyOpenPorts(This,openPorts)
3059 #define INetFwProfile_get_Services(This,services) (This)->lpVtbl->get_Services(This,services)
3060 #define INetFwProfile_get_AuthorizedApplications(This,apps) (This)->lpVtbl->get_AuthorizedApplications(This,apps)
3061 #else
3062 /*** IUnknown methods ***/
3063 static FORCEINLINE HRESULT INetFwProfile_QueryInterface(INetFwProfile* This,REFIID riid,void **ppvObject) {
3064     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3065 }
3066 static FORCEINLINE ULONG INetFwProfile_AddRef(INetFwProfile* This) {
3067     return This->lpVtbl->AddRef(This);
3068 }
3069 static FORCEINLINE ULONG INetFwProfile_Release(INetFwProfile* This) {
3070     return This->lpVtbl->Release(This);
3071 }
3072 /*** IDispatch methods ***/
3073 static FORCEINLINE HRESULT INetFwProfile_GetTypeInfoCount(INetFwProfile* This,UINT *pctinfo) {
3074     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3075 }
3076 static FORCEINLINE HRESULT INetFwProfile_GetTypeInfo(INetFwProfile* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3077     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3078 }
3079 static FORCEINLINE HRESULT INetFwProfile_GetIDsOfNames(INetFwProfile* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3080     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3081 }
3082 static FORCEINLINE HRESULT INetFwProfile_Invoke(INetFwProfile* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3083     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3084 }
3085 /*** INetFwProfile methods ***/
3086 static FORCEINLINE HRESULT INetFwProfile_get_Type(INetFwProfile* This,NET_FW_PROFILE_TYPE *type) {
3087     return This->lpVtbl->get_Type(This,type);
3088 }
3089 static FORCEINLINE HRESULT INetFwProfile_get_FirewallEnabled(INetFwProfile* This,VARIANT_BOOL *enabled) {
3090     return This->lpVtbl->get_FirewallEnabled(This,enabled);
3091 }
3092 static FORCEINLINE HRESULT INetFwProfile_put_FirewallEnabled(INetFwProfile* This,VARIANT_BOOL enabled) {
3093     return This->lpVtbl->put_FirewallEnabled(This,enabled);
3094 }
3095 static FORCEINLINE HRESULT INetFwProfile_get_ExceptionsNotAllowed(INetFwProfile* This,VARIANT_BOOL *notAllowed) {
3096     return This->lpVtbl->get_ExceptionsNotAllowed(This,notAllowed);
3097 }
3098 static FORCEINLINE HRESULT INetFwProfile_put_ExceptionsNotAllowed(INetFwProfile* This,VARIANT_BOOL notAllowed) {
3099     return This->lpVtbl->put_ExceptionsNotAllowed(This,notAllowed);
3100 }
3101 static FORCEINLINE HRESULT INetFwProfile_get_NotificationsDisabled(INetFwProfile* This,VARIANT_BOOL *disabled) {
3102     return This->lpVtbl->get_NotificationsDisabled(This,disabled);
3103 }
3104 static FORCEINLINE HRESULT INetFwProfile_put_NotificationsDisabled(INetFwProfile* This,VARIANT_BOOL disabled) {
3105     return This->lpVtbl->put_NotificationsDisabled(This,disabled);
3106 }
3107 static FORCEINLINE HRESULT INetFwProfile_get_UnicastResponsesToMulticastBroadcastDisabled(INetFwProfile* This,VARIANT_BOOL *disabled) {
3108     return This->lpVtbl->get_UnicastResponsesToMulticastBroadcastDisabled(This,disabled);
3109 }
3110 static FORCEINLINE HRESULT INetFwProfile_put_UnicastResponsesToMulticastBroadcastDisabled(INetFwProfile* This,VARIANT_BOOL disabled) {
3111     return This->lpVtbl->put_UnicastResponsesToMulticastBroadcastDisabled(This,disabled);
3112 }
3113 static FORCEINLINE HRESULT INetFwProfile_get_RemoteAdminSettings(INetFwProfile* This,INetFwRemoteAdminSettings **remoteAdminSettings) {
3114     return This->lpVtbl->get_RemoteAdminSettings(This,remoteAdminSettings);
3115 }
3116 static FORCEINLINE HRESULT INetFwProfile_get_IcmpSettings(INetFwProfile* This,INetFwIcmpSettings **icmpSettings) {
3117     return This->lpVtbl->get_IcmpSettings(This,icmpSettings);
3118 }
3119 static FORCEINLINE HRESULT INetFwProfile_get_GloballyOpenPorts(INetFwProfile* This,INetFwOpenPorts **openPorts) {
3120     return This->lpVtbl->get_GloballyOpenPorts(This,openPorts);
3121 }
3122 static FORCEINLINE HRESULT INetFwProfile_get_Services(INetFwProfile* This,INetFwServices **services) {
3123     return This->lpVtbl->get_Services(This,services);
3124 }
3125 static FORCEINLINE HRESULT INetFwProfile_get_AuthorizedApplications(INetFwProfile* This,INetFwAuthorizedApplications **apps) {
3126     return This->lpVtbl->get_AuthorizedApplications(This,apps);
3127 }
3128 #endif
3129 #endif
3130 
3131 #endif
3132 
3133 
3134 #endif  /* __INetFwProfile_INTERFACE_DEFINED__ */
3135 
3136 /*****************************************************************************
3137  * INetFwPolicy interface
3138  */
3139 #ifndef __INetFwPolicy_INTERFACE_DEFINED__
3140 #define __INetFwPolicy_INTERFACE_DEFINED__
3141 
3142 DEFINE_GUID(IID_INetFwPolicy, 0xd46d2478, 0x9ac9, 0x4008, 0x9d,0xc7, 0x55,0x63,0xce,0x55,0x36,0xcc);
3143 #if defined(__cplusplus) && !defined(CINTERFACE)
3144 MIDL_INTERFACE("d46d2478-9ac9-4008-9dc7-5563ce5536cc")
3145 INetFwPolicy : public IDispatch
3146 {
3147     virtual HRESULT STDMETHODCALLTYPE get_CurrentProfile(
3148         INetFwProfile **profile) = 0;
3149 
3150     virtual HRESULT STDMETHODCALLTYPE GetProfileByType(
3151         NET_FW_PROFILE_TYPE profileType,
3152         INetFwProfile **profile) = 0;
3153 
3154 };
3155 #ifdef __CRT_UUID_DECL
3156 __CRT_UUID_DECL(INetFwPolicy, 0xd46d2478, 0x9ac9, 0x4008, 0x9d,0xc7, 0x55,0x63,0xce,0x55,0x36,0xcc)
3157 #endif
3158 #else
3159 typedef struct INetFwPolicyVtbl {
3160     BEGIN_INTERFACE
3161 
3162     /*** IUnknown methods ***/
3163     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3164         INetFwPolicy *This,
3165         REFIID riid,
3166         void **ppvObject);
3167 
3168     ULONG (STDMETHODCALLTYPE *AddRef)(
3169         INetFwPolicy *This);
3170 
3171     ULONG (STDMETHODCALLTYPE *Release)(
3172         INetFwPolicy *This);
3173 
3174     /*** IDispatch methods ***/
3175     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3176         INetFwPolicy *This,
3177         UINT *pctinfo);
3178 
3179     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3180         INetFwPolicy *This,
3181         UINT iTInfo,
3182         LCID lcid,
3183         ITypeInfo **ppTInfo);
3184 
3185     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3186         INetFwPolicy *This,
3187         REFIID riid,
3188         LPOLESTR *rgszNames,
3189         UINT cNames,
3190         LCID lcid,
3191         DISPID *rgDispId);
3192 
3193     HRESULT (STDMETHODCALLTYPE *Invoke)(
3194         INetFwPolicy *This,
3195         DISPID dispIdMember,
3196         REFIID riid,
3197         LCID lcid,
3198         WORD wFlags,
3199         DISPPARAMS *pDispParams,
3200         VARIANT *pVarResult,
3201         EXCEPINFO *pExcepInfo,
3202         UINT *puArgErr);
3203 
3204     /*** INetFwPolicy methods ***/
3205     HRESULT (STDMETHODCALLTYPE *get_CurrentProfile)(
3206         INetFwPolicy *This,
3207         INetFwProfile **profile);
3208 
3209     HRESULT (STDMETHODCALLTYPE *GetProfileByType)(
3210         INetFwPolicy *This,
3211         NET_FW_PROFILE_TYPE profileType,
3212         INetFwProfile **profile);
3213 
3214     END_INTERFACE
3215 } INetFwPolicyVtbl;
3216 
3217 interface INetFwPolicy {
3218     CONST_VTBL INetFwPolicyVtbl* lpVtbl;
3219 };
3220 
3221 #ifdef COBJMACROS
3222 #ifndef WIDL_C_INLINE_WRAPPERS
3223 /*** IUnknown methods ***/
3224 #define INetFwPolicy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3225 #define INetFwPolicy_AddRef(This) (This)->lpVtbl->AddRef(This)
3226 #define INetFwPolicy_Release(This) (This)->lpVtbl->Release(This)
3227 /*** IDispatch methods ***/
3228 #define INetFwPolicy_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3229 #define INetFwPolicy_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3230 #define INetFwPolicy_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3231 #define INetFwPolicy_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3232 /*** INetFwPolicy methods ***/
3233 #define INetFwPolicy_get_CurrentProfile(This,profile) (This)->lpVtbl->get_CurrentProfile(This,profile)
3234 #define INetFwPolicy_GetProfileByType(This,profileType,profile) (This)->lpVtbl->GetProfileByType(This,profileType,profile)
3235 #else
3236 /*** IUnknown methods ***/
3237 static FORCEINLINE HRESULT INetFwPolicy_QueryInterface(INetFwPolicy* This,REFIID riid,void **ppvObject) {
3238     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3239 }
3240 static FORCEINLINE ULONG INetFwPolicy_AddRef(INetFwPolicy* This) {
3241     return This->lpVtbl->AddRef(This);
3242 }
3243 static FORCEINLINE ULONG INetFwPolicy_Release(INetFwPolicy* This) {
3244     return This->lpVtbl->Release(This);
3245 }
3246 /*** IDispatch methods ***/
3247 static FORCEINLINE HRESULT INetFwPolicy_GetTypeInfoCount(INetFwPolicy* This,UINT *pctinfo) {
3248     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3249 }
3250 static FORCEINLINE HRESULT INetFwPolicy_GetTypeInfo(INetFwPolicy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3251     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3252 }
3253 static FORCEINLINE HRESULT INetFwPolicy_GetIDsOfNames(INetFwPolicy* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3254     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3255 }
3256 static FORCEINLINE HRESULT INetFwPolicy_Invoke(INetFwPolicy* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3257     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3258 }
3259 /*** INetFwPolicy methods ***/
3260 static FORCEINLINE HRESULT INetFwPolicy_get_CurrentProfile(INetFwPolicy* This,INetFwProfile **profile) {
3261     return This->lpVtbl->get_CurrentProfile(This,profile);
3262 }
3263 static FORCEINLINE HRESULT INetFwPolicy_GetProfileByType(INetFwPolicy* This,NET_FW_PROFILE_TYPE profileType,INetFwProfile **profile) {
3264     return This->lpVtbl->GetProfileByType(This,profileType,profile);
3265 }
3266 #endif
3267 #endif
3268 
3269 #endif
3270 
3271 
3272 #endif  /* __INetFwPolicy_INTERFACE_DEFINED__ */
3273 
3274 /*****************************************************************************
3275  * INetFwPolicy2 interface
3276  */
3277 #ifndef __INetFwPolicy2_INTERFACE_DEFINED__
3278 #define __INetFwPolicy2_INTERFACE_DEFINED__
3279 
3280 DEFINE_GUID(IID_INetFwPolicy2, 0x98325047, 0xc671, 0x4174, 0x8d,0x81, 0xde,0xfc,0xd3,0xf0,0x31,0x86);
3281 #if defined(__cplusplus) && !defined(CINTERFACE)
3282 MIDL_INTERFACE("98325047-c671-4174-8d81-defcd3f03186")
3283 INetFwPolicy2 : public IDispatch
3284 {
3285     virtual HRESULT STDMETHODCALLTYPE get_CurrentProfileTypes(
3286         LONG *profile) = 0;
3287 
3288     virtual HRESULT STDMETHODCALLTYPE get_FirewallEnabled(
3289         NET_FW_PROFILE_TYPE2 profileType,
3290         VARIANT_BOOL *enabled) = 0;
3291 
3292     virtual HRESULT STDMETHODCALLTYPE put_FirewallEnabled(
3293         NET_FW_PROFILE_TYPE2 profileType,
3294         VARIANT_BOOL enabled) = 0;
3295 
3296     virtual HRESULT STDMETHODCALLTYPE get_ExcludedInterfaces(
3297         NET_FW_PROFILE_TYPE2 profileType,
3298         VARIANT *interfaces) = 0;
3299 
3300     virtual HRESULT STDMETHODCALLTYPE put_ExcludedInterfaces(
3301         NET_FW_PROFILE_TYPE2 profileType,
3302         VARIANT interfaces) = 0;
3303 
3304     virtual HRESULT STDMETHODCALLTYPE get_BlockAllInboundTraffic(
3305         NET_FW_PROFILE_TYPE2 profileType,
3306         VARIANT_BOOL *block) = 0;
3307 
3308     virtual HRESULT STDMETHODCALLTYPE put_BlockAllInboundTraffic(
3309         NET_FW_PROFILE_TYPE2 profileType,
3310         VARIANT_BOOL block) = 0;
3311 
3312     virtual HRESULT STDMETHODCALLTYPE get_NotificationsDisabled(
3313         NET_FW_PROFILE_TYPE2 profileType,
3314         VARIANT_BOOL *disabled) = 0;
3315 
3316     virtual HRESULT STDMETHODCALLTYPE put_NotificationsDisabled(
3317         NET_FW_PROFILE_TYPE2 profileType,
3318         VARIANT_BOOL disabled) = 0;
3319 
3320     virtual HRESULT STDMETHODCALLTYPE get_UnicastResponsesToMulticastBroadcastDisabled(
3321         NET_FW_PROFILE_TYPE2 profileType,
3322         VARIANT_BOOL *disabled) = 0;
3323 
3324     virtual HRESULT STDMETHODCALLTYPE put_UnicastResponsesToMulticastBroadcastDisabled(
3325         NET_FW_PROFILE_TYPE2 profileType,
3326         VARIANT_BOOL disabled) = 0;
3327 
3328     virtual HRESULT STDMETHODCALLTYPE get_Rules(
3329         INetFwRules **rules) = 0;
3330 
3331     virtual HRESULT STDMETHODCALLTYPE get_ServiceRestriction(
3332         INetFwServiceRestriction **ServiceRestriction) = 0;
3333 
3334     virtual HRESULT STDMETHODCALLTYPE EnableRuleGroup(
3335         LONG profileTypesBitmask,
3336         BSTR group,
3337         VARIANT_BOOL enable) = 0;
3338 
3339     virtual HRESULT STDMETHODCALLTYPE IsRuleGroupEnabled(
3340         LONG profileTypesBitmask,
3341         BSTR group,
3342         VARIANT_BOOL *enabled) = 0;
3343 
3344     virtual HRESULT STDMETHODCALLTYPE RestoreLocalFirewallDefaults(
3345         ) = 0;
3346 
3347     virtual HRESULT STDMETHODCALLTYPE get_DefaultInboundAction(
3348         NET_FW_PROFILE_TYPE2 profileType,
3349         NET_FW_ACTION *action) = 0;
3350 
3351     virtual HRESULT STDMETHODCALLTYPE put_DefaultInboundAction(
3352         NET_FW_PROFILE_TYPE2 profileType,
3353         NET_FW_ACTION action) = 0;
3354 
3355     virtual HRESULT STDMETHODCALLTYPE get_DefaultOutboundAction(
3356         NET_FW_PROFILE_TYPE2 profileType,
3357         NET_FW_ACTION *action) = 0;
3358 
3359     virtual HRESULT STDMETHODCALLTYPE put_DefaultOutboundAction(
3360         NET_FW_PROFILE_TYPE2 profileType,
3361         NET_FW_ACTION action) = 0;
3362 
3363     virtual HRESULT STDMETHODCALLTYPE get_IsRuleGroupCurrentlyEnabled(
3364         BSTR group,
3365         VARIANT_BOOL *enabled) = 0;
3366 
3367     virtual HRESULT STDMETHODCALLTYPE get_LocalPolicyModifyState(
3368         NET_FW_MODIFY_STATE *modifyState) = 0;
3369 
3370 };
3371 #ifdef __CRT_UUID_DECL
3372 __CRT_UUID_DECL(INetFwPolicy2, 0x98325047, 0xc671, 0x4174, 0x8d,0x81, 0xde,0xfc,0xd3,0xf0,0x31,0x86)
3373 #endif
3374 #else
3375 typedef struct INetFwPolicy2Vtbl {
3376     BEGIN_INTERFACE
3377 
3378     /*** IUnknown methods ***/
3379     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3380         INetFwPolicy2 *This,
3381         REFIID riid,
3382         void **ppvObject);
3383 
3384     ULONG (STDMETHODCALLTYPE *AddRef)(
3385         INetFwPolicy2 *This);
3386 
3387     ULONG (STDMETHODCALLTYPE *Release)(
3388         INetFwPolicy2 *This);
3389 
3390     /*** IDispatch methods ***/
3391     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3392         INetFwPolicy2 *This,
3393         UINT *pctinfo);
3394 
3395     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3396         INetFwPolicy2 *This,
3397         UINT iTInfo,
3398         LCID lcid,
3399         ITypeInfo **ppTInfo);
3400 
3401     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3402         INetFwPolicy2 *This,
3403         REFIID riid,
3404         LPOLESTR *rgszNames,
3405         UINT cNames,
3406         LCID lcid,
3407         DISPID *rgDispId);
3408 
3409     HRESULT (STDMETHODCALLTYPE *Invoke)(
3410         INetFwPolicy2 *This,
3411         DISPID dispIdMember,
3412         REFIID riid,
3413         LCID lcid,
3414         WORD wFlags,
3415         DISPPARAMS *pDispParams,
3416         VARIANT *pVarResult,
3417         EXCEPINFO *pExcepInfo,
3418         UINT *puArgErr);
3419 
3420     /*** INetFwPolicy2 methods ***/
3421     HRESULT (STDMETHODCALLTYPE *get_CurrentProfileTypes)(
3422         INetFwPolicy2 *This,
3423         LONG *profile);
3424 
3425     HRESULT (STDMETHODCALLTYPE *get_FirewallEnabled)(
3426         INetFwPolicy2 *This,
3427         NET_FW_PROFILE_TYPE2 profileType,
3428         VARIANT_BOOL *enabled);
3429 
3430     HRESULT (STDMETHODCALLTYPE *put_FirewallEnabled)(
3431         INetFwPolicy2 *This,
3432         NET_FW_PROFILE_TYPE2 profileType,
3433         VARIANT_BOOL enabled);
3434 
3435     HRESULT (STDMETHODCALLTYPE *get_ExcludedInterfaces)(
3436         INetFwPolicy2 *This,
3437         NET_FW_PROFILE_TYPE2 profileType,
3438         VARIANT *interfaces);
3439 
3440     HRESULT (STDMETHODCALLTYPE *put_ExcludedInterfaces)(
3441         INetFwPolicy2 *This,
3442         NET_FW_PROFILE_TYPE2 profileType,
3443         VARIANT interfaces);
3444 
3445     HRESULT (STDMETHODCALLTYPE *get_BlockAllInboundTraffic)(
3446         INetFwPolicy2 *This,
3447         NET_FW_PROFILE_TYPE2 profileType,
3448         VARIANT_BOOL *block);
3449 
3450     HRESULT (STDMETHODCALLTYPE *put_BlockAllInboundTraffic)(
3451         INetFwPolicy2 *This,
3452         NET_FW_PROFILE_TYPE2 profileType,
3453         VARIANT_BOOL block);
3454 
3455     HRESULT (STDMETHODCALLTYPE *get_NotificationsDisabled)(
3456         INetFwPolicy2 *This,
3457         NET_FW_PROFILE_TYPE2 profileType,
3458         VARIANT_BOOL *disabled);
3459 
3460     HRESULT (STDMETHODCALLTYPE *put_NotificationsDisabled)(
3461         INetFwPolicy2 *This,
3462         NET_FW_PROFILE_TYPE2 profileType,
3463         VARIANT_BOOL disabled);
3464 
3465     HRESULT (STDMETHODCALLTYPE *get_UnicastResponsesToMulticastBroadcastDisabled)(
3466         INetFwPolicy2 *This,
3467         NET_FW_PROFILE_TYPE2 profileType,
3468         VARIANT_BOOL *disabled);
3469 
3470     HRESULT (STDMETHODCALLTYPE *put_UnicastResponsesToMulticastBroadcastDisabled)(
3471         INetFwPolicy2 *This,
3472         NET_FW_PROFILE_TYPE2 profileType,
3473         VARIANT_BOOL disabled);
3474 
3475     HRESULT (STDMETHODCALLTYPE *get_Rules)(
3476         INetFwPolicy2 *This,
3477         INetFwRules **rules);
3478 
3479     HRESULT (STDMETHODCALLTYPE *get_ServiceRestriction)(
3480         INetFwPolicy2 *This,
3481         INetFwServiceRestriction **ServiceRestriction);
3482 
3483     HRESULT (STDMETHODCALLTYPE *EnableRuleGroup)(
3484         INetFwPolicy2 *This,
3485         LONG profileTypesBitmask,
3486         BSTR group,
3487         VARIANT_BOOL enable);
3488 
3489     HRESULT (STDMETHODCALLTYPE *IsRuleGroupEnabled)(
3490         INetFwPolicy2 *This,
3491         LONG profileTypesBitmask,
3492         BSTR group,
3493         VARIANT_BOOL *enabled);
3494 
3495     HRESULT (STDMETHODCALLTYPE *RestoreLocalFirewallDefaults)(
3496         INetFwPolicy2 *This);
3497 
3498     HRESULT (STDMETHODCALLTYPE *get_DefaultInboundAction)(
3499         INetFwPolicy2 *This,
3500         NET_FW_PROFILE_TYPE2 profileType,
3501         NET_FW_ACTION *action);
3502 
3503     HRESULT (STDMETHODCALLTYPE *put_DefaultInboundAction)(
3504         INetFwPolicy2 *This,
3505         NET_FW_PROFILE_TYPE2 profileType,
3506         NET_FW_ACTION action);
3507 
3508     HRESULT (STDMETHODCALLTYPE *get_DefaultOutboundAction)(
3509         INetFwPolicy2 *This,
3510         NET_FW_PROFILE_TYPE2 profileType,
3511         NET_FW_ACTION *action);
3512 
3513     HRESULT (STDMETHODCALLTYPE *put_DefaultOutboundAction)(
3514         INetFwPolicy2 *This,
3515         NET_FW_PROFILE_TYPE2 profileType,
3516         NET_FW_ACTION action);
3517 
3518     HRESULT (STDMETHODCALLTYPE *get_IsRuleGroupCurrentlyEnabled)(
3519         INetFwPolicy2 *This,
3520         BSTR group,
3521         VARIANT_BOOL *enabled);
3522 
3523     HRESULT (STDMETHODCALLTYPE *get_LocalPolicyModifyState)(
3524         INetFwPolicy2 *This,
3525         NET_FW_MODIFY_STATE *modifyState);
3526 
3527     END_INTERFACE
3528 } INetFwPolicy2Vtbl;
3529 
3530 interface INetFwPolicy2 {
3531     CONST_VTBL INetFwPolicy2Vtbl* lpVtbl;
3532 };
3533 
3534 #ifdef COBJMACROS
3535 #ifndef WIDL_C_INLINE_WRAPPERS
3536 /*** IUnknown methods ***/
3537 #define INetFwPolicy2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3538 #define INetFwPolicy2_AddRef(This) (This)->lpVtbl->AddRef(This)
3539 #define INetFwPolicy2_Release(This) (This)->lpVtbl->Release(This)
3540 /*** IDispatch methods ***/
3541 #define INetFwPolicy2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3542 #define INetFwPolicy2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3543 #define INetFwPolicy2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3544 #define INetFwPolicy2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3545 /*** INetFwPolicy2 methods ***/
3546 #define INetFwPolicy2_get_CurrentProfileTypes(This,profile) (This)->lpVtbl->get_CurrentProfileTypes(This,profile)
3547 #define INetFwPolicy2_get_FirewallEnabled(This,profileType,enabled) (This)->lpVtbl->get_FirewallEnabled(This,profileType,enabled)
3548 #define INetFwPolicy2_put_FirewallEnabled(This,profileType,enabled) (This)->lpVtbl->put_FirewallEnabled(This,profileType,enabled)
3549 #define INetFwPolicy2_get_ExcludedInterfaces(This,profileType,interfaces) (This)->lpVtbl->get_ExcludedInterfaces(This,profileType,interfaces)
3550 #define INetFwPolicy2_put_ExcludedInterfaces(This,profileType,interfaces) (This)->lpVtbl->put_ExcludedInterfaces(This,profileType,interfaces)
3551 #define INetFwPolicy2_get_BlockAllInboundTraffic(This,profileType,block) (This)->lpVtbl->get_BlockAllInboundTraffic(This,profileType,block)
3552 #define INetFwPolicy2_put_BlockAllInboundTraffic(This,profileType,block) (This)->lpVtbl->put_BlockAllInboundTraffic(This,profileType,block)
3553 #define INetFwPolicy2_get_NotificationsDisabled(This,profileType,disabled) (This)->lpVtbl->get_NotificationsDisabled(This,profileType,disabled)
3554 #define INetFwPolicy2_put_NotificationsDisabled(This,profileType,disabled) (This)->lpVtbl->put_NotificationsDisabled(This,profileType,disabled)
3555 #define INetFwPolicy2_get_UnicastResponsesToMulticastBroadcastDisabled(This,profileType,disabled) (This)->lpVtbl->get_UnicastResponsesToMulticastBroadcastDisabled(This,profileType,disabled)
3556 #define INetFwPolicy2_put_UnicastResponsesToMulticastBroadcastDisabled(This,profileType,disabled) (This)->lpVtbl->put_UnicastResponsesToMulticastBroadcastDisabled(This,profileType,disabled)
3557 #define INetFwPolicy2_get_Rules(This,rules) (This)->lpVtbl->get_Rules(This,rules)
3558 #define INetFwPolicy2_get_ServiceRestriction(This,ServiceRestriction) (This)->lpVtbl->get_ServiceRestriction(This,ServiceRestriction)
3559 #define INetFwPolicy2_EnableRuleGroup(This,profileTypesBitmask,group,enable) (This)->lpVtbl->EnableRuleGroup(This,profileTypesBitmask,group,enable)
3560 #define INetFwPolicy2_IsRuleGroupEnabled(This,profileTypesBitmask,group,enabled) (This)->lpVtbl->IsRuleGroupEnabled(This,profileTypesBitmask,group,enabled)
3561 #define INetFwPolicy2_RestoreLocalFirewallDefaults(This) (This)->lpVtbl->RestoreLocalFirewallDefaults(This)
3562 #define INetFwPolicy2_get_DefaultInboundAction(This,profileType,action) (This)->lpVtbl->get_DefaultInboundAction(This,profileType,action)
3563 #define INetFwPolicy2_put_DefaultInboundAction(This,profileType,action) (This)->lpVtbl->put_DefaultInboundAction(This,profileType,action)
3564 #define INetFwPolicy2_get_DefaultOutboundAction(This,profileType,action) (This)->lpVtbl->get_DefaultOutboundAction(This,profileType,action)
3565 #define INetFwPolicy2_put_DefaultOutboundAction(This,profileType,action) (This)->lpVtbl->put_DefaultOutboundAction(This,profileType,action)
3566 #define INetFwPolicy2_get_IsRuleGroupCurrentlyEnabled(This,group,enabled) (This)->lpVtbl->get_IsRuleGroupCurrentlyEnabled(This,group,enabled)
3567 #define INetFwPolicy2_get_LocalPolicyModifyState(This,modifyState) (This)->lpVtbl->get_LocalPolicyModifyState(This,modifyState)
3568 #else
3569 /*** IUnknown methods ***/
3570 static FORCEINLINE HRESULT INetFwPolicy2_QueryInterface(INetFwPolicy2* This,REFIID riid,void **ppvObject) {
3571     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3572 }
3573 static FORCEINLINE ULONG INetFwPolicy2_AddRef(INetFwPolicy2* This) {
3574     return This->lpVtbl->AddRef(This);
3575 }
3576 static FORCEINLINE ULONG INetFwPolicy2_Release(INetFwPolicy2* This) {
3577     return This->lpVtbl->Release(This);
3578 }
3579 /*** IDispatch methods ***/
3580 static FORCEINLINE HRESULT INetFwPolicy2_GetTypeInfoCount(INetFwPolicy2* This,UINT *pctinfo) {
3581     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3582 }
3583 static FORCEINLINE HRESULT INetFwPolicy2_GetTypeInfo(INetFwPolicy2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3584     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3585 }
3586 static FORCEINLINE HRESULT INetFwPolicy2_GetIDsOfNames(INetFwPolicy2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3587     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3588 }
3589 static FORCEINLINE HRESULT INetFwPolicy2_Invoke(INetFwPolicy2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3590     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3591 }
3592 /*** INetFwPolicy2 methods ***/
3593 static FORCEINLINE HRESULT INetFwPolicy2_get_CurrentProfileTypes(INetFwPolicy2* This,LONG *profile) {
3594     return This->lpVtbl->get_CurrentProfileTypes(This,profile);
3595 }
3596 static FORCEINLINE HRESULT INetFwPolicy2_get_FirewallEnabled(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT_BOOL *enabled) {
3597     return This->lpVtbl->get_FirewallEnabled(This,profileType,enabled);
3598 }
3599 static FORCEINLINE HRESULT INetFwPolicy2_put_FirewallEnabled(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT_BOOL enabled) {
3600     return This->lpVtbl->put_FirewallEnabled(This,profileType,enabled);
3601 }
3602 static FORCEINLINE HRESULT INetFwPolicy2_get_ExcludedInterfaces(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT *interfaces) {
3603     return This->lpVtbl->get_ExcludedInterfaces(This,profileType,interfaces);
3604 }
3605 static FORCEINLINE HRESULT INetFwPolicy2_put_ExcludedInterfaces(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT interfaces) {
3606     return This->lpVtbl->put_ExcludedInterfaces(This,profileType,interfaces);
3607 }
3608 static FORCEINLINE HRESULT INetFwPolicy2_get_BlockAllInboundTraffic(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT_BOOL *block) {
3609     return This->lpVtbl->get_BlockAllInboundTraffic(This,profileType,block);
3610 }
3611 static FORCEINLINE HRESULT INetFwPolicy2_put_BlockAllInboundTraffic(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT_BOOL block) {
3612     return This->lpVtbl->put_BlockAllInboundTraffic(This,profileType,block);
3613 }
3614 static FORCEINLINE HRESULT INetFwPolicy2_get_NotificationsDisabled(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT_BOOL *disabled) {
3615     return This->lpVtbl->get_NotificationsDisabled(This,profileType,disabled);
3616 }
3617 static FORCEINLINE HRESULT INetFwPolicy2_put_NotificationsDisabled(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT_BOOL disabled) {
3618     return This->lpVtbl->put_NotificationsDisabled(This,profileType,disabled);
3619 }
3620 static FORCEINLINE HRESULT INetFwPolicy2_get_UnicastResponsesToMulticastBroadcastDisabled(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT_BOOL *disabled) {
3621     return This->lpVtbl->get_UnicastResponsesToMulticastBroadcastDisabled(This,profileType,disabled);
3622 }
3623 static FORCEINLINE HRESULT INetFwPolicy2_put_UnicastResponsesToMulticastBroadcastDisabled(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT_BOOL disabled) {
3624     return This->lpVtbl->put_UnicastResponsesToMulticastBroadcastDisabled(This,profileType,disabled);
3625 }
3626 static FORCEINLINE HRESULT INetFwPolicy2_get_Rules(INetFwPolicy2* This,INetFwRules **rules) {
3627     return This->lpVtbl->get_Rules(This,rules);
3628 }
3629 static FORCEINLINE HRESULT INetFwPolicy2_get_ServiceRestriction(INetFwPolicy2* This,INetFwServiceRestriction **ServiceRestriction) {
3630     return This->lpVtbl->get_ServiceRestriction(This,ServiceRestriction);
3631 }
3632 static FORCEINLINE HRESULT INetFwPolicy2_EnableRuleGroup(INetFwPolicy2* This,LONG profileTypesBitmask,BSTR group,VARIANT_BOOL enable) {
3633     return This->lpVtbl->EnableRuleGroup(This,profileTypesBitmask,group,enable);
3634 }
3635 static FORCEINLINE HRESULT INetFwPolicy2_IsRuleGroupEnabled(INetFwPolicy2* This,LONG profileTypesBitmask,BSTR group,VARIANT_BOOL *enabled) {
3636     return This->lpVtbl->IsRuleGroupEnabled(This,profileTypesBitmask,group,enabled);
3637 }
3638 static FORCEINLINE HRESULT INetFwPolicy2_RestoreLocalFirewallDefaults(INetFwPolicy2* This) {
3639     return This->lpVtbl->RestoreLocalFirewallDefaults(This);
3640 }
3641 static FORCEINLINE HRESULT INetFwPolicy2_get_DefaultInboundAction(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,NET_FW_ACTION *action) {
3642     return This->lpVtbl->get_DefaultInboundAction(This,profileType,action);
3643 }
3644 static FORCEINLINE HRESULT INetFwPolicy2_put_DefaultInboundAction(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,NET_FW_ACTION action) {
3645     return This->lpVtbl->put_DefaultInboundAction(This,profileType,action);
3646 }
3647 static FORCEINLINE HRESULT INetFwPolicy2_get_DefaultOutboundAction(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,NET_FW_ACTION *action) {
3648     return This->lpVtbl->get_DefaultOutboundAction(This,profileType,action);
3649 }
3650 static FORCEINLINE HRESULT INetFwPolicy2_put_DefaultOutboundAction(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,NET_FW_ACTION action) {
3651     return This->lpVtbl->put_DefaultOutboundAction(This,profileType,action);
3652 }
3653 static FORCEINLINE HRESULT INetFwPolicy2_get_IsRuleGroupCurrentlyEnabled(INetFwPolicy2* This,BSTR group,VARIANT_BOOL *enabled) {
3654     return This->lpVtbl->get_IsRuleGroupCurrentlyEnabled(This,group,enabled);
3655 }
3656 static FORCEINLINE HRESULT INetFwPolicy2_get_LocalPolicyModifyState(INetFwPolicy2* This,NET_FW_MODIFY_STATE *modifyState) {
3657     return This->lpVtbl->get_LocalPolicyModifyState(This,modifyState);
3658 }
3659 #endif
3660 #endif
3661 
3662 #endif
3663 
3664 
3665 #endif  /* __INetFwPolicy2_INTERFACE_DEFINED__ */
3666 
3667 /*****************************************************************************
3668  * INetFwMgr interface
3669  */
3670 #ifndef __INetFwMgr_INTERFACE_DEFINED__
3671 #define __INetFwMgr_INTERFACE_DEFINED__
3672 
3673 DEFINE_GUID(IID_INetFwMgr, 0xf7898af5, 0xcac4, 0x4632, 0xa2,0xec, 0xda,0x06,0xe5,0x11,0x1a,0xf2);
3674 #if defined(__cplusplus) && !defined(CINTERFACE)
3675 MIDL_INTERFACE("f7898af5-cac4-4632-a2ec-da06e5111af2")
3676 INetFwMgr : public IDispatch
3677 {
3678     virtual HRESULT STDMETHODCALLTYPE get_LocalPolicy(
3679         INetFwPolicy **localPolicy) = 0;
3680 
3681     virtual HRESULT STDMETHODCALLTYPE get_CurrentProfileType(
3682         NET_FW_PROFILE_TYPE *profileType) = 0;
3683 
3684     virtual HRESULT STDMETHODCALLTYPE RestoreDefaults(
3685         ) = 0;
3686 
3687     virtual HRESULT STDMETHODCALLTYPE IsPortAllowed(
3688         BSTR imageFileName,
3689         NET_FW_IP_VERSION ipVersion,
3690         LONG portNumber,
3691         BSTR localAddress,
3692         NET_FW_IP_PROTOCOL ipProtocol,
3693         VARIANT *allowed,
3694         VARIANT *restricted) = 0;
3695 
3696     virtual HRESULT STDMETHODCALLTYPE IsIcmpTypeAllowed(
3697         NET_FW_IP_VERSION ipVersion,
3698         BSTR localAddress,
3699         BYTE type,
3700         VARIANT *allowed,
3701         VARIANT *restricted) = 0;
3702 
3703 };
3704 #ifdef __CRT_UUID_DECL
3705 __CRT_UUID_DECL(INetFwMgr, 0xf7898af5, 0xcac4, 0x4632, 0xa2,0xec, 0xda,0x06,0xe5,0x11,0x1a,0xf2)
3706 #endif
3707 #else
3708 typedef struct INetFwMgrVtbl {
3709     BEGIN_INTERFACE
3710 
3711     /*** IUnknown methods ***/
3712     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3713         INetFwMgr *This,
3714         REFIID riid,
3715         void **ppvObject);
3716 
3717     ULONG (STDMETHODCALLTYPE *AddRef)(
3718         INetFwMgr *This);
3719 
3720     ULONG (STDMETHODCALLTYPE *Release)(
3721         INetFwMgr *This);
3722 
3723     /*** IDispatch methods ***/
3724     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3725         INetFwMgr *This,
3726         UINT *pctinfo);
3727 
3728     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3729         INetFwMgr *This,
3730         UINT iTInfo,
3731         LCID lcid,
3732         ITypeInfo **ppTInfo);
3733 
3734     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3735         INetFwMgr *This,
3736         REFIID riid,
3737         LPOLESTR *rgszNames,
3738         UINT cNames,
3739         LCID lcid,
3740         DISPID *rgDispId);
3741 
3742     HRESULT (STDMETHODCALLTYPE *Invoke)(
3743         INetFwMgr *This,
3744         DISPID dispIdMember,
3745         REFIID riid,
3746         LCID lcid,
3747         WORD wFlags,
3748         DISPPARAMS *pDispParams,
3749         VARIANT *pVarResult,
3750         EXCEPINFO *pExcepInfo,
3751         UINT *puArgErr);
3752 
3753     /*** INetFwMgr methods ***/
3754     HRESULT (STDMETHODCALLTYPE *get_LocalPolicy)(
3755         INetFwMgr *This,
3756         INetFwPolicy **localPolicy);
3757 
3758     HRESULT (STDMETHODCALLTYPE *get_CurrentProfileType)(
3759         INetFwMgr *This,
3760         NET_FW_PROFILE_TYPE *profileType);
3761 
3762     HRESULT (STDMETHODCALLTYPE *RestoreDefaults)(
3763         INetFwMgr *This);
3764 
3765     HRESULT (STDMETHODCALLTYPE *IsPortAllowed)(
3766         INetFwMgr *This,
3767         BSTR imageFileName,
3768         NET_FW_IP_VERSION ipVersion,
3769         LONG portNumber,
3770         BSTR localAddress,
3771         NET_FW_IP_PROTOCOL ipProtocol,
3772         VARIANT *allowed,
3773         VARIANT *restricted);
3774 
3775     HRESULT (STDMETHODCALLTYPE *IsIcmpTypeAllowed)(
3776         INetFwMgr *This,
3777         NET_FW_IP_VERSION ipVersion,
3778         BSTR localAddress,
3779         BYTE type,
3780         VARIANT *allowed,
3781         VARIANT *restricted);
3782 
3783     END_INTERFACE
3784 } INetFwMgrVtbl;
3785 
3786 interface INetFwMgr {
3787     CONST_VTBL INetFwMgrVtbl* lpVtbl;
3788 };
3789 
3790 #ifdef COBJMACROS
3791 #ifndef WIDL_C_INLINE_WRAPPERS
3792 /*** IUnknown methods ***/
3793 #define INetFwMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3794 #define INetFwMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
3795 #define INetFwMgr_Release(This) (This)->lpVtbl->Release(This)
3796 /*** IDispatch methods ***/
3797 #define INetFwMgr_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3798 #define INetFwMgr_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3799 #define INetFwMgr_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3800 #define INetFwMgr_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3801 /*** INetFwMgr methods ***/
3802 #define INetFwMgr_get_LocalPolicy(This,localPolicy) (This)->lpVtbl->get_LocalPolicy(This,localPolicy)
3803 #define INetFwMgr_get_CurrentProfileType(This,profileType) (This)->lpVtbl->get_CurrentProfileType(This,profileType)
3804 #define INetFwMgr_RestoreDefaults(This) (This)->lpVtbl->RestoreDefaults(This)
3805 #define INetFwMgr_IsPortAllowed(This,imageFileName,ipVersion,portNumber,localAddress,ipProtocol,allowed,restricted) (This)->lpVtbl->IsPortAllowed(This,imageFileName,ipVersion,portNumber,localAddress,ipProtocol,allowed,restricted)
3806 #define INetFwMgr_IsIcmpTypeAllowed(This,ipVersion,localAddress,type,allowed,restricted) (This)->lpVtbl->IsIcmpTypeAllowed(This,ipVersion,localAddress,type,allowed,restricted)
3807 #else
3808 /*** IUnknown methods ***/
3809 static FORCEINLINE HRESULT INetFwMgr_QueryInterface(INetFwMgr* This,REFIID riid,void **ppvObject) {
3810     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3811 }
3812 static FORCEINLINE ULONG INetFwMgr_AddRef(INetFwMgr* This) {
3813     return This->lpVtbl->AddRef(This);
3814 }
3815 static FORCEINLINE ULONG INetFwMgr_Release(INetFwMgr* This) {
3816     return This->lpVtbl->Release(This);
3817 }
3818 /*** IDispatch methods ***/
3819 static FORCEINLINE HRESULT INetFwMgr_GetTypeInfoCount(INetFwMgr* This,UINT *pctinfo) {
3820     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3821 }
3822 static FORCEINLINE HRESULT INetFwMgr_GetTypeInfo(INetFwMgr* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3823     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3824 }
3825 static FORCEINLINE HRESULT INetFwMgr_GetIDsOfNames(INetFwMgr* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3826     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3827 }
3828 static FORCEINLINE HRESULT INetFwMgr_Invoke(INetFwMgr* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3829     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3830 }
3831 /*** INetFwMgr methods ***/
3832 static FORCEINLINE HRESULT INetFwMgr_get_LocalPolicy(INetFwMgr* This,INetFwPolicy **localPolicy) {
3833     return This->lpVtbl->get_LocalPolicy(This,localPolicy);
3834 }
3835 static FORCEINLINE HRESULT INetFwMgr_get_CurrentProfileType(INetFwMgr* This,NET_FW_PROFILE_TYPE *profileType) {
3836     return This->lpVtbl->get_CurrentProfileType(This,profileType);
3837 }
3838 static FORCEINLINE HRESULT INetFwMgr_RestoreDefaults(INetFwMgr* This) {
3839     return This->lpVtbl->RestoreDefaults(This);
3840 }
3841 static FORCEINLINE HRESULT INetFwMgr_IsPortAllowed(INetFwMgr* This,BSTR imageFileName,NET_FW_IP_VERSION ipVersion,LONG portNumber,BSTR localAddress,NET_FW_IP_PROTOCOL ipProtocol,VARIANT *allowed,VARIANT *restricted) {
3842     return This->lpVtbl->IsPortAllowed(This,imageFileName,ipVersion,portNumber,localAddress,ipProtocol,allowed,restricted);
3843 }
3844 static FORCEINLINE HRESULT INetFwMgr_IsIcmpTypeAllowed(INetFwMgr* This,NET_FW_IP_VERSION ipVersion,BSTR localAddress,BYTE type,VARIANT *allowed,VARIANT *restricted) {
3845     return This->lpVtbl->IsIcmpTypeAllowed(This,ipVersion,localAddress,type,allowed,restricted);
3846 }
3847 #endif
3848 #endif
3849 
3850 #endif
3851 
3852 
3853 #endif  /* __INetFwMgr_INTERFACE_DEFINED__ */
3854 
3855 /*****************************************************************************
3856  * INetFwProduct interface
3857  */
3858 #ifndef __INetFwProduct_INTERFACE_DEFINED__
3859 #define __INetFwProduct_INTERFACE_DEFINED__
3860 
3861 DEFINE_GUID(IID_INetFwProduct, 0x71881699, 0x18f4, 0x458b, 0xb8,0x92, 0x3f,0xfc,0xe5,0xe0,0x7f,0x75);
3862 #if defined(__cplusplus) && !defined(CINTERFACE)
3863 MIDL_INTERFACE("71881699-18f4-458b-b892-3ffce5e07f75")
3864 INetFwProduct : public IDispatch
3865 {
3866     virtual HRESULT STDMETHODCALLTYPE get_RuleCategories(
3867         VARIANT *ruleCategories) = 0;
3868 
3869     virtual HRESULT STDMETHODCALLTYPE put_RuleCategories(
3870         VARIANT ruleCategories) = 0;
3871 
3872     virtual HRESULT STDMETHODCALLTYPE get_DisplayName(
3873         BSTR *displayName) = 0;
3874 
3875     virtual HRESULT STDMETHODCALLTYPE put_DisplayName(
3876         BSTR displayName) = 0;
3877 
3878     virtual HRESULT STDMETHODCALLTYPE get_PathToSignedProductExe(
3879         BSTR *path) = 0;
3880 
3881 };
3882 #ifdef __CRT_UUID_DECL
3883 __CRT_UUID_DECL(INetFwProduct, 0x71881699, 0x18f4, 0x458b, 0xb8,0x92, 0x3f,0xfc,0xe5,0xe0,0x7f,0x75)
3884 #endif
3885 #else
3886 typedef struct INetFwProductVtbl {
3887     BEGIN_INTERFACE
3888 
3889     /*** IUnknown methods ***/
3890     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3891         INetFwProduct *This,
3892         REFIID riid,
3893         void **ppvObject);
3894 
3895     ULONG (STDMETHODCALLTYPE *AddRef)(
3896         INetFwProduct *This);
3897 
3898     ULONG (STDMETHODCALLTYPE *Release)(
3899         INetFwProduct *This);
3900 
3901     /*** IDispatch methods ***/
3902     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3903         INetFwProduct *This,
3904         UINT *pctinfo);
3905 
3906     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3907         INetFwProduct *This,
3908         UINT iTInfo,
3909         LCID lcid,
3910         ITypeInfo **ppTInfo);
3911 
3912     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3913         INetFwProduct *This,
3914         REFIID riid,
3915         LPOLESTR *rgszNames,
3916         UINT cNames,
3917         LCID lcid,
3918         DISPID *rgDispId);
3919 
3920     HRESULT (STDMETHODCALLTYPE *Invoke)(
3921         INetFwProduct *This,
3922         DISPID dispIdMember,
3923         REFIID riid,
3924         LCID lcid,
3925         WORD wFlags,
3926         DISPPARAMS *pDispParams,
3927         VARIANT *pVarResult,
3928         EXCEPINFO *pExcepInfo,
3929         UINT *puArgErr);
3930 
3931     /*** INetFwProduct methods ***/
3932     HRESULT (STDMETHODCALLTYPE *get_RuleCategories)(
3933         INetFwProduct *This,
3934         VARIANT *ruleCategories);
3935 
3936     HRESULT (STDMETHODCALLTYPE *put_RuleCategories)(
3937         INetFwProduct *This,
3938         VARIANT ruleCategories);
3939 
3940     HRESULT (STDMETHODCALLTYPE *get_DisplayName)(
3941         INetFwProduct *This,
3942         BSTR *displayName);
3943 
3944     HRESULT (STDMETHODCALLTYPE *put_DisplayName)(
3945         INetFwProduct *This,
3946         BSTR displayName);
3947 
3948     HRESULT (STDMETHODCALLTYPE *get_PathToSignedProductExe)(
3949         INetFwProduct *This,
3950         BSTR *path);
3951 
3952     END_INTERFACE
3953 } INetFwProductVtbl;
3954 
3955 interface INetFwProduct {
3956     CONST_VTBL INetFwProductVtbl* lpVtbl;
3957 };
3958 
3959 #ifdef COBJMACROS
3960 #ifndef WIDL_C_INLINE_WRAPPERS
3961 /*** IUnknown methods ***/
3962 #define INetFwProduct_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3963 #define INetFwProduct_AddRef(This) (This)->lpVtbl->AddRef(This)
3964 #define INetFwProduct_Release(This) (This)->lpVtbl->Release(This)
3965 /*** IDispatch methods ***/
3966 #define INetFwProduct_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3967 #define INetFwProduct_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3968 #define INetFwProduct_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3969 #define INetFwProduct_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3970 /*** INetFwProduct methods ***/
3971 #define INetFwProduct_get_RuleCategories(This,ruleCategories) (This)->lpVtbl->get_RuleCategories(This,ruleCategories)
3972 #define INetFwProduct_put_RuleCategories(This,ruleCategories) (This)->lpVtbl->put_RuleCategories(This,ruleCategories)
3973 #define INetFwProduct_get_DisplayName(This,displayName) (This)->lpVtbl->get_DisplayName(This,displayName)
3974 #define INetFwProduct_put_DisplayName(This,displayName) (This)->lpVtbl->put_DisplayName(This,displayName)
3975 #define INetFwProduct_get_PathToSignedProductExe(This,path) (This)->lpVtbl->get_PathToSignedProductExe(This,path)
3976 #else
3977 /*** IUnknown methods ***/
3978 static FORCEINLINE HRESULT INetFwProduct_QueryInterface(INetFwProduct* This,REFIID riid,void **ppvObject) {
3979     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3980 }
3981 static FORCEINLINE ULONG INetFwProduct_AddRef(INetFwProduct* This) {
3982     return This->lpVtbl->AddRef(This);
3983 }
3984 static FORCEINLINE ULONG INetFwProduct_Release(INetFwProduct* This) {
3985     return This->lpVtbl->Release(This);
3986 }
3987 /*** IDispatch methods ***/
3988 static FORCEINLINE HRESULT INetFwProduct_GetTypeInfoCount(INetFwProduct* This,UINT *pctinfo) {
3989     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3990 }
3991 static FORCEINLINE HRESULT INetFwProduct_GetTypeInfo(INetFwProduct* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3992     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3993 }
3994 static FORCEINLINE HRESULT INetFwProduct_GetIDsOfNames(INetFwProduct* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3995     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3996 }
3997 static FORCEINLINE HRESULT INetFwProduct_Invoke(INetFwProduct* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3998     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3999 }
4000 /*** INetFwProduct methods ***/
4001 static FORCEINLINE HRESULT INetFwProduct_get_RuleCategories(INetFwProduct* This,VARIANT *ruleCategories) {
4002     return This->lpVtbl->get_RuleCategories(This,ruleCategories);
4003 }
4004 static FORCEINLINE HRESULT INetFwProduct_put_RuleCategories(INetFwProduct* This,VARIANT ruleCategories) {
4005     return This->lpVtbl->put_RuleCategories(This,ruleCategories);
4006 }
4007 static FORCEINLINE HRESULT INetFwProduct_get_DisplayName(INetFwProduct* This,BSTR *displayName) {
4008     return This->lpVtbl->get_DisplayName(This,displayName);
4009 }
4010 static FORCEINLINE HRESULT INetFwProduct_put_DisplayName(INetFwProduct* This,BSTR displayName) {
4011     return This->lpVtbl->put_DisplayName(This,displayName);
4012 }
4013 static FORCEINLINE HRESULT INetFwProduct_get_PathToSignedProductExe(INetFwProduct* This,BSTR *path) {
4014     return This->lpVtbl->get_PathToSignedProductExe(This,path);
4015 }
4016 #endif
4017 #endif
4018 
4019 #endif
4020 
4021 
4022 #endif  /* __INetFwProduct_INTERFACE_DEFINED__ */
4023 
4024 /*****************************************************************************
4025  * INetFwProducts interface
4026  */
4027 #ifndef __INetFwProducts_INTERFACE_DEFINED__
4028 #define __INetFwProducts_INTERFACE_DEFINED__
4029 
4030 DEFINE_GUID(IID_INetFwProducts, 0x39eb36e0, 0x2097, 0x40bd, 0x8a,0xf2, 0x63,0xa1,0x3b,0x52,0x53,0x62);
4031 #if defined(__cplusplus) && !defined(CINTERFACE)
4032 MIDL_INTERFACE("39eb36e0-2097-40bd-8af2-63a13b525362")
4033 INetFwProducts : public IDispatch
4034 {
4035     virtual HRESULT STDMETHODCALLTYPE get_Count(
4036         LONG *count) = 0;
4037 
4038     virtual HRESULT STDMETHODCALLTYPE Register(
4039         INetFwProduct *product,
4040         IUnknown **registration) = 0;
4041 
4042     virtual HRESULT STDMETHODCALLTYPE Item(
4043         LONG index,
4044         INetFwProduct **product) = 0;
4045 
4046     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
4047         IUnknown **newEnum) = 0;
4048 
4049 };
4050 #ifdef __CRT_UUID_DECL
4051 __CRT_UUID_DECL(INetFwProducts, 0x39eb36e0, 0x2097, 0x40bd, 0x8a,0xf2, 0x63,0xa1,0x3b,0x52,0x53,0x62)
4052 #endif
4053 #else
4054 typedef struct INetFwProductsVtbl {
4055     BEGIN_INTERFACE
4056 
4057     /*** IUnknown methods ***/
4058     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4059         INetFwProducts *This,
4060         REFIID riid,
4061         void **ppvObject);
4062 
4063     ULONG (STDMETHODCALLTYPE *AddRef)(
4064         INetFwProducts *This);
4065 
4066     ULONG (STDMETHODCALLTYPE *Release)(
4067         INetFwProducts *This);
4068 
4069     /*** IDispatch methods ***/
4070     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4071         INetFwProducts *This,
4072         UINT *pctinfo);
4073 
4074     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4075         INetFwProducts *This,
4076         UINT iTInfo,
4077         LCID lcid,
4078         ITypeInfo **ppTInfo);
4079 
4080     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4081         INetFwProducts *This,
4082         REFIID riid,
4083         LPOLESTR *rgszNames,
4084         UINT cNames,
4085         LCID lcid,
4086         DISPID *rgDispId);
4087 
4088     HRESULT (STDMETHODCALLTYPE *Invoke)(
4089         INetFwProducts *This,
4090         DISPID dispIdMember,
4091         REFIID riid,
4092         LCID lcid,
4093         WORD wFlags,
4094         DISPPARAMS *pDispParams,
4095         VARIANT *pVarResult,
4096         EXCEPINFO *pExcepInfo,
4097         UINT *puArgErr);
4098 
4099     /*** INetFwProducts methods ***/
4100     HRESULT (STDMETHODCALLTYPE *get_Count)(
4101         INetFwProducts *This,
4102         LONG *count);
4103 
4104     HRESULT (STDMETHODCALLTYPE *Register)(
4105         INetFwProducts *This,
4106         INetFwProduct *product,
4107         IUnknown **registration);
4108 
4109     HRESULT (STDMETHODCALLTYPE *Item)(
4110         INetFwProducts *This,
4111         LONG index,
4112         INetFwProduct **product);
4113 
4114     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
4115         INetFwProducts *This,
4116         IUnknown **newEnum);
4117 
4118     END_INTERFACE
4119 } INetFwProductsVtbl;
4120 
4121 interface INetFwProducts {
4122     CONST_VTBL INetFwProductsVtbl* lpVtbl;
4123 };
4124 
4125 #ifdef COBJMACROS
4126 #ifndef WIDL_C_INLINE_WRAPPERS
4127 /*** IUnknown methods ***/
4128 #define INetFwProducts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4129 #define INetFwProducts_AddRef(This) (This)->lpVtbl->AddRef(This)
4130 #define INetFwProducts_Release(This) (This)->lpVtbl->Release(This)
4131 /*** IDispatch methods ***/
4132 #define INetFwProducts_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4133 #define INetFwProducts_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4134 #define INetFwProducts_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4135 #define INetFwProducts_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4136 /*** INetFwProducts methods ***/
4137 #define INetFwProducts_get_Count(This,count) (This)->lpVtbl->get_Count(This,count)
4138 #define INetFwProducts_Register(This,product,registration) (This)->lpVtbl->Register(This,product,registration)
4139 #define INetFwProducts_Item(This,index,product) (This)->lpVtbl->Item(This,index,product)
4140 #define INetFwProducts_get__NewEnum(This,newEnum) (This)->lpVtbl->get__NewEnum(This,newEnum)
4141 #else
4142 /*** IUnknown methods ***/
4143 static FORCEINLINE HRESULT INetFwProducts_QueryInterface(INetFwProducts* This,REFIID riid,void **ppvObject) {
4144     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4145 }
4146 static FORCEINLINE ULONG INetFwProducts_AddRef(INetFwProducts* This) {
4147     return This->lpVtbl->AddRef(This);
4148 }
4149 static FORCEINLINE ULONG INetFwProducts_Release(INetFwProducts* This) {
4150     return This->lpVtbl->Release(This);
4151 }
4152 /*** IDispatch methods ***/
4153 static FORCEINLINE HRESULT INetFwProducts_GetTypeInfoCount(INetFwProducts* This,UINT *pctinfo) {
4154     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4155 }
4156 static FORCEINLINE HRESULT INetFwProducts_GetTypeInfo(INetFwProducts* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4157     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4158 }
4159 static FORCEINLINE HRESULT INetFwProducts_GetIDsOfNames(INetFwProducts* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4160     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4161 }
4162 static FORCEINLINE HRESULT INetFwProducts_Invoke(INetFwProducts* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4163     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4164 }
4165 /*** INetFwProducts methods ***/
4166 static FORCEINLINE HRESULT INetFwProducts_get_Count(INetFwProducts* This,LONG *count) {
4167     return This->lpVtbl->get_Count(This,count);
4168 }
4169 static FORCEINLINE HRESULT INetFwProducts_Register(INetFwProducts* This,INetFwProduct *product,IUnknown **registration) {
4170     return This->lpVtbl->Register(This,product,registration);
4171 }
4172 static FORCEINLINE HRESULT INetFwProducts_Item(INetFwProducts* This,LONG index,INetFwProduct **product) {
4173     return This->lpVtbl->Item(This,index,product);
4174 }
4175 static FORCEINLINE HRESULT INetFwProducts_get__NewEnum(INetFwProducts* This,IUnknown **newEnum) {
4176     return This->lpVtbl->get__NewEnum(This,newEnum);
4177 }
4178 #endif
4179 #endif
4180 
4181 #endif
4182 
4183 
4184 #endif  /* __INetFwProducts_INTERFACE_DEFINED__ */
4185 
4186 
4187 DEFINE_GUID(LIBID_NetFwPublicTypeLib, 0xdb4f3345, 0x3ef8, 0x45ed, 0xb9,0x76, 0x25,0xa6,0xd3,0xb8,0x1b,0x71);
4188 
4189 #ifndef __INetFwRemoteAdminSettings_FWD_DEFINED__
4190 #define __INetFwRemoteAdminSettings_FWD_DEFINED__
4191 typedef interface INetFwRemoteAdminSettings INetFwRemoteAdminSettings;
4192 #ifdef __cplusplus
4193 interface INetFwRemoteAdminSettings;
4194 #endif /* __cplusplus */
4195 #endif
4196 
4197 #ifndef __INetFwIcmpSettings_FWD_DEFINED__
4198 #define __INetFwIcmpSettings_FWD_DEFINED__
4199 typedef interface INetFwIcmpSettings INetFwIcmpSettings;
4200 #ifdef __cplusplus
4201 interface INetFwIcmpSettings;
4202 #endif /* __cplusplus */
4203 #endif
4204 
4205 #ifndef __INetFwOpenPort_FWD_DEFINED__
4206 #define __INetFwOpenPort_FWD_DEFINED__
4207 typedef interface INetFwOpenPort INetFwOpenPort;
4208 #ifdef __cplusplus
4209 interface INetFwOpenPort;
4210 #endif /* __cplusplus */
4211 #endif
4212 
4213 #ifndef __INetFwOpenPorts_FWD_DEFINED__
4214 #define __INetFwOpenPorts_FWD_DEFINED__
4215 typedef interface INetFwOpenPorts INetFwOpenPorts;
4216 #ifdef __cplusplus
4217 interface INetFwOpenPorts;
4218 #endif /* __cplusplus */
4219 #endif
4220 
4221 #ifndef __INetFwService_FWD_DEFINED__
4222 #define __INetFwService_FWD_DEFINED__
4223 typedef interface INetFwService INetFwService;
4224 #ifdef __cplusplus
4225 interface INetFwService;
4226 #endif /* __cplusplus */
4227 #endif
4228 
4229 #ifndef __INetFwServices_FWD_DEFINED__
4230 #define __INetFwServices_FWD_DEFINED__
4231 typedef interface INetFwServices INetFwServices;
4232 #ifdef __cplusplus
4233 interface INetFwServices;
4234 #endif /* __cplusplus */
4235 #endif
4236 
4237 #ifndef __INetFwAuthorizedApplication_FWD_DEFINED__
4238 #define __INetFwAuthorizedApplication_FWD_DEFINED__
4239 typedef interface INetFwAuthorizedApplication INetFwAuthorizedApplication;
4240 #ifdef __cplusplus
4241 interface INetFwAuthorizedApplication;
4242 #endif /* __cplusplus */
4243 #endif
4244 
4245 #ifndef __INetFwAuthorizedApplications_FWD_DEFINED__
4246 #define __INetFwAuthorizedApplications_FWD_DEFINED__
4247 typedef interface INetFwAuthorizedApplications INetFwAuthorizedApplications;
4248 #ifdef __cplusplus
4249 interface INetFwAuthorizedApplications;
4250 #endif /* __cplusplus */
4251 #endif
4252 
4253 #ifndef __INetFwProfile_FWD_DEFINED__
4254 #define __INetFwProfile_FWD_DEFINED__
4255 typedef interface INetFwProfile INetFwProfile;
4256 #ifdef __cplusplus
4257 interface INetFwProfile;
4258 #endif /* __cplusplus */
4259 #endif
4260 
4261 #ifndef __INetFwPolicy_FWD_DEFINED__
4262 #define __INetFwPolicy_FWD_DEFINED__
4263 typedef interface INetFwPolicy INetFwPolicy;
4264 #ifdef __cplusplus
4265 interface INetFwPolicy;
4266 #endif /* __cplusplus */
4267 #endif
4268 
4269 #ifndef __INetFwPolicy2_FWD_DEFINED__
4270 #define __INetFwPolicy2_FWD_DEFINED__
4271 typedef interface INetFwPolicy2 INetFwPolicy2;
4272 #ifdef __cplusplus
4273 interface INetFwPolicy2;
4274 #endif /* __cplusplus */
4275 #endif
4276 
4277 #ifndef __INetFwMgr_FWD_DEFINED__
4278 #define __INetFwMgr_FWD_DEFINED__
4279 typedef interface INetFwMgr INetFwMgr;
4280 #ifdef __cplusplus
4281 interface INetFwMgr;
4282 #endif /* __cplusplus */
4283 #endif
4284 
4285 /*****************************************************************************
4286  * NetFwOpenPort coclass
4287  */
4288 
4289 DEFINE_GUID(CLSID_NetFwOpenPort, 0x0ca545c6, 0x37ad, 0x4a6c, 0xbf,0x92, 0x9f,0x76,0x10,0x06,0x7e,0xf5);
4290 
4291 #ifdef __cplusplus
4292 class DECLSPEC_UUID("0ca545c6-37ad-4a6c-bf92-9f7610067ef5") NetFwOpenPort;
4293 #ifdef __CRT_UUID_DECL
4294 __CRT_UUID_DECL(NetFwOpenPort, 0x0ca545c6, 0x37ad, 0x4a6c, 0xbf,0x92, 0x9f,0x76,0x10,0x06,0x7e,0xf5)
4295 #endif
4296 #endif
4297 
4298 /*****************************************************************************
4299  * NetFwAuthorizedApplication coclass
4300  */
4301 
4302 DEFINE_GUID(CLSID_NetFwAuthorizedApplication, 0xec9846b3, 0x2762, 0x4a6b, 0xa2,0x14, 0x6a,0xcb,0x60,0x34,0x62,0xd2);
4303 
4304 #ifdef __cplusplus
4305 class DECLSPEC_UUID("ec9846b3-2762-4a6b-a214-6acb603462d2") NetFwAuthorizedApplication;
4306 #ifdef __CRT_UUID_DECL
4307 __CRT_UUID_DECL(NetFwAuthorizedApplication, 0xec9846b3, 0x2762, 0x4a6b, 0xa2,0x14, 0x6a,0xcb,0x60,0x34,0x62,0xd2)
4308 #endif
4309 #endif
4310 
4311 /*****************************************************************************
4312  * NetFwMgr coclass
4313  */
4314 
4315 DEFINE_GUID(CLSID_NetFwMgr, 0x304ce942, 0x6e39, 0x40d8, 0x94,0x3a, 0xb9,0x13,0xc4,0x0c,0x9c,0xd4);
4316 
4317 #ifdef __cplusplus
4318 class DECLSPEC_UUID("304ce942-6e39-40d8-943a-b913c40c9cd4") NetFwMgr;
4319 #ifdef __CRT_UUID_DECL
4320 __CRT_UUID_DECL(NetFwMgr, 0x304ce942, 0x6e39, 0x40d8, 0x94,0x3a, 0xb9,0x13,0xc4,0x0c,0x9c,0xd4)
4321 #endif
4322 #endif
4323 
4324 /*****************************************************************************
4325  * NetFwPolicy2 coclass
4326  */
4327 
4328 DEFINE_GUID(CLSID_NetFwPolicy2, 0xe2b3c97f, 0x6ae1, 0x41ac, 0x81,0x7a, 0xf6,0xf9,0x21,0x66,0xd7,0xdd);
4329 
4330 #ifdef __cplusplus
4331 class DECLSPEC_UUID("e2b3c97f-6ae1-41ac-817a-f6f92166d7dd") NetFwPolicy2;
4332 #ifdef __CRT_UUID_DECL
4333 __CRT_UUID_DECL(NetFwPolicy2, 0xe2b3c97f, 0x6ae1, 0x41ac, 0x81,0x7a, 0xf6,0xf9,0x21,0x66,0xd7,0xdd)
4334 #endif
4335 #endif
4336 
4337 /*****************************************************************************
4338  * NetFwRule coclass
4339  */
4340 
4341 DEFINE_GUID(CLSID_NetFwRule, 0x2c5bc43e, 0x3369, 0x4c33, 0xab,0x0c, 0xbe,0x94,0x69,0x67,0x7a,0xf4);
4342 
4343 #ifdef __cplusplus
4344 class DECLSPEC_UUID("2c5bc43e-3369-4c33-ab0c-be9469677af4") NetFwRule;
4345 #ifdef __CRT_UUID_DECL
4346 __CRT_UUID_DECL(NetFwRule, 0x2c5bc43e, 0x3369, 0x4c33, 0xab,0x0c, 0xbe,0x94,0x69,0x67,0x7a,0xf4)
4347 #endif
4348 #endif
4349 
4350 /*****************************************************************************
4351  * NetFwProduct coclass
4352  */
4353 
4354 DEFINE_GUID(CLSID_NetFwProduct, 0x9d745ed8, 0xc514, 0x4d1d, 0xbf,0x42, 0x75,0x1f,0xed,0x2d,0x5a,0xc7);
4355 
4356 #ifdef __cplusplus
4357 class DECLSPEC_UUID("9d745ed8-c514-4d1d-bf42-751fed2d5ac7") NetFwProduct;
4358 #ifdef __CRT_UUID_DECL
4359 __CRT_UUID_DECL(NetFwProduct, 0x9d745ed8, 0xc514, 0x4d1d, 0xbf,0x42, 0x75,0x1f,0xed,0x2d,0x5a,0xc7)
4360 #endif
4361 #endif
4362 
4363 /*****************************************************************************
4364  * NetFwProducts coclass
4365  */
4366 
4367 DEFINE_GUID(CLSID_NetFwProducts, 0xcc19079b, 0x8272, 0x4d73, 0xbb,0x70, 0xcd,0xb5,0x33,0x52,0x7b,0x61);
4368 
4369 #ifdef __cplusplus
4370 class DECLSPEC_UUID("cc19079b-8272-4d73-bb70-cdb533527b61") NetFwProducts;
4371 #ifdef __CRT_UUID_DECL
4372 __CRT_UUID_DECL(NetFwProducts, 0xcc19079b, 0x8272, 0x4d73, 0xbb,0x70, 0xcd,0xb5,0x33,0x52,0x7b,0x61)
4373 #endif
4374 #endif
4375 
4376 /* Begin additional prototypes for all interfaces */
4377 
4378 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
4379 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
4380 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
4381 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
4382 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
4383 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
4384 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
4385 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
4386 
4387 /* End additional prototypes */
4388 
4389 #ifdef __cplusplus
4390 }
4391 #endif
4392 
4393 #endif /* __netfw_h__ */
4394