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