zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

netfw.h (217237B) - Raw


      1 /*** Autogenerated by WIDL 10.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 inline HRESULT INetFwIcmpSettings_QueryInterface(INetFwIcmpSettings* This,REFIID riid,void **ppvObject) {
    489     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    490 }
    491 static inline ULONG INetFwIcmpSettings_AddRef(INetFwIcmpSettings* This) {
    492     return This->lpVtbl->AddRef(This);
    493 }
    494 static inline ULONG INetFwIcmpSettings_Release(INetFwIcmpSettings* This) {
    495     return This->lpVtbl->Release(This);
    496 }
    497 /*** IDispatch methods ***/
    498 static inline HRESULT INetFwIcmpSettings_GetTypeInfoCount(INetFwIcmpSettings* This,UINT *pctinfo) {
    499     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    500 }
    501 static inline HRESULT INetFwIcmpSettings_GetTypeInfo(INetFwIcmpSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    502     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    503 }
    504 static inline 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 inline 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 inline HRESULT INetFwIcmpSettings_get_AllowOutboundDestinationUnreachable(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    512     return This->lpVtbl->get_AllowOutboundDestinationUnreachable(This,allow);
    513 }
    514 static inline HRESULT INetFwIcmpSettings_put_AllowOutboundDestinationUnreachable(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    515     return This->lpVtbl->put_AllowOutboundDestinationUnreachable(This,allow);
    516 }
    517 static inline HRESULT INetFwIcmpSettings_get_AllowRedirect(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    518     return This->lpVtbl->get_AllowRedirect(This,allow);
    519 }
    520 static inline HRESULT INetFwIcmpSettings_put_AllowRedirect(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    521     return This->lpVtbl->put_AllowRedirect(This,allow);
    522 }
    523 static inline HRESULT INetFwIcmpSettings_get_AllowInboundEchoRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    524     return This->lpVtbl->get_AllowInboundEchoRequest(This,allow);
    525 }
    526 static inline HRESULT INetFwIcmpSettings_put_AllowInboundEchoRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    527     return This->lpVtbl->put_AllowInboundEchoRequest(This,allow);
    528 }
    529 static inline HRESULT INetFwIcmpSettings_get_AllowOutboundTimeExceeded(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    530     return This->lpVtbl->get_AllowOutboundTimeExceeded(This,allow);
    531 }
    532 static inline HRESULT INetFwIcmpSettings_put_AllowOutboundTimeExceeded(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    533     return This->lpVtbl->put_AllowOutboundTimeExceeded(This,allow);
    534 }
    535 static inline HRESULT INetFwIcmpSettings_get_AllowOutboundParameterProblem(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    536     return This->lpVtbl->get_AllowOutboundParameterProblem(This,allow);
    537 }
    538 static inline HRESULT INetFwIcmpSettings_put_AllowOutboundParameterProblem(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    539     return This->lpVtbl->put_AllowOutboundParameterProblem(This,allow);
    540 }
    541 static inline HRESULT INetFwIcmpSettings_get_AllowOutboundSourceQuench(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    542     return This->lpVtbl->get_AllowOutboundSourceQuench(This,allow);
    543 }
    544 static inline HRESULT INetFwIcmpSettings_put_AllowOutboundSourceQuench(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    545     return This->lpVtbl->put_AllowOutboundSourceQuench(This,allow);
    546 }
    547 static inline HRESULT INetFwIcmpSettings_get_AllowInboundRouterRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    548     return This->lpVtbl->get_AllowInboundRouterRequest(This,allow);
    549 }
    550 static inline HRESULT INetFwIcmpSettings_put_AllowInboundRouterRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    551     return This->lpVtbl->put_AllowInboundRouterRequest(This,allow);
    552 }
    553 static inline HRESULT INetFwIcmpSettings_get_AllowInboundTimestampRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    554     return This->lpVtbl->get_AllowInboundTimestampRequest(This,allow);
    555 }
    556 static inline HRESULT INetFwIcmpSettings_put_AllowInboundTimestampRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    557     return This->lpVtbl->put_AllowInboundTimestampRequest(This,allow);
    558 }
    559 static inline HRESULT INetFwIcmpSettings_get_AllowInboundMaskRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    560     return This->lpVtbl->get_AllowInboundMaskRequest(This,allow);
    561 }
    562 static inline HRESULT INetFwIcmpSettings_put_AllowInboundMaskRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    563     return This->lpVtbl->put_AllowInboundMaskRequest(This,allow);
    564 }
    565 static inline HRESULT INetFwIcmpSettings_get_AllowOutboundPacketTooBig(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    566     return This->lpVtbl->get_AllowOutboundPacketTooBig(This,allow);
    567 }
    568 static inline 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 inline HRESULT INetFwOpenPort_QueryInterface(INetFwOpenPort* This,REFIID riid,void **ppvObject) {
    783     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    784 }
    785 static inline ULONG INetFwOpenPort_AddRef(INetFwOpenPort* This) {
    786     return This->lpVtbl->AddRef(This);
    787 }
    788 static inline ULONG INetFwOpenPort_Release(INetFwOpenPort* This) {
    789     return This->lpVtbl->Release(This);
    790 }
    791 /*** IDispatch methods ***/
    792 static inline HRESULT INetFwOpenPort_GetTypeInfoCount(INetFwOpenPort* This,UINT *pctinfo) {
    793     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    794 }
    795 static inline HRESULT INetFwOpenPort_GetTypeInfo(INetFwOpenPort* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    796     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    797 }
    798 static inline 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 inline 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 inline HRESULT INetFwOpenPort_get_Name(INetFwOpenPort* This,BSTR *name) {
    806     return This->lpVtbl->get_Name(This,name);
    807 }
    808 static inline HRESULT INetFwOpenPort_put_Name(INetFwOpenPort* This,BSTR name) {
    809     return This->lpVtbl->put_Name(This,name);
    810 }
    811 static inline HRESULT INetFwOpenPort_get_IpVersion(INetFwOpenPort* This,NET_FW_IP_VERSION *ipVersion) {
    812     return This->lpVtbl->get_IpVersion(This,ipVersion);
    813 }
    814 static inline HRESULT INetFwOpenPort_put_IpVersion(INetFwOpenPort* This,NET_FW_IP_VERSION ipVersion) {
    815     return This->lpVtbl->put_IpVersion(This,ipVersion);
    816 }
    817 static inline HRESULT INetFwOpenPort_get_Protocol(INetFwOpenPort* This,NET_FW_IP_PROTOCOL *ipProtocol) {
    818     return This->lpVtbl->get_Protocol(This,ipProtocol);
    819 }
    820 static inline HRESULT INetFwOpenPort_put_Protocol(INetFwOpenPort* This,NET_FW_IP_PROTOCOL ipProtocol) {
    821     return This->lpVtbl->put_Protocol(This,ipProtocol);
    822 }
    823 static inline HRESULT INetFwOpenPort_get_Port(INetFwOpenPort* This,LONG *portNumber) {
    824     return This->lpVtbl->get_Port(This,portNumber);
    825 }
    826 static inline HRESULT INetFwOpenPort_put_Port(INetFwOpenPort* This,LONG portNumber) {
    827     return This->lpVtbl->put_Port(This,portNumber);
    828 }
    829 static inline HRESULT INetFwOpenPort_get_Scope(INetFwOpenPort* This,NET_FW_SCOPE *scope) {
    830     return This->lpVtbl->get_Scope(This,scope);
    831 }
    832 static inline HRESULT INetFwOpenPort_put_Scope(INetFwOpenPort* This,NET_FW_SCOPE scope) {
    833     return This->lpVtbl->put_Scope(This,scope);
    834 }
    835 static inline HRESULT INetFwOpenPort_get_RemoteAddresses(INetFwOpenPort* This,BSTR *remoteAddrs) {
    836     return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
    837 }
    838 static inline HRESULT INetFwOpenPort_put_RemoteAddresses(INetFwOpenPort* This,BSTR remoteAddrs) {
    839     return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
    840 }
    841 static inline HRESULT INetFwOpenPort_get_Enabled(INetFwOpenPort* This,VARIANT_BOOL *enabled) {
    842     return This->lpVtbl->get_Enabled(This,enabled);
    843 }
    844 static inline HRESULT INetFwOpenPort_put_Enabled(INetFwOpenPort* This,VARIANT_BOOL enabled) {
    845     return This->lpVtbl->put_Enabled(This,enabled);
    846 }
    847 static inline 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 inline HRESULT INetFwOpenPorts_QueryInterface(INetFwOpenPorts* This,REFIID riid,void **ppvObject) {
    988     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    989 }
    990 static inline ULONG INetFwOpenPorts_AddRef(INetFwOpenPorts* This) {
    991     return This->lpVtbl->AddRef(This);
    992 }
    993 static inline ULONG INetFwOpenPorts_Release(INetFwOpenPorts* This) {
    994     return This->lpVtbl->Release(This);
    995 }
    996 /*** IDispatch methods ***/
    997 static inline HRESULT INetFwOpenPorts_GetTypeInfoCount(INetFwOpenPorts* This,UINT *pctinfo) {
    998     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    999 }
   1000 static inline HRESULT INetFwOpenPorts_GetTypeInfo(INetFwOpenPorts* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1001     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1002 }
   1003 static inline 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 inline 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 inline HRESULT INetFwOpenPorts_get_Count(INetFwOpenPorts* This,LONG *count) {
   1011     return This->lpVtbl->get_Count(This,count);
   1012 }
   1013 static inline HRESULT INetFwOpenPorts_Add(INetFwOpenPorts* This,INetFwOpenPort *port) {
   1014     return This->lpVtbl->Add(This,port);
   1015 }
   1016 static inline HRESULT INetFwOpenPorts_Remove(INetFwOpenPorts* This,LONG portNumber,NET_FW_IP_PROTOCOL ipProtocol) {
   1017     return This->lpVtbl->Remove(This,portNumber,ipProtocol);
   1018 }
   1019 static inline 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 inline 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 inline HRESULT INetFwService_QueryInterface(INetFwService* This,REFIID riid,void **ppvObject) {
   1213     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1214 }
   1215 static inline ULONG INetFwService_AddRef(INetFwService* This) {
   1216     return This->lpVtbl->AddRef(This);
   1217 }
   1218 static inline ULONG INetFwService_Release(INetFwService* This) {
   1219     return This->lpVtbl->Release(This);
   1220 }
   1221 /*** IDispatch methods ***/
   1222 static inline HRESULT INetFwService_GetTypeInfoCount(INetFwService* This,UINT *pctinfo) {
   1223     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1224 }
   1225 static inline HRESULT INetFwService_GetTypeInfo(INetFwService* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1226     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1227 }
   1228 static inline 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 inline 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 inline HRESULT INetFwService_get_Name(INetFwService* This,BSTR *name) {
   1236     return This->lpVtbl->get_Name(This,name);
   1237 }
   1238 static inline HRESULT INetFwService_get_Type(INetFwService* This,NET_FW_SERVICE_TYPE *type) {
   1239     return This->lpVtbl->get_Type(This,type);
   1240 }
   1241 static inline HRESULT INetFwService_get_Customized(INetFwService* This,VARIANT_BOOL *customized) {
   1242     return This->lpVtbl->get_Customized(This,customized);
   1243 }
   1244 static inline HRESULT INetFwService_get_IpVersion(INetFwService* This,NET_FW_IP_VERSION *ipVersion) {
   1245     return This->lpVtbl->get_IpVersion(This,ipVersion);
   1246 }
   1247 static inline HRESULT INetFwService_put_IpVersion(INetFwService* This,NET_FW_IP_VERSION ipVersion) {
   1248     return This->lpVtbl->put_IpVersion(This,ipVersion);
   1249 }
   1250 static inline HRESULT INetFwService_get_Scope(INetFwService* This,NET_FW_SCOPE *scope) {
   1251     return This->lpVtbl->get_Scope(This,scope);
   1252 }
   1253 static inline HRESULT INetFwService_put_Scope(INetFwService* This,NET_FW_SCOPE scope) {
   1254     return This->lpVtbl->put_Scope(This,scope);
   1255 }
   1256 static inline HRESULT INetFwService_get_RemoteAddresses(INetFwService* This,BSTR *remoteAddrs) {
   1257     return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
   1258 }
   1259 static inline HRESULT INetFwService_put_RemoteAddresses(INetFwService* This,BSTR remoteAddrs) {
   1260     return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
   1261 }
   1262 static inline HRESULT INetFwService_get_Enabled(INetFwService* This,VARIANT_BOOL *enabled) {
   1263     return This->lpVtbl->get_Enabled(This,enabled);
   1264 }
   1265 static inline HRESULT INetFwService_put_Enabled(INetFwService* This,VARIANT_BOOL enabled) {
   1266     return This->lpVtbl->put_Enabled(This,enabled);
   1267 }
   1268 static inline 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 inline HRESULT INetFwServices_QueryInterface(INetFwServices* This,REFIID riid,void **ppvObject) {
   1389     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1390 }
   1391 static inline ULONG INetFwServices_AddRef(INetFwServices* This) {
   1392     return This->lpVtbl->AddRef(This);
   1393 }
   1394 static inline ULONG INetFwServices_Release(INetFwServices* This) {
   1395     return This->lpVtbl->Release(This);
   1396 }
   1397 /*** IDispatch methods ***/
   1398 static inline HRESULT INetFwServices_GetTypeInfoCount(INetFwServices* This,UINT *pctinfo) {
   1399     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1400 }
   1401 static inline HRESULT INetFwServices_GetTypeInfo(INetFwServices* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1402     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1403 }
   1404 static inline 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 inline 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 inline HRESULT INetFwServices_get_Count(INetFwServices* This,LONG *count) {
   1412     return This->lpVtbl->get_Count(This,count);
   1413 }
   1414 static inline HRESULT INetFwServices_Item(INetFwServices* This,NET_FW_SERVICE_TYPE svcType,INetFwService **service) {
   1415     return This->lpVtbl->Item(This,svcType,service);
   1416 }
   1417 static inline 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 inline HRESULT INetFwAuthorizedApplication_QueryInterface(INetFwAuthorizedApplication* This,REFIID riid,void **ppvObject) {
   1608     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1609 }
   1610 static inline ULONG INetFwAuthorizedApplication_AddRef(INetFwAuthorizedApplication* This) {
   1611     return This->lpVtbl->AddRef(This);
   1612 }
   1613 static inline ULONG INetFwAuthorizedApplication_Release(INetFwAuthorizedApplication* This) {
   1614     return This->lpVtbl->Release(This);
   1615 }
   1616 /*** IDispatch methods ***/
   1617 static inline HRESULT INetFwAuthorizedApplication_GetTypeInfoCount(INetFwAuthorizedApplication* This,UINT *pctinfo) {
   1618     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1619 }
   1620 static inline HRESULT INetFwAuthorizedApplication_GetTypeInfo(INetFwAuthorizedApplication* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1621     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1622 }
   1623 static inline 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 inline 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 inline HRESULT INetFwAuthorizedApplication_get_Name(INetFwAuthorizedApplication* This,BSTR *name) {
   1631     return This->lpVtbl->get_Name(This,name);
   1632 }
   1633 static inline HRESULT INetFwAuthorizedApplication_put_Name(INetFwAuthorizedApplication* This,BSTR name) {
   1634     return This->lpVtbl->put_Name(This,name);
   1635 }
   1636 static inline HRESULT INetFwAuthorizedApplication_get_ProcessImageFileName(INetFwAuthorizedApplication* This,BSTR *imageFileName) {
   1637     return This->lpVtbl->get_ProcessImageFileName(This,imageFileName);
   1638 }
   1639 static inline HRESULT INetFwAuthorizedApplication_put_ProcessImageFileName(INetFwAuthorizedApplication* This,BSTR imageFileName) {
   1640     return This->lpVtbl->put_ProcessImageFileName(This,imageFileName);
   1641 }
   1642 static inline HRESULT INetFwAuthorizedApplication_get_IpVersion(INetFwAuthorizedApplication* This,NET_FW_IP_VERSION *ipVersion) {
   1643     return This->lpVtbl->get_IpVersion(This,ipVersion);
   1644 }
   1645 static inline HRESULT INetFwAuthorizedApplication_put_IpVersion(INetFwAuthorizedApplication* This,NET_FW_IP_VERSION ipVersion) {
   1646     return This->lpVtbl->put_IpVersion(This,ipVersion);
   1647 }
   1648 static inline HRESULT INetFwAuthorizedApplication_get_Scope(INetFwAuthorizedApplication* This,NET_FW_SCOPE *scope) {
   1649     return This->lpVtbl->get_Scope(This,scope);
   1650 }
   1651 static inline HRESULT INetFwAuthorizedApplication_put_Scope(INetFwAuthorizedApplication* This,NET_FW_SCOPE scope) {
   1652     return This->lpVtbl->put_Scope(This,scope);
   1653 }
   1654 static inline HRESULT INetFwAuthorizedApplication_get_RemoteAddresses(INetFwAuthorizedApplication* This,BSTR *remoteAddrs) {
   1655     return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
   1656 }
   1657 static inline HRESULT INetFwAuthorizedApplication_put_RemoteAddresses(INetFwAuthorizedApplication* This,BSTR remoteAddrs) {
   1658     return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
   1659 }
   1660 static inline HRESULT INetFwAuthorizedApplication_get_Enabled(INetFwAuthorizedApplication* This,VARIANT_BOOL *enabled) {
   1661     return This->lpVtbl->get_Enabled(This,enabled);
   1662 }
   1663 static inline 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 inline HRESULT INetFwRemoteAdminSettings_QueryInterface(INetFwRemoteAdminSettings* This,REFIID riid,void **ppvObject) {
   1822     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1823 }
   1824 static inline ULONG INetFwRemoteAdminSettings_AddRef(INetFwRemoteAdminSettings* This) {
   1825     return This->lpVtbl->AddRef(This);
   1826 }
   1827 static inline ULONG INetFwRemoteAdminSettings_Release(INetFwRemoteAdminSettings* This) {
   1828     return This->lpVtbl->Release(This);
   1829 }
   1830 /*** IDispatch methods ***/
   1831 static inline HRESULT INetFwRemoteAdminSettings_GetTypeInfoCount(INetFwRemoteAdminSettings* This,UINT *pctinfo) {
   1832     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1833 }
   1834 static inline HRESULT INetFwRemoteAdminSettings_GetTypeInfo(INetFwRemoteAdminSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1835     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1836 }
   1837 static inline 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 inline 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 inline HRESULT INetFwRemoteAdminSettings_get_IpVersion(INetFwRemoteAdminSettings* This,NET_FW_IP_VERSION *ipVersion) {
   1845     return This->lpVtbl->get_IpVersion(This,ipVersion);
   1846 }
   1847 static inline HRESULT INetFwRemoteAdminSettings_put_IpVersion(INetFwRemoteAdminSettings* This,NET_FW_IP_VERSION ipVersion) {
   1848     return This->lpVtbl->put_IpVersion(This,ipVersion);
   1849 }
   1850 static inline HRESULT INetFwRemoteAdminSettings_get_Scope(INetFwRemoteAdminSettings* This,NET_FW_SCOPE *scope) {
   1851     return This->lpVtbl->get_Scope(This,scope);
   1852 }
   1853 static inline HRESULT INetFwRemoteAdminSettings_put_Scope(INetFwRemoteAdminSettings* This,NET_FW_SCOPE scope) {
   1854     return This->lpVtbl->put_Scope(This,scope);
   1855 }
   1856 static inline HRESULT INetFwRemoteAdminSettings_get_RemoteAddresses(INetFwRemoteAdminSettings* This,BSTR *remoteAddrs) {
   1857     return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
   1858 }
   1859 static inline HRESULT INetFwRemoteAdminSettings_put_RemoteAddresses(INetFwRemoteAdminSettings* This,BSTR remoteAddrs) {
   1860     return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
   1861 }
   1862 static inline HRESULT INetFwRemoteAdminSettings_get_Enabled(INetFwRemoteAdminSettings* This,VARIANT_BOOL *enabled) {
   1863     return This->lpVtbl->get_Enabled(This,enabled);
   1864 }
   1865 static inline 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 inline HRESULT INetFwAuthorizedApplications_QueryInterface(INetFwAuthorizedApplications* This,REFIID riid,void **ppvObject) {
   2002     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2003 }
   2004 static inline ULONG INetFwAuthorizedApplications_AddRef(INetFwAuthorizedApplications* This) {
   2005     return This->lpVtbl->AddRef(This);
   2006 }
   2007 static inline ULONG INetFwAuthorizedApplications_Release(INetFwAuthorizedApplications* This) {
   2008     return This->lpVtbl->Release(This);
   2009 }
   2010 /*** IDispatch methods ***/
   2011 static inline HRESULT INetFwAuthorizedApplications_GetTypeInfoCount(INetFwAuthorizedApplications* This,UINT *pctinfo) {
   2012     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2013 }
   2014 static inline HRESULT INetFwAuthorizedApplications_GetTypeInfo(INetFwAuthorizedApplications* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2015     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2016 }
   2017 static inline 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 inline 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 inline HRESULT INetFwAuthorizedApplications_get_Count(INetFwAuthorizedApplications* This,LONG *count) {
   2025     return This->lpVtbl->get_Count(This,count);
   2026 }
   2027 static inline HRESULT INetFwAuthorizedApplications_Add(INetFwAuthorizedApplications* This,INetFwAuthorizedApplication *app) {
   2028     return This->lpVtbl->Add(This,app);
   2029 }
   2030 static inline HRESULT INetFwAuthorizedApplications_Remove(INetFwAuthorizedApplications* This,BSTR imageFileName) {
   2031     return This->lpVtbl->Remove(This,imageFileName);
   2032 }
   2033 static inline HRESULT INetFwAuthorizedApplications_Item(INetFwAuthorizedApplications* This,BSTR imageFileName,INetFwAuthorizedApplication **app) {
   2034     return This->lpVtbl->Item(This,imageFileName,app);
   2035 }
   2036 static inline 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 inline HRESULT INetFwRule_QueryInterface(INetFwRule* This,REFIID riid,void **ppvObject) {
   2419     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2420 }
   2421 static inline ULONG INetFwRule_AddRef(INetFwRule* This) {
   2422     return This->lpVtbl->AddRef(This);
   2423 }
   2424 static inline ULONG INetFwRule_Release(INetFwRule* This) {
   2425     return This->lpVtbl->Release(This);
   2426 }
   2427 /*** IDispatch methods ***/
   2428 static inline HRESULT INetFwRule_GetTypeInfoCount(INetFwRule* This,UINT *pctinfo) {
   2429     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2430 }
   2431 static inline HRESULT INetFwRule_GetTypeInfo(INetFwRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2432     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2433 }
   2434 static inline 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 inline 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 inline HRESULT INetFwRule_get_Name(INetFwRule* This,BSTR *name) {
   2442     return This->lpVtbl->get_Name(This,name);
   2443 }
   2444 static inline HRESULT INetFwRule_put_Name(INetFwRule* This,BSTR name) {
   2445     return This->lpVtbl->put_Name(This,name);
   2446 }
   2447 static inline HRESULT INetFwRule_get_Description(INetFwRule* This,BSTR *desc) {
   2448     return This->lpVtbl->get_Description(This,desc);
   2449 }
   2450 static inline HRESULT INetFwRule_put_Description(INetFwRule* This,BSTR desc) {
   2451     return This->lpVtbl->put_Description(This,desc);
   2452 }
   2453 static inline HRESULT INetFwRule_get_ApplicationName(INetFwRule* This,BSTR *imagename) {
   2454     return This->lpVtbl->get_ApplicationName(This,imagename);
   2455 }
   2456 static inline HRESULT INetFwRule_put_ApplicationName(INetFwRule* This,BSTR imagename) {
   2457     return This->lpVtbl->put_ApplicationName(This,imagename);
   2458 }
   2459 static inline HRESULT INetFwRule_get_ServiceName(INetFwRule* This,BSTR *service) {
   2460     return This->lpVtbl->get_ServiceName(This,service);
   2461 }
   2462 static inline HRESULT INetFwRule_put_ServiceName(INetFwRule* This,BSTR service) {
   2463     return This->lpVtbl->put_ServiceName(This,service);
   2464 }
   2465 static inline HRESULT INetFwRule_get_Protocol(INetFwRule* This,LONG *protocol) {
   2466     return This->lpVtbl->get_Protocol(This,protocol);
   2467 }
   2468 static inline HRESULT INetFwRule_put_Protocol(INetFwRule* This,LONG protocol) {
   2469     return This->lpVtbl->put_Protocol(This,protocol);
   2470 }
   2471 static inline HRESULT INetFwRule_get_LocalPorts(INetFwRule* This,BSTR *ports) {
   2472     return This->lpVtbl->get_LocalPorts(This,ports);
   2473 }
   2474 static inline HRESULT INetFwRule_put_LocalPorts(INetFwRule* This,BSTR ports) {
   2475     return This->lpVtbl->put_LocalPorts(This,ports);
   2476 }
   2477 static inline HRESULT INetFwRule_get_RemotePorts(INetFwRule* This,BSTR *ports) {
   2478     return This->lpVtbl->get_RemotePorts(This,ports);
   2479 }
   2480 static inline HRESULT INetFwRule_put_RemotePorts(INetFwRule* This,BSTR ports) {
   2481     return This->lpVtbl->put_RemotePorts(This,ports);
   2482 }
   2483 static inline HRESULT INetFwRule_get_LocalAddresses(INetFwRule* This,BSTR *address) {
   2484     return This->lpVtbl->get_LocalAddresses(This,address);
   2485 }
   2486 static inline HRESULT INetFwRule_put_LocalAddresses(INetFwRule* This,BSTR address) {
   2487     return This->lpVtbl->put_LocalAddresses(This,address);
   2488 }
   2489 static inline HRESULT INetFwRule_get_RemoteAddresses(INetFwRule* This,BSTR *address) {
   2490     return This->lpVtbl->get_RemoteAddresses(This,address);
   2491 }
   2492 static inline HRESULT INetFwRule_put_RemoteAddresses(INetFwRule* This,BSTR address) {
   2493     return This->lpVtbl->put_RemoteAddresses(This,address);
   2494 }
   2495 static inline HRESULT INetFwRule_get_IcmpTypesAndCodes(INetFwRule* This,BSTR *codes) {
   2496     return This->lpVtbl->get_IcmpTypesAndCodes(This,codes);
   2497 }
   2498 static inline HRESULT INetFwRule_put_IcmpTypesAndCodes(INetFwRule* This,BSTR codes) {
   2499     return This->lpVtbl->put_IcmpTypesAndCodes(This,codes);
   2500 }
   2501 static inline HRESULT INetFwRule_get_Direction(INetFwRule* This,NET_FW_RULE_DIRECTION *dir) {
   2502     return This->lpVtbl->get_Direction(This,dir);
   2503 }
   2504 static inline HRESULT INetFwRule_put_Direction(INetFwRule* This,NET_FW_RULE_DIRECTION dir) {
   2505     return This->lpVtbl->put_Direction(This,dir);
   2506 }
   2507 static inline HRESULT INetFwRule_get_Interfaces(INetFwRule* This,VARIANT *interfaces) {
   2508     return This->lpVtbl->get_Interfaces(This,interfaces);
   2509 }
   2510 static inline HRESULT INetFwRule_put_Interfaces(INetFwRule* This,VARIANT interfaces) {
   2511     return This->lpVtbl->put_Interfaces(This,interfaces);
   2512 }
   2513 static inline HRESULT INetFwRule_get_InterfaceTypes(INetFwRule* This,BSTR *types) {
   2514     return This->lpVtbl->get_InterfaceTypes(This,types);
   2515 }
   2516 static inline HRESULT INetFwRule_put_InterfaceTypes(INetFwRule* This,BSTR types) {
   2517     return This->lpVtbl->put_InterfaceTypes(This,types);
   2518 }
   2519 static inline HRESULT INetFwRule_get_Enabled(INetFwRule* This,VARIANT_BOOL *enabled) {
   2520     return This->lpVtbl->get_Enabled(This,enabled);
   2521 }
   2522 static inline HRESULT INetFwRule_put_Enabled(INetFwRule* This,VARIANT_BOOL enabled) {
   2523     return This->lpVtbl->put_Enabled(This,enabled);
   2524 }
   2525 static inline HRESULT INetFwRule_get_Grouping(INetFwRule* This,BSTR *context) {
   2526     return This->lpVtbl->get_Grouping(This,context);
   2527 }
   2528 static inline HRESULT INetFwRule_put_Grouping(INetFwRule* This,BSTR context) {
   2529     return This->lpVtbl->put_Grouping(This,context);
   2530 }
   2531 static inline HRESULT INetFwRule_get_Profiles(INetFwRule* This,LONG *profiles) {
   2532     return This->lpVtbl->get_Profiles(This,profiles);
   2533 }
   2534 static inline HRESULT INetFwRule_put_Profiles(INetFwRule* This,LONG profiles) {
   2535     return This->lpVtbl->put_Profiles(This,profiles);
   2536 }
   2537 static inline HRESULT INetFwRule_get_EdgeTraversal(INetFwRule* This,VARIANT_BOOL *enabled) {
   2538     return This->lpVtbl->get_EdgeTraversal(This,enabled);
   2539 }
   2540 static inline HRESULT INetFwRule_put_EdgeTraversal(INetFwRule* This,VARIANT_BOOL enabled) {
   2541     return This->lpVtbl->put_EdgeTraversal(This,enabled);
   2542 }
   2543 static inline HRESULT INetFwRule_get_Action(INetFwRule* This,NET_FW_ACTION *action) {
   2544     return This->lpVtbl->get_Action(This,action);
   2545 }
   2546 static inline 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 inline HRESULT INetFwRule2_QueryInterface(INetFwRule2* This,REFIID riid,void **ppvObject) {
   2839     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2840 }
   2841 static inline ULONG INetFwRule2_AddRef(INetFwRule2* This) {
   2842     return This->lpVtbl->AddRef(This);
   2843 }
   2844 static inline ULONG INetFwRule2_Release(INetFwRule2* This) {
   2845     return This->lpVtbl->Release(This);
   2846 }
   2847 /*** IDispatch methods ***/
   2848 static inline HRESULT INetFwRule2_GetTypeInfoCount(INetFwRule2* This,UINT *pctinfo) {
   2849     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2850 }
   2851 static inline HRESULT INetFwRule2_GetTypeInfo(INetFwRule2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2852     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2853 }
   2854 static inline 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 inline 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 inline HRESULT INetFwRule2_get_Name(INetFwRule2* This,BSTR *name) {
   2862     return This->lpVtbl->get_Name(This,name);
   2863 }
   2864 static inline HRESULT INetFwRule2_put_Name(INetFwRule2* This,BSTR name) {
   2865     return This->lpVtbl->put_Name(This,name);
   2866 }
   2867 static inline HRESULT INetFwRule2_get_Description(INetFwRule2* This,BSTR *desc) {
   2868     return This->lpVtbl->get_Description(This,desc);
   2869 }
   2870 static inline HRESULT INetFwRule2_put_Description(INetFwRule2* This,BSTR desc) {
   2871     return This->lpVtbl->put_Description(This,desc);
   2872 }
   2873 static inline HRESULT INetFwRule2_get_ApplicationName(INetFwRule2* This,BSTR *imagename) {
   2874     return This->lpVtbl->get_ApplicationName(This,imagename);
   2875 }
   2876 static inline HRESULT INetFwRule2_put_ApplicationName(INetFwRule2* This,BSTR imagename) {
   2877     return This->lpVtbl->put_ApplicationName(This,imagename);
   2878 }
   2879 static inline HRESULT INetFwRule2_get_ServiceName(INetFwRule2* This,BSTR *service) {
   2880     return This->lpVtbl->get_ServiceName(This,service);
   2881 }
   2882 static inline HRESULT INetFwRule2_put_ServiceName(INetFwRule2* This,BSTR service) {
   2883     return This->lpVtbl->put_ServiceName(This,service);
   2884 }
   2885 static inline HRESULT INetFwRule2_get_Protocol(INetFwRule2* This,LONG *protocol) {
   2886     return This->lpVtbl->get_Protocol(This,protocol);
   2887 }
   2888 static inline HRESULT INetFwRule2_put_Protocol(INetFwRule2* This,LONG protocol) {
   2889     return This->lpVtbl->put_Protocol(This,protocol);
   2890 }
   2891 static inline HRESULT INetFwRule2_get_LocalPorts(INetFwRule2* This,BSTR *ports) {
   2892     return This->lpVtbl->get_LocalPorts(This,ports);
   2893 }
   2894 static inline HRESULT INetFwRule2_put_LocalPorts(INetFwRule2* This,BSTR ports) {
   2895     return This->lpVtbl->put_LocalPorts(This,ports);
   2896 }
   2897 static inline HRESULT INetFwRule2_get_RemotePorts(INetFwRule2* This,BSTR *ports) {
   2898     return This->lpVtbl->get_RemotePorts(This,ports);
   2899 }
   2900 static inline HRESULT INetFwRule2_put_RemotePorts(INetFwRule2* This,BSTR ports) {
   2901     return This->lpVtbl->put_RemotePorts(This,ports);
   2902 }
   2903 static inline HRESULT INetFwRule2_get_LocalAddresses(INetFwRule2* This,BSTR *address) {
   2904     return This->lpVtbl->get_LocalAddresses(This,address);
   2905 }
   2906 static inline HRESULT INetFwRule2_put_LocalAddresses(INetFwRule2* This,BSTR address) {
   2907     return This->lpVtbl->put_LocalAddresses(This,address);
   2908 }
   2909 static inline HRESULT INetFwRule2_get_RemoteAddresses(INetFwRule2* This,BSTR *address) {
   2910     return This->lpVtbl->get_RemoteAddresses(This,address);
   2911 }
   2912 static inline HRESULT INetFwRule2_put_RemoteAddresses(INetFwRule2* This,BSTR address) {
   2913     return This->lpVtbl->put_RemoteAddresses(This,address);
   2914 }
   2915 static inline HRESULT INetFwRule2_get_IcmpTypesAndCodes(INetFwRule2* This,BSTR *codes) {
   2916     return This->lpVtbl->get_IcmpTypesAndCodes(This,codes);
   2917 }
   2918 static inline HRESULT INetFwRule2_put_IcmpTypesAndCodes(INetFwRule2* This,BSTR codes) {
   2919     return This->lpVtbl->put_IcmpTypesAndCodes(This,codes);
   2920 }
   2921 static inline HRESULT INetFwRule2_get_Direction(INetFwRule2* This,NET_FW_RULE_DIRECTION *dir) {
   2922     return This->lpVtbl->get_Direction(This,dir);
   2923 }
   2924 static inline HRESULT INetFwRule2_put_Direction(INetFwRule2* This,NET_FW_RULE_DIRECTION dir) {
   2925     return This->lpVtbl->put_Direction(This,dir);
   2926 }
   2927 static inline HRESULT INetFwRule2_get_Interfaces(INetFwRule2* This,VARIANT *interfaces) {
   2928     return This->lpVtbl->get_Interfaces(This,interfaces);
   2929 }
   2930 static inline HRESULT INetFwRule2_put_Interfaces(INetFwRule2* This,VARIANT interfaces) {
   2931     return This->lpVtbl->put_Interfaces(This,interfaces);
   2932 }
   2933 static inline HRESULT INetFwRule2_get_InterfaceTypes(INetFwRule2* This,BSTR *types) {
   2934     return This->lpVtbl->get_InterfaceTypes(This,types);
   2935 }
   2936 static inline HRESULT INetFwRule2_put_InterfaceTypes(INetFwRule2* This,BSTR types) {
   2937     return This->lpVtbl->put_InterfaceTypes(This,types);
   2938 }
   2939 static inline HRESULT INetFwRule2_get_Enabled(INetFwRule2* This,VARIANT_BOOL *enabled) {
   2940     return This->lpVtbl->get_Enabled(This,enabled);
   2941 }
   2942 static inline HRESULT INetFwRule2_put_Enabled(INetFwRule2* This,VARIANT_BOOL enabled) {
   2943     return This->lpVtbl->put_Enabled(This,enabled);
   2944 }
   2945 static inline HRESULT INetFwRule2_get_Grouping(INetFwRule2* This,BSTR *context) {
   2946     return This->lpVtbl->get_Grouping(This,context);
   2947 }
   2948 static inline HRESULT INetFwRule2_put_Grouping(INetFwRule2* This,BSTR context) {
   2949     return This->lpVtbl->put_Grouping(This,context);
   2950 }
   2951 static inline HRESULT INetFwRule2_get_Profiles(INetFwRule2* This,LONG *profiles) {
   2952     return This->lpVtbl->get_Profiles(This,profiles);
   2953 }
   2954 static inline HRESULT INetFwRule2_put_Profiles(INetFwRule2* This,LONG profiles) {
   2955     return This->lpVtbl->put_Profiles(This,profiles);
   2956 }
   2957 static inline HRESULT INetFwRule2_get_EdgeTraversal(INetFwRule2* This,VARIANT_BOOL *enabled) {
   2958     return This->lpVtbl->get_EdgeTraversal(This,enabled);
   2959 }
   2960 static inline HRESULT INetFwRule2_put_EdgeTraversal(INetFwRule2* This,VARIANT_BOOL enabled) {
   2961     return This->lpVtbl->put_EdgeTraversal(This,enabled);
   2962 }
   2963 static inline HRESULT INetFwRule2_get_Action(INetFwRule2* This,NET_FW_ACTION *action) {
   2964     return This->lpVtbl->get_Action(This,action);
   2965 }
   2966 static inline HRESULT INetFwRule2_put_Action(INetFwRule2* This,NET_FW_ACTION action) {
   2967     return This->lpVtbl->put_Action(This,action);
   2968 }
   2969 /*** INetFwRule2 methods ***/
   2970 static inline HRESULT INetFwRule2_get_EdgeTraversalOptions(INetFwRule2* This,LONG *lOptions) {
   2971     return This->lpVtbl->get_EdgeTraversalOptions(This,lOptions);
   2972 }
   2973 static inline 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 inline HRESULT INetFwRule3_QueryInterface(INetFwRule3* This,REFIID riid,void **ppvObject) {
   3358     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3359 }
   3360 static inline ULONG INetFwRule3_AddRef(INetFwRule3* This) {
   3361     return This->lpVtbl->AddRef(This);
   3362 }
   3363 static inline ULONG INetFwRule3_Release(INetFwRule3* This) {
   3364     return This->lpVtbl->Release(This);
   3365 }
   3366 /*** IDispatch methods ***/
   3367 static inline HRESULT INetFwRule3_GetTypeInfoCount(INetFwRule3* This,UINT *pctinfo) {
   3368     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3369 }
   3370 static inline HRESULT INetFwRule3_GetTypeInfo(INetFwRule3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3371     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3372 }
   3373 static inline 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 inline 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 inline HRESULT INetFwRule3_get_Name(INetFwRule3* This,BSTR *name) {
   3381     return This->lpVtbl->get_Name(This,name);
   3382 }
   3383 static inline HRESULT INetFwRule3_put_Name(INetFwRule3* This,BSTR name) {
   3384     return This->lpVtbl->put_Name(This,name);
   3385 }
   3386 static inline HRESULT INetFwRule3_get_Description(INetFwRule3* This,BSTR *desc) {
   3387     return This->lpVtbl->get_Description(This,desc);
   3388 }
   3389 static inline HRESULT INetFwRule3_put_Description(INetFwRule3* This,BSTR desc) {
   3390     return This->lpVtbl->put_Description(This,desc);
   3391 }
   3392 static inline HRESULT INetFwRule3_get_ApplicationName(INetFwRule3* This,BSTR *imagename) {
   3393     return This->lpVtbl->get_ApplicationName(This,imagename);
   3394 }
   3395 static inline HRESULT INetFwRule3_put_ApplicationName(INetFwRule3* This,BSTR imagename) {
   3396     return This->lpVtbl->put_ApplicationName(This,imagename);
   3397 }
   3398 static inline HRESULT INetFwRule3_get_ServiceName(INetFwRule3* This,BSTR *service) {
   3399     return This->lpVtbl->get_ServiceName(This,service);
   3400 }
   3401 static inline HRESULT INetFwRule3_put_ServiceName(INetFwRule3* This,BSTR service) {
   3402     return This->lpVtbl->put_ServiceName(This,service);
   3403 }
   3404 static inline HRESULT INetFwRule3_get_Protocol(INetFwRule3* This,LONG *protocol) {
   3405     return This->lpVtbl->get_Protocol(This,protocol);
   3406 }
   3407 static inline HRESULT INetFwRule3_put_Protocol(INetFwRule3* This,LONG protocol) {
   3408     return This->lpVtbl->put_Protocol(This,protocol);
   3409 }
   3410 static inline HRESULT INetFwRule3_get_LocalPorts(INetFwRule3* This,BSTR *ports) {
   3411     return This->lpVtbl->get_LocalPorts(This,ports);
   3412 }
   3413 static inline HRESULT INetFwRule3_put_LocalPorts(INetFwRule3* This,BSTR ports) {
   3414     return This->lpVtbl->put_LocalPorts(This,ports);
   3415 }
   3416 static inline HRESULT INetFwRule3_get_RemotePorts(INetFwRule3* This,BSTR *ports) {
   3417     return This->lpVtbl->get_RemotePorts(This,ports);
   3418 }
   3419 static inline HRESULT INetFwRule3_put_RemotePorts(INetFwRule3* This,BSTR ports) {
   3420     return This->lpVtbl->put_RemotePorts(This,ports);
   3421 }
   3422 static inline HRESULT INetFwRule3_get_LocalAddresses(INetFwRule3* This,BSTR *address) {
   3423     return This->lpVtbl->get_LocalAddresses(This,address);
   3424 }
   3425 static inline HRESULT INetFwRule3_put_LocalAddresses(INetFwRule3* This,BSTR address) {
   3426     return This->lpVtbl->put_LocalAddresses(This,address);
   3427 }
   3428 static inline HRESULT INetFwRule3_get_RemoteAddresses(INetFwRule3* This,BSTR *address) {
   3429     return This->lpVtbl->get_RemoteAddresses(This,address);
   3430 }
   3431 static inline HRESULT INetFwRule3_put_RemoteAddresses(INetFwRule3* This,BSTR address) {
   3432     return This->lpVtbl->put_RemoteAddresses(This,address);
   3433 }
   3434 static inline HRESULT INetFwRule3_get_IcmpTypesAndCodes(INetFwRule3* This,BSTR *codes) {
   3435     return This->lpVtbl->get_IcmpTypesAndCodes(This,codes);
   3436 }
   3437 static inline HRESULT INetFwRule3_put_IcmpTypesAndCodes(INetFwRule3* This,BSTR codes) {
   3438     return This->lpVtbl->put_IcmpTypesAndCodes(This,codes);
   3439 }
   3440 static inline HRESULT INetFwRule3_get_Direction(INetFwRule3* This,NET_FW_RULE_DIRECTION *dir) {
   3441     return This->lpVtbl->get_Direction(This,dir);
   3442 }
   3443 static inline HRESULT INetFwRule3_put_Direction(INetFwRule3* This,NET_FW_RULE_DIRECTION dir) {
   3444     return This->lpVtbl->put_Direction(This,dir);
   3445 }
   3446 static inline HRESULT INetFwRule3_get_Interfaces(INetFwRule3* This,VARIANT *interfaces) {
   3447     return This->lpVtbl->get_Interfaces(This,interfaces);
   3448 }
   3449 static inline HRESULT INetFwRule3_put_Interfaces(INetFwRule3* This,VARIANT interfaces) {
   3450     return This->lpVtbl->put_Interfaces(This,interfaces);
   3451 }
   3452 static inline HRESULT INetFwRule3_get_InterfaceTypes(INetFwRule3* This,BSTR *types) {
   3453     return This->lpVtbl->get_InterfaceTypes(This,types);
   3454 }
   3455 static inline HRESULT INetFwRule3_put_InterfaceTypes(INetFwRule3* This,BSTR types) {
   3456     return This->lpVtbl->put_InterfaceTypes(This,types);
   3457 }
   3458 static inline HRESULT INetFwRule3_get_Enabled(INetFwRule3* This,VARIANT_BOOL *enabled) {
   3459     return This->lpVtbl->get_Enabled(This,enabled);
   3460 }
   3461 static inline HRESULT INetFwRule3_put_Enabled(INetFwRule3* This,VARIANT_BOOL enabled) {
   3462     return This->lpVtbl->put_Enabled(This,enabled);
   3463 }
   3464 static inline HRESULT INetFwRule3_get_Grouping(INetFwRule3* This,BSTR *context) {
   3465     return This->lpVtbl->get_Grouping(This,context);
   3466 }
   3467 static inline HRESULT INetFwRule3_put_Grouping(INetFwRule3* This,BSTR context) {
   3468     return This->lpVtbl->put_Grouping(This,context);
   3469 }
   3470 static inline HRESULT INetFwRule3_get_Profiles(INetFwRule3* This,LONG *profiles) {
   3471     return This->lpVtbl->get_Profiles(This,profiles);
   3472 }
   3473 static inline HRESULT INetFwRule3_put_Profiles(INetFwRule3* This,LONG profiles) {
   3474     return This->lpVtbl->put_Profiles(This,profiles);
   3475 }
   3476 static inline HRESULT INetFwRule3_get_EdgeTraversal(INetFwRule3* This,VARIANT_BOOL *enabled) {
   3477     return This->lpVtbl->get_EdgeTraversal(This,enabled);
   3478 }
   3479 static inline HRESULT INetFwRule3_put_EdgeTraversal(INetFwRule3* This,VARIANT_BOOL enabled) {
   3480     return This->lpVtbl->put_EdgeTraversal(This,enabled);
   3481 }
   3482 static inline HRESULT INetFwRule3_get_Action(INetFwRule3* This,NET_FW_ACTION *action) {
   3483     return This->lpVtbl->get_Action(This,action);
   3484 }
   3485 static inline HRESULT INetFwRule3_put_Action(INetFwRule3* This,NET_FW_ACTION action) {
   3486     return This->lpVtbl->put_Action(This,action);
   3487 }
   3488 /*** INetFwRule2 methods ***/
   3489 static inline HRESULT INetFwRule3_get_EdgeTraversalOptions(INetFwRule3* This,LONG *lOptions) {
   3490     return This->lpVtbl->get_EdgeTraversalOptions(This,lOptions);
   3491 }
   3492 static inline HRESULT INetFwRule3_put_EdgeTraversalOptions(INetFwRule3* This,LONG lOptions) {
   3493     return This->lpVtbl->put_EdgeTraversalOptions(This,lOptions);
   3494 }
   3495 /*** INetFwRule3 methods ***/
   3496 static inline HRESULT INetFwRule3_get_LocalAppPackageId(INetFwRule3* This,BSTR *wszPackageId) {
   3497     return This->lpVtbl->get_LocalAppPackageId(This,wszPackageId);
   3498 }
   3499 static inline HRESULT INetFwRule3_put_LocalAppPackageId(INetFwRule3* This,BSTR wszPackageId) {
   3500     return This->lpVtbl->put_LocalAppPackageId(This,wszPackageId);
   3501 }
   3502 static inline HRESULT INetFwRule3_get_LocalUserOwner(INetFwRule3* This,BSTR *wszUserOwner) {
   3503     return This->lpVtbl->get_LocalUserOwner(This,wszUserOwner);
   3504 }
   3505 static inline HRESULT INetFwRule3_put_LocalUserOwner(INetFwRule3* This,BSTR wszUserOwner) {
   3506     return This->lpVtbl->put_LocalUserOwner(This,wszUserOwner);
   3507 }
   3508 static inline HRESULT INetFwRule3_get_LocalUserAuthorizedList(INetFwRule3* This,BSTR *wszUserAuthList) {
   3509     return This->lpVtbl->get_LocalUserAuthorizedList(This,wszUserAuthList);
   3510 }
   3511 static inline HRESULT INetFwRule3_put_LocalUserAuthorizedList(INetFwRule3* This,BSTR wszUserAuthList) {
   3512     return This->lpVtbl->put_LocalUserAuthorizedList(This,wszUserAuthList);
   3513 }
   3514 static inline HRESULT INetFwRule3_get_RemoteUserAuthorizedList(INetFwRule3* This,BSTR *wszUserAuthList) {
   3515     return This->lpVtbl->get_RemoteUserAuthorizedList(This,wszUserAuthList);
   3516 }
   3517 static inline HRESULT INetFwRule3_put_RemoteUserAuthorizedList(INetFwRule3* This,BSTR wszUserAuthList) {
   3518     return This->lpVtbl->put_RemoteUserAuthorizedList(This,wszUserAuthList);
   3519 }
   3520 static inline HRESULT INetFwRule3_get_RemoteMachineAuthorizedList(INetFwRule3* This,BSTR *wszUserAuthList) {
   3521     return This->lpVtbl->get_RemoteMachineAuthorizedList(This,wszUserAuthList);
   3522 }
   3523 static inline HRESULT INetFwRule3_put_RemoteMachineAuthorizedList(INetFwRule3* This,BSTR wszUserAuthList) {
   3524     return This->lpVtbl->put_RemoteMachineAuthorizedList(This,wszUserAuthList);
   3525 }
   3526 static inline HRESULT INetFwRule3_get_SecureFlags(INetFwRule3* This,LONG *lOptions) {
   3527     return This->lpVtbl->get_SecureFlags(This,lOptions);
   3528 }
   3529 static inline 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 inline HRESULT INetFwRules_QueryInterface(INetFwRules* This,REFIID riid,void **ppvObject) {
   3666     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3667 }
   3668 static inline ULONG INetFwRules_AddRef(INetFwRules* This) {
   3669     return This->lpVtbl->AddRef(This);
   3670 }
   3671 static inline ULONG INetFwRules_Release(INetFwRules* This) {
   3672     return This->lpVtbl->Release(This);
   3673 }
   3674 /*** IDispatch methods ***/
   3675 static inline HRESULT INetFwRules_GetTypeInfoCount(INetFwRules* This,UINT *pctinfo) {
   3676     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3677 }
   3678 static inline HRESULT INetFwRules_GetTypeInfo(INetFwRules* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3679     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3680 }
   3681 static inline 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 inline 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 inline HRESULT INetFwRules_get_Count(INetFwRules* This,LONG *count) {
   3689     return This->lpVtbl->get_Count(This,count);
   3690 }
   3691 static inline HRESULT INetFwRules_Add(INetFwRules* This,INetFwRule *rule) {
   3692     return This->lpVtbl->Add(This,rule);
   3693 }
   3694 static inline HRESULT INetFwRules_Remove(INetFwRules* This,BSTR name) {
   3695     return This->lpVtbl->Remove(This,name);
   3696 }
   3697 static inline HRESULT INetFwRules_Item(INetFwRules* This,BSTR name,INetFwRule **rule) {
   3698     return This->lpVtbl->Item(This,name,rule);
   3699 }
   3700 static inline 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 inline HRESULT INetFwServiceRestriction_QueryInterface(INetFwServiceRestriction* This,REFIID riid,void **ppvObject) {
   3829     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3830 }
   3831 static inline ULONG INetFwServiceRestriction_AddRef(INetFwServiceRestriction* This) {
   3832     return This->lpVtbl->AddRef(This);
   3833 }
   3834 static inline ULONG INetFwServiceRestriction_Release(INetFwServiceRestriction* This) {
   3835     return This->lpVtbl->Release(This);
   3836 }
   3837 /*** IDispatch methods ***/
   3838 static inline HRESULT INetFwServiceRestriction_GetTypeInfoCount(INetFwServiceRestriction* This,UINT *pctinfo) {
   3839     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3840 }
   3841 static inline HRESULT INetFwServiceRestriction_GetTypeInfo(INetFwServiceRestriction* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3842     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3843 }
   3844 static inline 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 inline 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 inline 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 inline HRESULT INetFwServiceRestriction_ServiceRestricted(INetFwServiceRestriction* This,BSTR serviceName,BSTR appName,VARIANT_BOOL *serviceRestricted) {
   3855     return This->lpVtbl->ServiceRestricted(This,serviceName,appName,serviceRestricted);
   3856 }
   3857 static inline 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 inline HRESULT INetFwProfile_QueryInterface(INetFwProfile* This,REFIID riid,void **ppvObject) {
   4064     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4065 }
   4066 static inline ULONG INetFwProfile_AddRef(INetFwProfile* This) {
   4067     return This->lpVtbl->AddRef(This);
   4068 }
   4069 static inline ULONG INetFwProfile_Release(INetFwProfile* This) {
   4070     return This->lpVtbl->Release(This);
   4071 }
   4072 /*** IDispatch methods ***/
   4073 static inline HRESULT INetFwProfile_GetTypeInfoCount(INetFwProfile* This,UINT *pctinfo) {
   4074     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4075 }
   4076 static inline HRESULT INetFwProfile_GetTypeInfo(INetFwProfile* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4077     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4078 }
   4079 static inline 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 inline 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 inline HRESULT INetFwProfile_get_Type(INetFwProfile* This,NET_FW_PROFILE_TYPE *type) {
   4087     return This->lpVtbl->get_Type(This,type);
   4088 }
   4089 static inline HRESULT INetFwProfile_get_FirewallEnabled(INetFwProfile* This,VARIANT_BOOL *enabled) {
   4090     return This->lpVtbl->get_FirewallEnabled(This,enabled);
   4091 }
   4092 static inline HRESULT INetFwProfile_put_FirewallEnabled(INetFwProfile* This,VARIANT_BOOL enabled) {
   4093     return This->lpVtbl->put_FirewallEnabled(This,enabled);
   4094 }
   4095 static inline HRESULT INetFwProfile_get_ExceptionsNotAllowed(INetFwProfile* This,VARIANT_BOOL *notAllowed) {
   4096     return This->lpVtbl->get_ExceptionsNotAllowed(This,notAllowed);
   4097 }
   4098 static inline HRESULT INetFwProfile_put_ExceptionsNotAllowed(INetFwProfile* This,VARIANT_BOOL notAllowed) {
   4099     return This->lpVtbl->put_ExceptionsNotAllowed(This,notAllowed);
   4100 }
   4101 static inline HRESULT INetFwProfile_get_NotificationsDisabled(INetFwProfile* This,VARIANT_BOOL *disabled) {
   4102     return This->lpVtbl->get_NotificationsDisabled(This,disabled);
   4103 }
   4104 static inline HRESULT INetFwProfile_put_NotificationsDisabled(INetFwProfile* This,VARIANT_BOOL disabled) {
   4105     return This->lpVtbl->put_NotificationsDisabled(This,disabled);
   4106 }
   4107 static inline HRESULT INetFwProfile_get_UnicastResponsesToMulticastBroadcastDisabled(INetFwProfile* This,VARIANT_BOOL *disabled) {
   4108     return This->lpVtbl->get_UnicastResponsesToMulticastBroadcastDisabled(This,disabled);
   4109 }
   4110 static inline HRESULT INetFwProfile_put_UnicastResponsesToMulticastBroadcastDisabled(INetFwProfile* This,VARIANT_BOOL disabled) {
   4111     return This->lpVtbl->put_UnicastResponsesToMulticastBroadcastDisabled(This,disabled);
   4112 }
   4113 static inline HRESULT INetFwProfile_get_RemoteAdminSettings(INetFwProfile* This,INetFwRemoteAdminSettings **remoteAdminSettings) {
   4114     return This->lpVtbl->get_RemoteAdminSettings(This,remoteAdminSettings);
   4115 }
   4116 static inline HRESULT INetFwProfile_get_IcmpSettings(INetFwProfile* This,INetFwIcmpSettings **icmpSettings) {
   4117     return This->lpVtbl->get_IcmpSettings(This,icmpSettings);
   4118 }
   4119 static inline HRESULT INetFwProfile_get_GloballyOpenPorts(INetFwProfile* This,INetFwOpenPorts **openPorts) {
   4120     return This->lpVtbl->get_GloballyOpenPorts(This,openPorts);
   4121 }
   4122 static inline HRESULT INetFwProfile_get_Services(INetFwProfile* This,INetFwServices **services) {
   4123     return This->lpVtbl->get_Services(This,services);
   4124 }
   4125 static inline 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 inline HRESULT INetFwPolicy_QueryInterface(INetFwPolicy* This,REFIID riid,void **ppvObject) {
   4238     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4239 }
   4240 static inline ULONG INetFwPolicy_AddRef(INetFwPolicy* This) {
   4241     return This->lpVtbl->AddRef(This);
   4242 }
   4243 static inline ULONG INetFwPolicy_Release(INetFwPolicy* This) {
   4244     return This->lpVtbl->Release(This);
   4245 }
   4246 /*** IDispatch methods ***/
   4247 static inline HRESULT INetFwPolicy_GetTypeInfoCount(INetFwPolicy* This,UINT *pctinfo) {
   4248     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4249 }
   4250 static inline HRESULT INetFwPolicy_GetTypeInfo(INetFwPolicy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4251     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4252 }
   4253 static inline 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 inline 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 inline HRESULT INetFwPolicy_get_CurrentProfile(INetFwPolicy* This,INetFwProfile **profile) {
   4261     return This->lpVtbl->get_CurrentProfile(This,profile);
   4262 }
   4263 static inline 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 inline HRESULT INetFwPolicy2_QueryInterface(INetFwPolicy2* This,REFIID riid,void **ppvObject) {
   4571     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4572 }
   4573 static inline ULONG INetFwPolicy2_AddRef(INetFwPolicy2* This) {
   4574     return This->lpVtbl->AddRef(This);
   4575 }
   4576 static inline ULONG INetFwPolicy2_Release(INetFwPolicy2* This) {
   4577     return This->lpVtbl->Release(This);
   4578 }
   4579 /*** IDispatch methods ***/
   4580 static inline HRESULT INetFwPolicy2_GetTypeInfoCount(INetFwPolicy2* This,UINT *pctinfo) {
   4581     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4582 }
   4583 static inline HRESULT INetFwPolicy2_GetTypeInfo(INetFwPolicy2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4584     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4585 }
   4586 static inline 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 inline 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 inline HRESULT INetFwPolicy2_get_CurrentProfileTypes(INetFwPolicy2* This,LONG *profile) {
   4594     return This->lpVtbl->get_CurrentProfileTypes(This,profile);
   4595 }
   4596 static inline 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 inline 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 inline 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 inline 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 inline 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 inline 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 inline 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 inline 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 inline 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 inline 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 inline HRESULT INetFwPolicy2_get_Rules(INetFwPolicy2* This,INetFwRules **rules) {
   4627     return This->lpVtbl->get_Rules(This,rules);
   4628 }
   4629 static inline HRESULT INetFwPolicy2_get_ServiceRestriction(INetFwPolicy2* This,INetFwServiceRestriction **ServiceRestriction) {
   4630     return This->lpVtbl->get_ServiceRestriction(This,ServiceRestriction);
   4631 }
   4632 static inline HRESULT INetFwPolicy2_EnableRuleGroup(INetFwPolicy2* This,LONG profileTypesBitmask,BSTR group,VARIANT_BOOL enable) {
   4633     return This->lpVtbl->EnableRuleGroup(This,profileTypesBitmask,group,enable);
   4634 }
   4635 static inline HRESULT INetFwPolicy2_IsRuleGroupEnabled(INetFwPolicy2* This,LONG profileTypesBitmask,BSTR group,VARIANT_BOOL *enabled) {
   4636     return This->lpVtbl->IsRuleGroupEnabled(This,profileTypesBitmask,group,enabled);
   4637 }
   4638 static inline HRESULT INetFwPolicy2_RestoreLocalFirewallDefaults(INetFwPolicy2* This) {
   4639     return This->lpVtbl->RestoreLocalFirewallDefaults(This);
   4640 }
   4641 static inline 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 inline 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 inline 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 inline 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 inline HRESULT INetFwPolicy2_get_IsRuleGroupCurrentlyEnabled(INetFwPolicy2* This,BSTR group,VARIANT_BOOL *enabled) {
   4654     return This->lpVtbl->get_IsRuleGroupCurrentlyEnabled(This,group,enabled);
   4655 }
   4656 static inline 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 inline HRESULT INetFwMgr_QueryInterface(INetFwMgr* This,REFIID riid,void **ppvObject) {
   4810     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4811 }
   4812 static inline ULONG INetFwMgr_AddRef(INetFwMgr* This) {
   4813     return This->lpVtbl->AddRef(This);
   4814 }
   4815 static inline ULONG INetFwMgr_Release(INetFwMgr* This) {
   4816     return This->lpVtbl->Release(This);
   4817 }
   4818 /*** IDispatch methods ***/
   4819 static inline HRESULT INetFwMgr_GetTypeInfoCount(INetFwMgr* This,UINT *pctinfo) {
   4820     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4821 }
   4822 static inline HRESULT INetFwMgr_GetTypeInfo(INetFwMgr* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4823     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4824 }
   4825 static inline 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 inline 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 inline HRESULT INetFwMgr_get_LocalPolicy(INetFwMgr* This,INetFwPolicy **localPolicy) {
   4833     return This->lpVtbl->get_LocalPolicy(This,localPolicy);
   4834 }
   4835 static inline HRESULT INetFwMgr_get_CurrentProfileType(INetFwMgr* This,NET_FW_PROFILE_TYPE *profileType) {
   4836     return This->lpVtbl->get_CurrentProfileType(This,profileType);
   4837 }
   4838 static inline HRESULT INetFwMgr_RestoreDefaults(INetFwMgr* This) {
   4839     return This->lpVtbl->RestoreDefaults(This);
   4840 }
   4841 static inline 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 inline 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 inline HRESULT INetFwProduct_QueryInterface(INetFwProduct* This,REFIID riid,void **ppvObject) {
   4979     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4980 }
   4981 static inline ULONG INetFwProduct_AddRef(INetFwProduct* This) {
   4982     return This->lpVtbl->AddRef(This);
   4983 }
   4984 static inline ULONG INetFwProduct_Release(INetFwProduct* This) {
   4985     return This->lpVtbl->Release(This);
   4986 }
   4987 /*** IDispatch methods ***/
   4988 static inline HRESULT INetFwProduct_GetTypeInfoCount(INetFwProduct* This,UINT *pctinfo) {
   4989     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4990 }
   4991 static inline HRESULT INetFwProduct_GetTypeInfo(INetFwProduct* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4992     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4993 }
   4994 static inline 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 inline 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 inline HRESULT INetFwProduct_get_RuleCategories(INetFwProduct* This,VARIANT *ruleCategories) {
   5002     return This->lpVtbl->get_RuleCategories(This,ruleCategories);
   5003 }
   5004 static inline HRESULT INetFwProduct_put_RuleCategories(INetFwProduct* This,VARIANT ruleCategories) {
   5005     return This->lpVtbl->put_RuleCategories(This,ruleCategories);
   5006 }
   5007 static inline HRESULT INetFwProduct_get_DisplayName(INetFwProduct* This,BSTR *displayName) {
   5008     return This->lpVtbl->get_DisplayName(This,displayName);
   5009 }
   5010 static inline HRESULT INetFwProduct_put_DisplayName(INetFwProduct* This,BSTR displayName) {
   5011     return This->lpVtbl->put_DisplayName(This,displayName);
   5012 }
   5013 static inline 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 inline HRESULT INetFwProducts_QueryInterface(INetFwProducts* This,REFIID riid,void **ppvObject) {
   5144     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5145 }
   5146 static inline ULONG INetFwProducts_AddRef(INetFwProducts* This) {
   5147     return This->lpVtbl->AddRef(This);
   5148 }
   5149 static inline ULONG INetFwProducts_Release(INetFwProducts* This) {
   5150     return This->lpVtbl->Release(This);
   5151 }
   5152 /*** IDispatch methods ***/
   5153 static inline HRESULT INetFwProducts_GetTypeInfoCount(INetFwProducts* This,UINT *pctinfo) {
   5154     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5155 }
   5156 static inline HRESULT INetFwProducts_GetTypeInfo(INetFwProducts* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5157     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5158 }
   5159 static inline 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 inline 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 inline HRESULT INetFwProducts_get_Count(INetFwProducts* This,LONG *count) {
   5167     return This->lpVtbl->get_Count(This,count);
   5168 }
   5169 static inline HRESULT INetFwProducts_Register(INetFwProducts* This,INetFwProduct *product,IUnknown **registration) {
   5170     return This->lpVtbl->Register(This,product,registration);
   5171 }
   5172 static inline HRESULT INetFwProducts_Item(INetFwProducts* This,LONG index,INetFwProduct **product) {
   5173     return This->lpVtbl->Item(This,index,product);
   5174 }
   5175 static inline 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__ */