master
   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__
  23typedef interface INetFwIcmpSettings INetFwIcmpSettings;
  24#ifdef __cplusplus
  25interface INetFwIcmpSettings;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __INetFwOpenPort_FWD_DEFINED__
  30#define __INetFwOpenPort_FWD_DEFINED__
  31typedef interface INetFwOpenPort INetFwOpenPort;
  32#ifdef __cplusplus
  33interface INetFwOpenPort;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __INetFwOpenPorts_FWD_DEFINED__
  38#define __INetFwOpenPorts_FWD_DEFINED__
  39typedef interface INetFwOpenPorts INetFwOpenPorts;
  40#ifdef __cplusplus
  41interface INetFwOpenPorts;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __INetFwService_FWD_DEFINED__
  46#define __INetFwService_FWD_DEFINED__
  47typedef interface INetFwService INetFwService;
  48#ifdef __cplusplus
  49interface INetFwService;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __INetFwServices_FWD_DEFINED__
  54#define __INetFwServices_FWD_DEFINED__
  55typedef interface INetFwServices INetFwServices;
  56#ifdef __cplusplus
  57interface INetFwServices;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __INetFwAuthorizedApplication_FWD_DEFINED__
  62#define __INetFwAuthorizedApplication_FWD_DEFINED__
  63typedef interface INetFwAuthorizedApplication INetFwAuthorizedApplication;
  64#ifdef __cplusplus
  65interface INetFwAuthorizedApplication;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __INetFwRemoteAdminSettings_FWD_DEFINED__
  70#define __INetFwRemoteAdminSettings_FWD_DEFINED__
  71typedef interface INetFwRemoteAdminSettings INetFwRemoteAdminSettings;
  72#ifdef __cplusplus
  73interface INetFwRemoteAdminSettings;
  74#endif /* __cplusplus */
  75#endif
  76
  77#ifndef __INetFwAuthorizedApplications_FWD_DEFINED__
  78#define __INetFwAuthorizedApplications_FWD_DEFINED__
  79typedef interface INetFwAuthorizedApplications INetFwAuthorizedApplications;
  80#ifdef __cplusplus
  81interface INetFwAuthorizedApplications;
  82#endif /* __cplusplus */
  83#endif
  84
  85#ifndef __INetFwRule_FWD_DEFINED__
  86#define __INetFwRule_FWD_DEFINED__
  87typedef interface INetFwRule INetFwRule;
  88#ifdef __cplusplus
  89interface INetFwRule;
  90#endif /* __cplusplus */
  91#endif
  92
  93#ifndef __INetFwRule2_FWD_DEFINED__
  94#define __INetFwRule2_FWD_DEFINED__
  95typedef interface INetFwRule2 INetFwRule2;
  96#ifdef __cplusplus
  97interface INetFwRule2;
  98#endif /* __cplusplus */
  99#endif
 100
 101#ifndef __INetFwRule3_FWD_DEFINED__
 102#define __INetFwRule3_FWD_DEFINED__
 103typedef interface INetFwRule3 INetFwRule3;
 104#ifdef __cplusplus
 105interface INetFwRule3;
 106#endif /* __cplusplus */
 107#endif
 108
 109#ifndef __INetFwRules_FWD_DEFINED__
 110#define __INetFwRules_FWD_DEFINED__
 111typedef interface INetFwRules INetFwRules;
 112#ifdef __cplusplus
 113interface INetFwRules;
 114#endif /* __cplusplus */
 115#endif
 116
 117#ifndef __INetFwServiceRestriction_FWD_DEFINED__
 118#define __INetFwServiceRestriction_FWD_DEFINED__
 119typedef interface INetFwServiceRestriction INetFwServiceRestriction;
 120#ifdef __cplusplus
 121interface INetFwServiceRestriction;
 122#endif /* __cplusplus */
 123#endif
 124
 125#ifndef __INetFwProfile_FWD_DEFINED__
 126#define __INetFwProfile_FWD_DEFINED__
 127typedef interface INetFwProfile INetFwProfile;
 128#ifdef __cplusplus
 129interface INetFwProfile;
 130#endif /* __cplusplus */
 131#endif
 132
 133#ifndef __INetFwPolicy_FWD_DEFINED__
 134#define __INetFwPolicy_FWD_DEFINED__
 135typedef interface INetFwPolicy INetFwPolicy;
 136#ifdef __cplusplus
 137interface INetFwPolicy;
 138#endif /* __cplusplus */
 139#endif
 140
 141#ifndef __INetFwPolicy2_FWD_DEFINED__
 142#define __INetFwPolicy2_FWD_DEFINED__
 143typedef interface INetFwPolicy2 INetFwPolicy2;
 144#ifdef __cplusplus
 145interface INetFwPolicy2;
 146#endif /* __cplusplus */
 147#endif
 148
 149#ifndef __INetFwMgr_FWD_DEFINED__
 150#define __INetFwMgr_FWD_DEFINED__
 151typedef interface INetFwMgr INetFwMgr;
 152#ifdef __cplusplus
 153interface INetFwMgr;
 154#endif /* __cplusplus */
 155#endif
 156
 157#ifndef __INetFwProduct_FWD_DEFINED__
 158#define __INetFwProduct_FWD_DEFINED__
 159typedef interface INetFwProduct INetFwProduct;
 160#ifdef __cplusplus
 161interface INetFwProduct;
 162#endif /* __cplusplus */
 163#endif
 164
 165#ifndef __INetFwProducts_FWD_DEFINED__
 166#define __INetFwProducts_FWD_DEFINED__
 167typedef interface INetFwProducts INetFwProducts;
 168#ifdef __cplusplus
 169interface INetFwProducts;
 170#endif /* __cplusplus */
 171#endif
 172
 173#ifndef __NetFwOpenPort_FWD_DEFINED__
 174#define __NetFwOpenPort_FWD_DEFINED__
 175#ifdef __cplusplus
 176typedef class NetFwOpenPort NetFwOpenPort;
 177#else
 178typedef 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
 185typedef class NetFwAuthorizedApplication NetFwAuthorizedApplication;
 186#else
 187typedef 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
 194typedef class NetFwMgr NetFwMgr;
 195#else
 196typedef 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
 203typedef class NetFwPolicy2 NetFwPolicy2;
 204#else
 205typedef 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
 212typedef class NetFwRule NetFwRule;
 213#else
 214typedef 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
 221typedef class NetFwProduct NetFwProduct;
 222#else
 223typedef 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
 230typedef class NetFwProducts NetFwProducts;
 231#else
 232typedef 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
 242extern "C" {
 243#endif
 244
 245/*****************************************************************************
 246 * INetFwIcmpSettings interface
 247 */
 248#ifndef __INetFwIcmpSettings_INTERFACE_DEFINED__
 249#define __INetFwIcmpSettings_INTERFACE_DEFINED__
 250
 251DEFINE_GUID(IID_INetFwIcmpSettings, 0xa6207b2e, 0x7cdd, 0x426a, 0x95,0x1e, 0x5e,0x1c,0xbc,0x5a,0xfe,0xad);
 252#if defined(__cplusplus) && !defined(CINTERFACE)
 253MIDL_INTERFACE("a6207b2e-7cdd-426a-951e-5e1cbc5afead")
 254INetFwIcmpSettings : 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
 321typedef 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
 450interface 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 ***/
 488static inline HRESULT INetFwIcmpSettings_QueryInterface(INetFwIcmpSettings* This,REFIID riid,void **ppvObject) {
 489    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 490}
 491static inline ULONG INetFwIcmpSettings_AddRef(INetFwIcmpSettings* This) {
 492    return This->lpVtbl->AddRef(This);
 493}
 494static inline ULONG INetFwIcmpSettings_Release(INetFwIcmpSettings* This) {
 495    return This->lpVtbl->Release(This);
 496}
 497/*** IDispatch methods ***/
 498static inline HRESULT INetFwIcmpSettings_GetTypeInfoCount(INetFwIcmpSettings* This,UINT *pctinfo) {
 499    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 500}
 501static inline HRESULT INetFwIcmpSettings_GetTypeInfo(INetFwIcmpSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 502    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 503}
 504static 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}
 507static 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 ***/
 511static inline HRESULT INetFwIcmpSettings_get_AllowOutboundDestinationUnreachable(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
 512    return This->lpVtbl->get_AllowOutboundDestinationUnreachable(This,allow);
 513}
 514static inline HRESULT INetFwIcmpSettings_put_AllowOutboundDestinationUnreachable(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
 515    return This->lpVtbl->put_AllowOutboundDestinationUnreachable(This,allow);
 516}
 517static inline HRESULT INetFwIcmpSettings_get_AllowRedirect(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
 518    return This->lpVtbl->get_AllowRedirect(This,allow);
 519}
 520static inline HRESULT INetFwIcmpSettings_put_AllowRedirect(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
 521    return This->lpVtbl->put_AllowRedirect(This,allow);
 522}
 523static inline HRESULT INetFwIcmpSettings_get_AllowInboundEchoRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
 524    return This->lpVtbl->get_AllowInboundEchoRequest(This,allow);
 525}
 526static inline HRESULT INetFwIcmpSettings_put_AllowInboundEchoRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
 527    return This->lpVtbl->put_AllowInboundEchoRequest(This,allow);
 528}
 529static inline HRESULT INetFwIcmpSettings_get_AllowOutboundTimeExceeded(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
 530    return This->lpVtbl->get_AllowOutboundTimeExceeded(This,allow);
 531}
 532static inline HRESULT INetFwIcmpSettings_put_AllowOutboundTimeExceeded(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
 533    return This->lpVtbl->put_AllowOutboundTimeExceeded(This,allow);
 534}
 535static inline HRESULT INetFwIcmpSettings_get_AllowOutboundParameterProblem(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
 536    return This->lpVtbl->get_AllowOutboundParameterProblem(This,allow);
 537}
 538static inline HRESULT INetFwIcmpSettings_put_AllowOutboundParameterProblem(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
 539    return This->lpVtbl->put_AllowOutboundParameterProblem(This,allow);
 540}
 541static inline HRESULT INetFwIcmpSettings_get_AllowOutboundSourceQuench(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
 542    return This->lpVtbl->get_AllowOutboundSourceQuench(This,allow);
 543}
 544static inline HRESULT INetFwIcmpSettings_put_AllowOutboundSourceQuench(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
 545    return This->lpVtbl->put_AllowOutboundSourceQuench(This,allow);
 546}
 547static inline HRESULT INetFwIcmpSettings_get_AllowInboundRouterRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
 548    return This->lpVtbl->get_AllowInboundRouterRequest(This,allow);
 549}
 550static inline HRESULT INetFwIcmpSettings_put_AllowInboundRouterRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
 551    return This->lpVtbl->put_AllowInboundRouterRequest(This,allow);
 552}
 553static inline HRESULT INetFwIcmpSettings_get_AllowInboundTimestampRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
 554    return This->lpVtbl->get_AllowInboundTimestampRequest(This,allow);
 555}
 556static inline HRESULT INetFwIcmpSettings_put_AllowInboundTimestampRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
 557    return This->lpVtbl->put_AllowInboundTimestampRequest(This,allow);
 558}
 559static inline HRESULT INetFwIcmpSettings_get_AllowInboundMaskRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
 560    return This->lpVtbl->get_AllowInboundMaskRequest(This,allow);
 561}
 562static inline HRESULT INetFwIcmpSettings_put_AllowInboundMaskRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
 563    return This->lpVtbl->put_AllowInboundMaskRequest(This,allow);
 564}
 565static inline HRESULT INetFwIcmpSettings_get_AllowOutboundPacketTooBig(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
 566    return This->lpVtbl->get_AllowOutboundPacketTooBig(This,allow);
 567}
 568static 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
 585DEFINE_GUID(IID_INetFwOpenPort, 0xe0483ba0, 0x47ff, 0x4d9c, 0xa6,0xd6, 0x77,0x41,0xd0,0xb1,0x95,0xf7);
 586#if defined(__cplusplus) && !defined(CINTERFACE)
 587MIDL_INTERFACE("e0483ba0-47ff-4d9c-a6d6-7741d0b195f7")
 588INetFwOpenPort : 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
 640typedef 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
 749interface 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 ***/
 782static inline HRESULT INetFwOpenPort_QueryInterface(INetFwOpenPort* This,REFIID riid,void **ppvObject) {
 783    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 784}
 785static inline ULONG INetFwOpenPort_AddRef(INetFwOpenPort* This) {
 786    return This->lpVtbl->AddRef(This);
 787}
 788static inline ULONG INetFwOpenPort_Release(INetFwOpenPort* This) {
 789    return This->lpVtbl->Release(This);
 790}
 791/*** IDispatch methods ***/
 792static inline HRESULT INetFwOpenPort_GetTypeInfoCount(INetFwOpenPort* This,UINT *pctinfo) {
 793    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 794}
 795static inline HRESULT INetFwOpenPort_GetTypeInfo(INetFwOpenPort* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 796    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 797}
 798static 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}
 801static 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 ***/
 805static inline HRESULT INetFwOpenPort_get_Name(INetFwOpenPort* This,BSTR *name) {
 806    return This->lpVtbl->get_Name(This,name);
 807}
 808static inline HRESULT INetFwOpenPort_put_Name(INetFwOpenPort* This,BSTR name) {
 809    return This->lpVtbl->put_Name(This,name);
 810}
 811static inline HRESULT INetFwOpenPort_get_IpVersion(INetFwOpenPort* This,NET_FW_IP_VERSION *ipVersion) {
 812    return This->lpVtbl->get_IpVersion(This,ipVersion);
 813}
 814static inline HRESULT INetFwOpenPort_put_IpVersion(INetFwOpenPort* This,NET_FW_IP_VERSION ipVersion) {
 815    return This->lpVtbl->put_IpVersion(This,ipVersion);
 816}
 817static inline HRESULT INetFwOpenPort_get_Protocol(INetFwOpenPort* This,NET_FW_IP_PROTOCOL *ipProtocol) {
 818    return This->lpVtbl->get_Protocol(This,ipProtocol);
 819}
 820static inline HRESULT INetFwOpenPort_put_Protocol(INetFwOpenPort* This,NET_FW_IP_PROTOCOL ipProtocol) {
 821    return This->lpVtbl->put_Protocol(This,ipProtocol);
 822}
 823static inline HRESULT INetFwOpenPort_get_Port(INetFwOpenPort* This,LONG *portNumber) {
 824    return This->lpVtbl->get_Port(This,portNumber);
 825}
 826static inline HRESULT INetFwOpenPort_put_Port(INetFwOpenPort* This,LONG portNumber) {
 827    return This->lpVtbl->put_Port(This,portNumber);
 828}
 829static inline HRESULT INetFwOpenPort_get_Scope(INetFwOpenPort* This,NET_FW_SCOPE *scope) {
 830    return This->lpVtbl->get_Scope(This,scope);
 831}
 832static inline HRESULT INetFwOpenPort_put_Scope(INetFwOpenPort* This,NET_FW_SCOPE scope) {
 833    return This->lpVtbl->put_Scope(This,scope);
 834}
 835static inline HRESULT INetFwOpenPort_get_RemoteAddresses(INetFwOpenPort* This,BSTR *remoteAddrs) {
 836    return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
 837}
 838static inline HRESULT INetFwOpenPort_put_RemoteAddresses(INetFwOpenPort* This,BSTR remoteAddrs) {
 839    return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
 840}
 841static inline HRESULT INetFwOpenPort_get_Enabled(INetFwOpenPort* This,VARIANT_BOOL *enabled) {
 842    return This->lpVtbl->get_Enabled(This,enabled);
 843}
 844static inline HRESULT INetFwOpenPort_put_Enabled(INetFwOpenPort* This,VARIANT_BOOL enabled) {
 845    return This->lpVtbl->put_Enabled(This,enabled);
 846}
 847static 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
 864DEFINE_GUID(IID_INetFwOpenPorts, 0xc0e9d7fa, 0xe07e, 0x430a, 0xb1,0x9a, 0x09,0x0c,0xe8,0x2d,0x92,0xe2);
 865#if defined(__cplusplus) && !defined(CINTERFACE)
 866MIDL_INTERFACE("c0e9d7fa-e07e-430a-b19a-090ce82d92e2")
 867INetFwOpenPorts : 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
 892typedef 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
 964interface 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 ***/
 987static inline HRESULT INetFwOpenPorts_QueryInterface(INetFwOpenPorts* This,REFIID riid,void **ppvObject) {
 988    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 989}
 990static inline ULONG INetFwOpenPorts_AddRef(INetFwOpenPorts* This) {
 991    return This->lpVtbl->AddRef(This);
 992}
 993static inline ULONG INetFwOpenPorts_Release(INetFwOpenPorts* This) {
 994    return This->lpVtbl->Release(This);
 995}
 996/*** IDispatch methods ***/
 997static inline HRESULT INetFwOpenPorts_GetTypeInfoCount(INetFwOpenPorts* This,UINT *pctinfo) {
 998    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 999}
1000static inline HRESULT INetFwOpenPorts_GetTypeInfo(INetFwOpenPorts* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1001    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1002}
1003static 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}
1006static 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 ***/
1010static inline HRESULT INetFwOpenPorts_get_Count(INetFwOpenPorts* This,LONG *count) {
1011    return This->lpVtbl->get_Count(This,count);
1012}
1013static inline HRESULT INetFwOpenPorts_Add(INetFwOpenPorts* This,INetFwOpenPort *port) {
1014    return This->lpVtbl->Add(This,port);
1015}
1016static inline HRESULT INetFwOpenPorts_Remove(INetFwOpenPorts* This,LONG portNumber,NET_FW_IP_PROTOCOL ipProtocol) {
1017    return This->lpVtbl->Remove(This,portNumber,ipProtocol);
1018}
1019static 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}
1022static 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
1039DEFINE_GUID(IID_INetFwService, 0x79fd57c8, 0x908e, 0x4a36, 0x98,0x88, 0xd5,0xb3,0xf0,0xa4,0x44,0xcf);
1040#if defined(__cplusplus) && !defined(CINTERFACE)
1041MIDL_INTERFACE("79fd57c8-908e-4a36-9888-d5b3f0a444cf")
1042INetFwService : 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
1085typedef 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
1182interface 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 ***/
1212static inline HRESULT INetFwService_QueryInterface(INetFwService* This,REFIID riid,void **ppvObject) {
1213    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1214}
1215static inline ULONG INetFwService_AddRef(INetFwService* This) {
1216    return This->lpVtbl->AddRef(This);
1217}
1218static inline ULONG INetFwService_Release(INetFwService* This) {
1219    return This->lpVtbl->Release(This);
1220}
1221/*** IDispatch methods ***/
1222static inline HRESULT INetFwService_GetTypeInfoCount(INetFwService* This,UINT *pctinfo) {
1223    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1224}
1225static inline HRESULT INetFwService_GetTypeInfo(INetFwService* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1226    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1227}
1228static 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}
1231static 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 ***/
1235static inline HRESULT INetFwService_get_Name(INetFwService* This,BSTR *name) {
1236    return This->lpVtbl->get_Name(This,name);
1237}
1238static inline HRESULT INetFwService_get_Type(INetFwService* This,NET_FW_SERVICE_TYPE *type) {
1239    return This->lpVtbl->get_Type(This,type);
1240}
1241static inline HRESULT INetFwService_get_Customized(INetFwService* This,VARIANT_BOOL *customized) {
1242    return This->lpVtbl->get_Customized(This,customized);
1243}
1244static inline HRESULT INetFwService_get_IpVersion(INetFwService* This,NET_FW_IP_VERSION *ipVersion) {
1245    return This->lpVtbl->get_IpVersion(This,ipVersion);
1246}
1247static inline HRESULT INetFwService_put_IpVersion(INetFwService* This,NET_FW_IP_VERSION ipVersion) {
1248    return This->lpVtbl->put_IpVersion(This,ipVersion);
1249}
1250static inline HRESULT INetFwService_get_Scope(INetFwService* This,NET_FW_SCOPE *scope) {
1251    return This->lpVtbl->get_Scope(This,scope);
1252}
1253static inline HRESULT INetFwService_put_Scope(INetFwService* This,NET_FW_SCOPE scope) {
1254    return This->lpVtbl->put_Scope(This,scope);
1255}
1256static inline HRESULT INetFwService_get_RemoteAddresses(INetFwService* This,BSTR *remoteAddrs) {
1257    return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
1258}
1259static inline HRESULT INetFwService_put_RemoteAddresses(INetFwService* This,BSTR remoteAddrs) {
1260    return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
1261}
1262static inline HRESULT INetFwService_get_Enabled(INetFwService* This,VARIANT_BOOL *enabled) {
1263    return This->lpVtbl->get_Enabled(This,enabled);
1264}
1265static inline HRESULT INetFwService_put_Enabled(INetFwService* This,VARIANT_BOOL enabled) {
1266    return This->lpVtbl->put_Enabled(This,enabled);
1267}
1268static 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
1285DEFINE_GUID(IID_INetFwServices, 0x79649bb4, 0x903e, 0x421b, 0x94,0xc9, 0x79,0x84,0x8e,0x79,0xf6,0xee);
1286#if defined(__cplusplus) && !defined(CINTERFACE)
1287MIDL_INTERFACE("79649bb4-903e-421b-94c9-79848e79f6ee")
1288INetFwServices : 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
1305typedef 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
1367interface 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 ***/
1388static inline HRESULT INetFwServices_QueryInterface(INetFwServices* This,REFIID riid,void **ppvObject) {
1389    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1390}
1391static inline ULONG INetFwServices_AddRef(INetFwServices* This) {
1392    return This->lpVtbl->AddRef(This);
1393}
1394static inline ULONG INetFwServices_Release(INetFwServices* This) {
1395    return This->lpVtbl->Release(This);
1396}
1397/*** IDispatch methods ***/
1398static inline HRESULT INetFwServices_GetTypeInfoCount(INetFwServices* This,UINT *pctinfo) {
1399    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1400}
1401static inline HRESULT INetFwServices_GetTypeInfo(INetFwServices* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1402    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1403}
1404static 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}
1407static 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 ***/
1411static inline HRESULT INetFwServices_get_Count(INetFwServices* This,LONG *count) {
1412    return This->lpVtbl->get_Count(This,count);
1413}
1414static inline HRESULT INetFwServices_Item(INetFwServices* This,NET_FW_SERVICE_TYPE svcType,INetFwService **service) {
1415    return This->lpVtbl->Item(This,svcType,service);
1416}
1417static 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
1434DEFINE_GUID(IID_INetFwAuthorizedApplication, 0xb5e64ffa, 0xc2c5, 0x444e, 0xa3,0x01, 0xfb,0x5e,0x00,0x01,0x80,0x50);
1435#if defined(__cplusplus) && !defined(CINTERFACE)
1436MIDL_INTERFACE("b5e64ffa-c2c5-444e-a301-fb5e00018050")
1437INetFwAuthorizedApplication : 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
1480typedef 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
1577interface 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 ***/
1607static inline HRESULT INetFwAuthorizedApplication_QueryInterface(INetFwAuthorizedApplication* This,REFIID riid,void **ppvObject) {
1608    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1609}
1610static inline ULONG INetFwAuthorizedApplication_AddRef(INetFwAuthorizedApplication* This) {
1611    return This->lpVtbl->AddRef(This);
1612}
1613static inline ULONG INetFwAuthorizedApplication_Release(INetFwAuthorizedApplication* This) {
1614    return This->lpVtbl->Release(This);
1615}
1616/*** IDispatch methods ***/
1617static inline HRESULT INetFwAuthorizedApplication_GetTypeInfoCount(INetFwAuthorizedApplication* This,UINT *pctinfo) {
1618    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1619}
1620static inline HRESULT INetFwAuthorizedApplication_GetTypeInfo(INetFwAuthorizedApplication* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1621    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1622}
1623static 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}
1626static 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 ***/
1630static inline HRESULT INetFwAuthorizedApplication_get_Name(INetFwAuthorizedApplication* This,BSTR *name) {
1631    return This->lpVtbl->get_Name(This,name);
1632}
1633static inline HRESULT INetFwAuthorizedApplication_put_Name(INetFwAuthorizedApplication* This,BSTR name) {
1634    return This->lpVtbl->put_Name(This,name);
1635}
1636static inline HRESULT INetFwAuthorizedApplication_get_ProcessImageFileName(INetFwAuthorizedApplication* This,BSTR *imageFileName) {
1637    return This->lpVtbl->get_ProcessImageFileName(This,imageFileName);
1638}
1639static inline HRESULT INetFwAuthorizedApplication_put_ProcessImageFileName(INetFwAuthorizedApplication* This,BSTR imageFileName) {
1640    return This->lpVtbl->put_ProcessImageFileName(This,imageFileName);
1641}
1642static inline HRESULT INetFwAuthorizedApplication_get_IpVersion(INetFwAuthorizedApplication* This,NET_FW_IP_VERSION *ipVersion) {
1643    return This->lpVtbl->get_IpVersion(This,ipVersion);
1644}
1645static inline HRESULT INetFwAuthorizedApplication_put_IpVersion(INetFwAuthorizedApplication* This,NET_FW_IP_VERSION ipVersion) {
1646    return This->lpVtbl->put_IpVersion(This,ipVersion);
1647}
1648static inline HRESULT INetFwAuthorizedApplication_get_Scope(INetFwAuthorizedApplication* This,NET_FW_SCOPE *scope) {
1649    return This->lpVtbl->get_Scope(This,scope);
1650}
1651static inline HRESULT INetFwAuthorizedApplication_put_Scope(INetFwAuthorizedApplication* This,NET_FW_SCOPE scope) {
1652    return This->lpVtbl->put_Scope(This,scope);
1653}
1654static inline HRESULT INetFwAuthorizedApplication_get_RemoteAddresses(INetFwAuthorizedApplication* This,BSTR *remoteAddrs) {
1655    return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
1656}
1657static inline HRESULT INetFwAuthorizedApplication_put_RemoteAddresses(INetFwAuthorizedApplication* This,BSTR remoteAddrs) {
1658    return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
1659}
1660static inline HRESULT INetFwAuthorizedApplication_get_Enabled(INetFwAuthorizedApplication* This,VARIANT_BOOL *enabled) {
1661    return This->lpVtbl->get_Enabled(This,enabled);
1662}
1663static 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
1680DEFINE_GUID(IID_INetFwRemoteAdminSettings, 0xd4becddf, 0x6f73, 0x4a83, 0xb8,0x32, 0x9c,0x66,0x87,0x4c,0xd2,0x0e);
1681#if defined(__cplusplus) && !defined(CINTERFACE)
1682MIDL_INTERFACE("d4becddf-6f73-4a83-b832-9c66874cd20e")
1683INetFwRemoteAdminSettings : 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
1714typedef 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
1795interface 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 ***/
1821static inline HRESULT INetFwRemoteAdminSettings_QueryInterface(INetFwRemoteAdminSettings* This,REFIID riid,void **ppvObject) {
1822    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1823}
1824static inline ULONG INetFwRemoteAdminSettings_AddRef(INetFwRemoteAdminSettings* This) {
1825    return This->lpVtbl->AddRef(This);
1826}
1827static inline ULONG INetFwRemoteAdminSettings_Release(INetFwRemoteAdminSettings* This) {
1828    return This->lpVtbl->Release(This);
1829}
1830/*** IDispatch methods ***/
1831static inline HRESULT INetFwRemoteAdminSettings_GetTypeInfoCount(INetFwRemoteAdminSettings* This,UINT *pctinfo) {
1832    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1833}
1834static inline HRESULT INetFwRemoteAdminSettings_GetTypeInfo(INetFwRemoteAdminSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1835    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1836}
1837static 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}
1840static 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 ***/
1844static inline HRESULT INetFwRemoteAdminSettings_get_IpVersion(INetFwRemoteAdminSettings* This,NET_FW_IP_VERSION *ipVersion) {
1845    return This->lpVtbl->get_IpVersion(This,ipVersion);
1846}
1847static inline HRESULT INetFwRemoteAdminSettings_put_IpVersion(INetFwRemoteAdminSettings* This,NET_FW_IP_VERSION ipVersion) {
1848    return This->lpVtbl->put_IpVersion(This,ipVersion);
1849}
1850static inline HRESULT INetFwRemoteAdminSettings_get_Scope(INetFwRemoteAdminSettings* This,NET_FW_SCOPE *scope) {
1851    return This->lpVtbl->get_Scope(This,scope);
1852}
1853static inline HRESULT INetFwRemoteAdminSettings_put_Scope(INetFwRemoteAdminSettings* This,NET_FW_SCOPE scope) {
1854    return This->lpVtbl->put_Scope(This,scope);
1855}
1856static inline HRESULT INetFwRemoteAdminSettings_get_RemoteAddresses(INetFwRemoteAdminSettings* This,BSTR *remoteAddrs) {
1857    return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
1858}
1859static inline HRESULT INetFwRemoteAdminSettings_put_RemoteAddresses(INetFwRemoteAdminSettings* This,BSTR remoteAddrs) {
1860    return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
1861}
1862static inline HRESULT INetFwRemoteAdminSettings_get_Enabled(INetFwRemoteAdminSettings* This,VARIANT_BOOL *enabled) {
1863    return This->lpVtbl->get_Enabled(This,enabled);
1864}
1865static 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
1882DEFINE_GUID(IID_INetFwAuthorizedApplications, 0x644efd52, 0xccf9, 0x486c, 0x97,0xa2, 0x39,0xf3,0x52,0x57,0x0b,0x30);
1883#if defined(__cplusplus) && !defined(CINTERFACE)
1884MIDL_INTERFACE("644efd52-ccf9-486c-97a2-39f352570b30")
1885INetFwAuthorizedApplications : 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
1908typedef 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
1978interface 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 ***/
2001static inline HRESULT INetFwAuthorizedApplications_QueryInterface(INetFwAuthorizedApplications* This,REFIID riid,void **ppvObject) {
2002    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2003}
2004static inline ULONG INetFwAuthorizedApplications_AddRef(INetFwAuthorizedApplications* This) {
2005    return This->lpVtbl->AddRef(This);
2006}
2007static inline ULONG INetFwAuthorizedApplications_Release(INetFwAuthorizedApplications* This) {
2008    return This->lpVtbl->Release(This);
2009}
2010/*** IDispatch methods ***/
2011static inline HRESULT INetFwAuthorizedApplications_GetTypeInfoCount(INetFwAuthorizedApplications* This,UINT *pctinfo) {
2012    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2013}
2014static inline HRESULT INetFwAuthorizedApplications_GetTypeInfo(INetFwAuthorizedApplications* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2015    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2016}
2017static 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}
2020static 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 ***/
2024static inline HRESULT INetFwAuthorizedApplications_get_Count(INetFwAuthorizedApplications* This,LONG *count) {
2025    return This->lpVtbl->get_Count(This,count);
2026}
2027static inline HRESULT INetFwAuthorizedApplications_Add(INetFwAuthorizedApplications* This,INetFwAuthorizedApplication *app) {
2028    return This->lpVtbl->Add(This,app);
2029}
2030static inline HRESULT INetFwAuthorizedApplications_Remove(INetFwAuthorizedApplications* This,BSTR imageFileName) {
2031    return This->lpVtbl->Remove(This,imageFileName);
2032}
2033static inline HRESULT INetFwAuthorizedApplications_Item(INetFwAuthorizedApplications* This,BSTR imageFileName,INetFwAuthorizedApplication **app) {
2034    return This->lpVtbl->Item(This,imageFileName,app);
2035}
2036static 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
2053DEFINE_GUID(IID_INetFwRule, 0xaf230d27, 0xbaba, 0x4e42, 0xac,0xed, 0xf5,0x24,0xf2,0x2c,0xfc,0xe2);
2054#if defined(__cplusplus) && !defined(CINTERFACE)
2055MIDL_INTERFACE("af230d27-baba-4e42-aced-f524f22cfce2")
2056INetFwRule : 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
2171typedef 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
2364interface 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 ***/
2418static inline HRESULT INetFwRule_QueryInterface(INetFwRule* This,REFIID riid,void **ppvObject) {
2419    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2420}
2421static inline ULONG INetFwRule_AddRef(INetFwRule* This) {
2422    return This->lpVtbl->AddRef(This);
2423}
2424static inline ULONG INetFwRule_Release(INetFwRule* This) {
2425    return This->lpVtbl->Release(This);
2426}
2427/*** IDispatch methods ***/
2428static inline HRESULT INetFwRule_GetTypeInfoCount(INetFwRule* This,UINT *pctinfo) {
2429    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2430}
2431static inline HRESULT INetFwRule_GetTypeInfo(INetFwRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2432    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2433}
2434static 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}
2437static 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 ***/
2441static inline HRESULT INetFwRule_get_Name(INetFwRule* This,BSTR *name) {
2442    return This->lpVtbl->get_Name(This,name);
2443}
2444static inline HRESULT INetFwRule_put_Name(INetFwRule* This,BSTR name) {
2445    return This->lpVtbl->put_Name(This,name);
2446}
2447static inline HRESULT INetFwRule_get_Description(INetFwRule* This,BSTR *desc) {
2448    return This->lpVtbl->get_Description(This,desc);
2449}
2450static inline HRESULT INetFwRule_put_Description(INetFwRule* This,BSTR desc) {
2451    return This->lpVtbl->put_Description(This,desc);
2452}
2453static inline HRESULT INetFwRule_get_ApplicationName(INetFwRule* This,BSTR *imagename) {
2454    return This->lpVtbl->get_ApplicationName(This,imagename);
2455}
2456static inline HRESULT INetFwRule_put_ApplicationName(INetFwRule* This,BSTR imagename) {
2457    return This->lpVtbl->put_ApplicationName(This,imagename);
2458}
2459static inline HRESULT INetFwRule_get_ServiceName(INetFwRule* This,BSTR *service) {
2460    return This->lpVtbl->get_ServiceName(This,service);
2461}
2462static inline HRESULT INetFwRule_put_ServiceName(INetFwRule* This,BSTR service) {
2463    return This->lpVtbl->put_ServiceName(This,service);
2464}
2465static inline HRESULT INetFwRule_get_Protocol(INetFwRule* This,LONG *protocol) {
2466    return This->lpVtbl->get_Protocol(This,protocol);
2467}
2468static inline HRESULT INetFwRule_put_Protocol(INetFwRule* This,LONG protocol) {
2469    return This->lpVtbl->put_Protocol(This,protocol);
2470}
2471static inline HRESULT INetFwRule_get_LocalPorts(INetFwRule* This,BSTR *ports) {
2472    return This->lpVtbl->get_LocalPorts(This,ports);
2473}
2474static inline HRESULT INetFwRule_put_LocalPorts(INetFwRule* This,BSTR ports) {
2475    return This->lpVtbl->put_LocalPorts(This,ports);
2476}
2477static inline HRESULT INetFwRule_get_RemotePorts(INetFwRule* This,BSTR *ports) {
2478    return This->lpVtbl->get_RemotePorts(This,ports);
2479}
2480static inline HRESULT INetFwRule_put_RemotePorts(INetFwRule* This,BSTR ports) {
2481    return This->lpVtbl->put_RemotePorts(This,ports);
2482}
2483static inline HRESULT INetFwRule_get_LocalAddresses(INetFwRule* This,BSTR *address) {
2484    return This->lpVtbl->get_LocalAddresses(This,address);
2485}
2486static inline HRESULT INetFwRule_put_LocalAddresses(INetFwRule* This,BSTR address) {
2487    return This->lpVtbl->put_LocalAddresses(This,address);
2488}
2489static inline HRESULT INetFwRule_get_RemoteAddresses(INetFwRule* This,BSTR *address) {
2490    return This->lpVtbl->get_RemoteAddresses(This,address);
2491}
2492static inline HRESULT INetFwRule_put_RemoteAddresses(INetFwRule* This,BSTR address) {
2493    return This->lpVtbl->put_RemoteAddresses(This,address);
2494}
2495static inline HRESULT INetFwRule_get_IcmpTypesAndCodes(INetFwRule* This,BSTR *codes) {
2496    return This->lpVtbl->get_IcmpTypesAndCodes(This,codes);
2497}
2498static inline HRESULT INetFwRule_put_IcmpTypesAndCodes(INetFwRule* This,BSTR codes) {
2499    return This->lpVtbl->put_IcmpTypesAndCodes(This,codes);
2500}
2501static inline HRESULT INetFwRule_get_Direction(INetFwRule* This,NET_FW_RULE_DIRECTION *dir) {
2502    return This->lpVtbl->get_Direction(This,dir);
2503}
2504static inline HRESULT INetFwRule_put_Direction(INetFwRule* This,NET_FW_RULE_DIRECTION dir) {
2505    return This->lpVtbl->put_Direction(This,dir);
2506}
2507static inline HRESULT INetFwRule_get_Interfaces(INetFwRule* This,VARIANT *interfaces) {
2508    return This->lpVtbl->get_Interfaces(This,interfaces);
2509}
2510static inline HRESULT INetFwRule_put_Interfaces(INetFwRule* This,VARIANT interfaces) {
2511    return This->lpVtbl->put_Interfaces(This,interfaces);
2512}
2513static inline HRESULT INetFwRule_get_InterfaceTypes(INetFwRule* This,BSTR *types) {
2514    return This->lpVtbl->get_InterfaceTypes(This,types);
2515}
2516static inline HRESULT INetFwRule_put_InterfaceTypes(INetFwRule* This,BSTR types) {
2517    return This->lpVtbl->put_InterfaceTypes(This,types);
2518}
2519static inline HRESULT INetFwRule_get_Enabled(INetFwRule* This,VARIANT_BOOL *enabled) {
2520    return This->lpVtbl->get_Enabled(This,enabled);
2521}
2522static inline HRESULT INetFwRule_put_Enabled(INetFwRule* This,VARIANT_BOOL enabled) {
2523    return This->lpVtbl->put_Enabled(This,enabled);
2524}
2525static inline HRESULT INetFwRule_get_Grouping(INetFwRule* This,BSTR *context) {
2526    return This->lpVtbl->get_Grouping(This,context);
2527}
2528static inline HRESULT INetFwRule_put_Grouping(INetFwRule* This,BSTR context) {
2529    return This->lpVtbl->put_Grouping(This,context);
2530}
2531static inline HRESULT INetFwRule_get_Profiles(INetFwRule* This,LONG *profiles) {
2532    return This->lpVtbl->get_Profiles(This,profiles);
2533}
2534static inline HRESULT INetFwRule_put_Profiles(INetFwRule* This,LONG profiles) {
2535    return This->lpVtbl->put_Profiles(This,profiles);
2536}
2537static inline HRESULT INetFwRule_get_EdgeTraversal(INetFwRule* This,VARIANT_BOOL *enabled) {
2538    return This->lpVtbl->get_EdgeTraversal(This,enabled);
2539}
2540static inline HRESULT INetFwRule_put_EdgeTraversal(INetFwRule* This,VARIANT_BOOL enabled) {
2541    return This->lpVtbl->put_EdgeTraversal(This,enabled);
2542}
2543static inline HRESULT INetFwRule_get_Action(INetFwRule* This,NET_FW_ACTION *action) {
2544    return This->lpVtbl->get_Action(This,action);
2545}
2546static 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
2563DEFINE_GUID(IID_INetFwRule2, 0x9c27c8da, 0x189b, 0x4dde, 0x89,0xf7, 0x8b,0x39,0xa3,0x16,0x78,0x2c);
2564#if defined(__cplusplus) && !defined(CINTERFACE)
2565MIDL_INTERFACE("9c27c8da-189b-4dde-89f7-8b39a316782c")
2566INetFwRule2 : 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
2579typedef 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
2781interface 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 ***/
2838static inline HRESULT INetFwRule2_QueryInterface(INetFwRule2* This,REFIID riid,void **ppvObject) {
2839    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2840}
2841static inline ULONG INetFwRule2_AddRef(INetFwRule2* This) {
2842    return This->lpVtbl->AddRef(This);
2843}
2844static inline ULONG INetFwRule2_Release(INetFwRule2* This) {
2845    return This->lpVtbl->Release(This);
2846}
2847/*** IDispatch methods ***/
2848static inline HRESULT INetFwRule2_GetTypeInfoCount(INetFwRule2* This,UINT *pctinfo) {
2849    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2850}
2851static inline HRESULT INetFwRule2_GetTypeInfo(INetFwRule2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2852    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2853}
2854static 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}
2857static 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 ***/
2861static inline HRESULT INetFwRule2_get_Name(INetFwRule2* This,BSTR *name) {
2862    return This->lpVtbl->get_Name(This,name);
2863}
2864static inline HRESULT INetFwRule2_put_Name(INetFwRule2* This,BSTR name) {
2865    return This->lpVtbl->put_Name(This,name);
2866}
2867static inline HRESULT INetFwRule2_get_Description(INetFwRule2* This,BSTR *desc) {
2868    return This->lpVtbl->get_Description(This,desc);
2869}
2870static inline HRESULT INetFwRule2_put_Description(INetFwRule2* This,BSTR desc) {
2871    return This->lpVtbl->put_Description(This,desc);
2872}
2873static inline HRESULT INetFwRule2_get_ApplicationName(INetFwRule2* This,BSTR *imagename) {
2874    return This->lpVtbl->get_ApplicationName(This,imagename);
2875}
2876static inline HRESULT INetFwRule2_put_ApplicationName(INetFwRule2* This,BSTR imagename) {
2877    return This->lpVtbl->put_ApplicationName(This,imagename);
2878}
2879static inline HRESULT INetFwRule2_get_ServiceName(INetFwRule2* This,BSTR *service) {
2880    return This->lpVtbl->get_ServiceName(This,service);
2881}
2882static inline HRESULT INetFwRule2_put_ServiceName(INetFwRule2* This,BSTR service) {
2883    return This->lpVtbl->put_ServiceName(This,service);
2884}
2885static inline HRESULT INetFwRule2_get_Protocol(INetFwRule2* This,LONG *protocol) {
2886    return This->lpVtbl->get_Protocol(This,protocol);
2887}
2888static inline HRESULT INetFwRule2_put_Protocol(INetFwRule2* This,LONG protocol) {
2889    return This->lpVtbl->put_Protocol(This,protocol);
2890}
2891static inline HRESULT INetFwRule2_get_LocalPorts(INetFwRule2* This,BSTR *ports) {
2892    return This->lpVtbl->get_LocalPorts(This,ports);
2893}
2894static inline HRESULT INetFwRule2_put_LocalPorts(INetFwRule2* This,BSTR ports) {
2895    return This->lpVtbl->put_LocalPorts(This,ports);
2896}
2897static inline HRESULT INetFwRule2_get_RemotePorts(INetFwRule2* This,BSTR *ports) {
2898    return This->lpVtbl->get_RemotePorts(This,ports);
2899}
2900static inline HRESULT INetFwRule2_put_RemotePorts(INetFwRule2* This,BSTR ports) {
2901    return This->lpVtbl->put_RemotePorts(This,ports);
2902}
2903static inline HRESULT INetFwRule2_get_LocalAddresses(INetFwRule2* This,BSTR *address) {
2904    return This->lpVtbl->get_LocalAddresses(This,address);
2905}
2906static inline HRESULT INetFwRule2_put_LocalAddresses(INetFwRule2* This,BSTR address) {
2907    return This->lpVtbl->put_LocalAddresses(This,address);
2908}
2909static inline HRESULT INetFwRule2_get_RemoteAddresses(INetFwRule2* This,BSTR *address) {
2910    return This->lpVtbl->get_RemoteAddresses(This,address);
2911}
2912static inline HRESULT INetFwRule2_put_RemoteAddresses(INetFwRule2* This,BSTR address) {
2913    return This->lpVtbl->put_RemoteAddresses(This,address);
2914}
2915static inline HRESULT INetFwRule2_get_IcmpTypesAndCodes(INetFwRule2* This,BSTR *codes) {
2916    return This->lpVtbl->get_IcmpTypesAndCodes(This,codes);
2917}
2918static inline HRESULT INetFwRule2_put_IcmpTypesAndCodes(INetFwRule2* This,BSTR codes) {
2919    return This->lpVtbl->put_IcmpTypesAndCodes(This,codes);
2920}
2921static inline HRESULT INetFwRule2_get_Direction(INetFwRule2* This,NET_FW_RULE_DIRECTION *dir) {
2922    return This->lpVtbl->get_Direction(This,dir);
2923}
2924static inline HRESULT INetFwRule2_put_Direction(INetFwRule2* This,NET_FW_RULE_DIRECTION dir) {
2925    return This->lpVtbl->put_Direction(This,dir);
2926}
2927static inline HRESULT INetFwRule2_get_Interfaces(INetFwRule2* This,VARIANT *interfaces) {
2928    return This->lpVtbl->get_Interfaces(This,interfaces);
2929}
2930static inline HRESULT INetFwRule2_put_Interfaces(INetFwRule2* This,VARIANT interfaces) {
2931    return This->lpVtbl->put_Interfaces(This,interfaces);
2932}
2933static inline HRESULT INetFwRule2_get_InterfaceTypes(INetFwRule2* This,BSTR *types) {
2934    return This->lpVtbl->get_InterfaceTypes(This,types);
2935}
2936static inline HRESULT INetFwRule2_put_InterfaceTypes(INetFwRule2* This,BSTR types) {
2937    return This->lpVtbl->put_InterfaceTypes(This,types);
2938}
2939static inline HRESULT INetFwRule2_get_Enabled(INetFwRule2* This,VARIANT_BOOL *enabled) {
2940    return This->lpVtbl->get_Enabled(This,enabled);
2941}
2942static inline HRESULT INetFwRule2_put_Enabled(INetFwRule2* This,VARIANT_BOOL enabled) {
2943    return This->lpVtbl->put_Enabled(This,enabled);
2944}
2945static inline HRESULT INetFwRule2_get_Grouping(INetFwRule2* This,BSTR *context) {
2946    return This->lpVtbl->get_Grouping(This,context);
2947}
2948static inline HRESULT INetFwRule2_put_Grouping(INetFwRule2* This,BSTR context) {
2949    return This->lpVtbl->put_Grouping(This,context);
2950}
2951static inline HRESULT INetFwRule2_get_Profiles(INetFwRule2* This,LONG *profiles) {
2952    return This->lpVtbl->get_Profiles(This,profiles);
2953}
2954static inline HRESULT INetFwRule2_put_Profiles(INetFwRule2* This,LONG profiles) {
2955    return This->lpVtbl->put_Profiles(This,profiles);
2956}
2957static inline HRESULT INetFwRule2_get_EdgeTraversal(INetFwRule2* This,VARIANT_BOOL *enabled) {
2958    return This->lpVtbl->get_EdgeTraversal(This,enabled);
2959}
2960static inline HRESULT INetFwRule2_put_EdgeTraversal(INetFwRule2* This,VARIANT_BOOL enabled) {
2961    return This->lpVtbl->put_EdgeTraversal(This,enabled);
2962}
2963static inline HRESULT INetFwRule2_get_Action(INetFwRule2* This,NET_FW_ACTION *action) {
2964    return This->lpVtbl->get_Action(This,action);
2965}
2966static inline HRESULT INetFwRule2_put_Action(INetFwRule2* This,NET_FW_ACTION action) {
2967    return This->lpVtbl->put_Action(This,action);
2968}
2969/*** INetFwRule2 methods ***/
2970static inline HRESULT INetFwRule2_get_EdgeTraversalOptions(INetFwRule2* This,LONG *lOptions) {
2971    return This->lpVtbl->get_EdgeTraversalOptions(This,lOptions);
2972}
2973static 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
2990DEFINE_GUID(IID_INetFwRule3, 0xb21563ff, 0xd696, 0x4222, 0xab,0x46, 0x4e,0x89,0xb7,0x3a,0xb3,0x4a);
2991#if defined(__cplusplus) && !defined(CINTERFACE)
2992MIDL_INTERFACE("b21563ff-d696-4222-ab46-4e89b73ab34a")
2993INetFwRule3 : 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
3036typedef 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
3287interface 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 ***/
3357static inline HRESULT INetFwRule3_QueryInterface(INetFwRule3* This,REFIID riid,void **ppvObject) {
3358    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3359}
3360static inline ULONG INetFwRule3_AddRef(INetFwRule3* This) {
3361    return This->lpVtbl->AddRef(This);
3362}
3363static inline ULONG INetFwRule3_Release(INetFwRule3* This) {
3364    return This->lpVtbl->Release(This);
3365}
3366/*** IDispatch methods ***/
3367static inline HRESULT INetFwRule3_GetTypeInfoCount(INetFwRule3* This,UINT *pctinfo) {
3368    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3369}
3370static inline HRESULT INetFwRule3_GetTypeInfo(INetFwRule3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3371    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3372}
3373static 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}
3376static 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 ***/
3380static inline HRESULT INetFwRule3_get_Name(INetFwRule3* This,BSTR *name) {
3381    return This->lpVtbl->get_Name(This,name);
3382}
3383static inline HRESULT INetFwRule3_put_Name(INetFwRule3* This,BSTR name) {
3384    return This->lpVtbl->put_Name(This,name);
3385}
3386static inline HRESULT INetFwRule3_get_Description(INetFwRule3* This,BSTR *desc) {
3387    return This->lpVtbl->get_Description(This,desc);
3388}
3389static inline HRESULT INetFwRule3_put_Description(INetFwRule3* This,BSTR desc) {
3390    return This->lpVtbl->put_Description(This,desc);
3391}
3392static inline HRESULT INetFwRule3_get_ApplicationName(INetFwRule3* This,BSTR *imagename) {
3393    return This->lpVtbl->get_ApplicationName(This,imagename);
3394}
3395static inline HRESULT INetFwRule3_put_ApplicationName(INetFwRule3* This,BSTR imagename) {
3396    return This->lpVtbl->put_ApplicationName(This,imagename);
3397}
3398static inline HRESULT INetFwRule3_get_ServiceName(INetFwRule3* This,BSTR *service) {
3399    return This->lpVtbl->get_ServiceName(This,service);
3400}
3401static inline HRESULT INetFwRule3_put_ServiceName(INetFwRule3* This,BSTR service) {
3402    return This->lpVtbl->put_ServiceName(This,service);
3403}
3404static inline HRESULT INetFwRule3_get_Protocol(INetFwRule3* This,LONG *protocol) {
3405    return This->lpVtbl->get_Protocol(This,protocol);
3406}
3407static inline HRESULT INetFwRule3_put_Protocol(INetFwRule3* This,LONG protocol) {
3408    return This->lpVtbl->put_Protocol(This,protocol);
3409}
3410static inline HRESULT INetFwRule3_get_LocalPorts(INetFwRule3* This,BSTR *ports) {
3411    return This->lpVtbl->get_LocalPorts(This,ports);
3412}
3413static inline HRESULT INetFwRule3_put_LocalPorts(INetFwRule3* This,BSTR ports) {
3414    return This->lpVtbl->put_LocalPorts(This,ports);
3415}
3416static inline HRESULT INetFwRule3_get_RemotePorts(INetFwRule3* This,BSTR *ports) {
3417    return This->lpVtbl->get_RemotePorts(This,ports);
3418}
3419static inline HRESULT INetFwRule3_put_RemotePorts(INetFwRule3* This,BSTR ports) {
3420    return This->lpVtbl->put_RemotePorts(This,ports);
3421}
3422static inline HRESULT INetFwRule3_get_LocalAddresses(INetFwRule3* This,BSTR *address) {
3423    return This->lpVtbl->get_LocalAddresses(This,address);
3424}
3425static inline HRESULT INetFwRule3_put_LocalAddresses(INetFwRule3* This,BSTR address) {
3426    return This->lpVtbl->put_LocalAddresses(This,address);
3427}
3428static inline HRESULT INetFwRule3_get_RemoteAddresses(INetFwRule3* This,BSTR *address) {
3429    return This->lpVtbl->get_RemoteAddresses(This,address);
3430}
3431static inline HRESULT INetFwRule3_put_RemoteAddresses(INetFwRule3* This,BSTR address) {
3432    return This->lpVtbl->put_RemoteAddresses(This,address);
3433}
3434static inline HRESULT INetFwRule3_get_IcmpTypesAndCodes(INetFwRule3* This,BSTR *codes) {
3435    return This->lpVtbl->get_IcmpTypesAndCodes(This,codes);
3436}
3437static inline HRESULT INetFwRule3_put_IcmpTypesAndCodes(INetFwRule3* This,BSTR codes) {
3438    return This->lpVtbl->put_IcmpTypesAndCodes(This,codes);
3439}
3440static inline HRESULT INetFwRule3_get_Direction(INetFwRule3* This,NET_FW_RULE_DIRECTION *dir) {
3441    return This->lpVtbl->get_Direction(This,dir);
3442}
3443static inline HRESULT INetFwRule3_put_Direction(INetFwRule3* This,NET_FW_RULE_DIRECTION dir) {
3444    return This->lpVtbl->put_Direction(This,dir);
3445}
3446static inline HRESULT INetFwRule3_get_Interfaces(INetFwRule3* This,VARIANT *interfaces) {
3447    return This->lpVtbl->get_Interfaces(This,interfaces);
3448}
3449static inline HRESULT INetFwRule3_put_Interfaces(INetFwRule3* This,VARIANT interfaces) {
3450    return This->lpVtbl->put_Interfaces(This,interfaces);
3451}
3452static inline HRESULT INetFwRule3_get_InterfaceTypes(INetFwRule3* This,BSTR *types) {
3453    return This->lpVtbl->get_InterfaceTypes(This,types);
3454}
3455static inline HRESULT INetFwRule3_put_InterfaceTypes(INetFwRule3* This,BSTR types) {
3456    return This->lpVtbl->put_InterfaceTypes(This,types);
3457}
3458static inline HRESULT INetFwRule3_get_Enabled(INetFwRule3* This,VARIANT_BOOL *enabled) {
3459    return This->lpVtbl->get_Enabled(This,enabled);
3460}
3461static inline HRESULT INetFwRule3_put_Enabled(INetFwRule3* This,VARIANT_BOOL enabled) {
3462    return This->lpVtbl->put_Enabled(This,enabled);
3463}
3464static inline HRESULT INetFwRule3_get_Grouping(INetFwRule3* This,BSTR *context) {
3465    return This->lpVtbl->get_Grouping(This,context);
3466}
3467static inline HRESULT INetFwRule3_put_Grouping(INetFwRule3* This,BSTR context) {
3468    return This->lpVtbl->put_Grouping(This,context);
3469}
3470static inline HRESULT INetFwRule3_get_Profiles(INetFwRule3* This,LONG *profiles) {
3471    return This->lpVtbl->get_Profiles(This,profiles);
3472}
3473static inline HRESULT INetFwRule3_put_Profiles(INetFwRule3* This,LONG profiles) {
3474    return This->lpVtbl->put_Profiles(This,profiles);
3475}
3476static inline HRESULT INetFwRule3_get_EdgeTraversal(INetFwRule3* This,VARIANT_BOOL *enabled) {
3477    return This->lpVtbl->get_EdgeTraversal(This,enabled);
3478}
3479static inline HRESULT INetFwRule3_put_EdgeTraversal(INetFwRule3* This,VARIANT_BOOL enabled) {
3480    return This->lpVtbl->put_EdgeTraversal(This,enabled);
3481}
3482static inline HRESULT INetFwRule3_get_Action(INetFwRule3* This,NET_FW_ACTION *action) {
3483    return This->lpVtbl->get_Action(This,action);
3484}
3485static inline HRESULT INetFwRule3_put_Action(INetFwRule3* This,NET_FW_ACTION action) {
3486    return This->lpVtbl->put_Action(This,action);
3487}
3488/*** INetFwRule2 methods ***/
3489static inline HRESULT INetFwRule3_get_EdgeTraversalOptions(INetFwRule3* This,LONG *lOptions) {
3490    return This->lpVtbl->get_EdgeTraversalOptions(This,lOptions);
3491}
3492static inline HRESULT INetFwRule3_put_EdgeTraversalOptions(INetFwRule3* This,LONG lOptions) {
3493    return This->lpVtbl->put_EdgeTraversalOptions(This,lOptions);
3494}
3495/*** INetFwRule3 methods ***/
3496static inline HRESULT INetFwRule3_get_LocalAppPackageId(INetFwRule3* This,BSTR *wszPackageId) {
3497    return This->lpVtbl->get_LocalAppPackageId(This,wszPackageId);
3498}
3499static inline HRESULT INetFwRule3_put_LocalAppPackageId(INetFwRule3* This,BSTR wszPackageId) {
3500    return This->lpVtbl->put_LocalAppPackageId(This,wszPackageId);
3501}
3502static inline HRESULT INetFwRule3_get_LocalUserOwner(INetFwRule3* This,BSTR *wszUserOwner) {
3503    return This->lpVtbl->get_LocalUserOwner(This,wszUserOwner);
3504}
3505static inline HRESULT INetFwRule3_put_LocalUserOwner(INetFwRule3* This,BSTR wszUserOwner) {
3506    return This->lpVtbl->put_LocalUserOwner(This,wszUserOwner);
3507}
3508static inline HRESULT INetFwRule3_get_LocalUserAuthorizedList(INetFwRule3* This,BSTR *wszUserAuthList) {
3509    return This->lpVtbl->get_LocalUserAuthorizedList(This,wszUserAuthList);
3510}
3511static inline HRESULT INetFwRule3_put_LocalUserAuthorizedList(INetFwRule3* This,BSTR wszUserAuthList) {
3512    return This->lpVtbl->put_LocalUserAuthorizedList(This,wszUserAuthList);
3513}
3514static inline HRESULT INetFwRule3_get_RemoteUserAuthorizedList(INetFwRule3* This,BSTR *wszUserAuthList) {
3515    return This->lpVtbl->get_RemoteUserAuthorizedList(This,wszUserAuthList);
3516}
3517static inline HRESULT INetFwRule3_put_RemoteUserAuthorizedList(INetFwRule3* This,BSTR wszUserAuthList) {
3518    return This->lpVtbl->put_RemoteUserAuthorizedList(This,wszUserAuthList);
3519}
3520static inline HRESULT INetFwRule3_get_RemoteMachineAuthorizedList(INetFwRule3* This,BSTR *wszUserAuthList) {
3521    return This->lpVtbl->get_RemoteMachineAuthorizedList(This,wszUserAuthList);
3522}
3523static inline HRESULT INetFwRule3_put_RemoteMachineAuthorizedList(INetFwRule3* This,BSTR wszUserAuthList) {
3524    return This->lpVtbl->put_RemoteMachineAuthorizedList(This,wszUserAuthList);
3525}
3526static inline HRESULT INetFwRule3_get_SecureFlags(INetFwRule3* This,LONG *lOptions) {
3527    return This->lpVtbl->get_SecureFlags(This,lOptions);
3528}
3529static 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
3546DEFINE_GUID(IID_INetFwRules, 0x9c4c6277, 0x5027, 0x441e, 0xaf,0xae, 0xca,0x1f,0x54,0x2d,0xa0,0x09);
3547#if defined(__cplusplus) && !defined(CINTERFACE)
3548MIDL_INTERFACE("9c4c6277-5027-441e-afae-ca1f542da009")
3549INetFwRules : 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
3572typedef 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
3642interface 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 ***/
3665static inline HRESULT INetFwRules_QueryInterface(INetFwRules* This,REFIID riid,void **ppvObject) {
3666    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3667}
3668static inline ULONG INetFwRules_AddRef(INetFwRules* This) {
3669    return This->lpVtbl->AddRef(This);
3670}
3671static inline ULONG INetFwRules_Release(INetFwRules* This) {
3672    return This->lpVtbl->Release(This);
3673}
3674/*** IDispatch methods ***/
3675static inline HRESULT INetFwRules_GetTypeInfoCount(INetFwRules* This,UINT *pctinfo) {
3676    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3677}
3678static inline HRESULT INetFwRules_GetTypeInfo(INetFwRules* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3679    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3680}
3681static 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}
3684static 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 ***/
3688static inline HRESULT INetFwRules_get_Count(INetFwRules* This,LONG *count) {
3689    return This->lpVtbl->get_Count(This,count);
3690}
3691static inline HRESULT INetFwRules_Add(INetFwRules* This,INetFwRule *rule) {
3692    return This->lpVtbl->Add(This,rule);
3693}
3694static inline HRESULT INetFwRules_Remove(INetFwRules* This,BSTR name) {
3695    return This->lpVtbl->Remove(This,name);
3696}
3697static inline HRESULT INetFwRules_Item(INetFwRules* This,BSTR name,INetFwRule **rule) {
3698    return This->lpVtbl->Item(This,name,rule);
3699}
3700static 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
3717DEFINE_GUID(IID_INetFwServiceRestriction, 0x8267bbe3, 0xf890, 0x491c, 0xb7,0xb6, 0x2d,0xb1,0xef,0x0e,0x5d,0x2b);
3718#if defined(__cplusplus) && !defined(CINTERFACE)
3719MIDL_INTERFACE("8267bbe3-f890-491c-b7b6-2db1ef0e5d2b")
3720INetFwServiceRestriction : 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
3741typedef 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
3807interface 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 ***/
3828static inline HRESULT INetFwServiceRestriction_QueryInterface(INetFwServiceRestriction* This,REFIID riid,void **ppvObject) {
3829    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3830}
3831static inline ULONG INetFwServiceRestriction_AddRef(INetFwServiceRestriction* This) {
3832    return This->lpVtbl->AddRef(This);
3833}
3834static inline ULONG INetFwServiceRestriction_Release(INetFwServiceRestriction* This) {
3835    return This->lpVtbl->Release(This);
3836}
3837/*** IDispatch methods ***/
3838static inline HRESULT INetFwServiceRestriction_GetTypeInfoCount(INetFwServiceRestriction* This,UINT *pctinfo) {
3839    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3840}
3841static inline HRESULT INetFwServiceRestriction_GetTypeInfo(INetFwServiceRestriction* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3842    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3843}
3844static 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}
3847static 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 ***/
3851static 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}
3854static inline HRESULT INetFwServiceRestriction_ServiceRestricted(INetFwServiceRestriction* This,BSTR serviceName,BSTR appName,VARIANT_BOOL *serviceRestricted) {
3855    return This->lpVtbl->ServiceRestricted(This,serviceName,appName,serviceRestricted);
3856}
3857static 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
3874DEFINE_GUID(IID_INetFwProfile, 0x174a0dda, 0xe9f9, 0x449d, 0x99,0x3b, 0x21,0xab,0x66,0x7c,0xa4,0x56);
3875#if defined(__cplusplus) && !defined(CINTERFACE)
3876MIDL_INTERFACE("174a0dda-e9f9-449d-993b-21ab667ca456")
3877INetFwProfile : 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
3926typedef 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
4031interface 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 ***/
4063static inline HRESULT INetFwProfile_QueryInterface(INetFwProfile* This,REFIID riid,void **ppvObject) {
4064    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4065}
4066static inline ULONG INetFwProfile_AddRef(INetFwProfile* This) {
4067    return This->lpVtbl->AddRef(This);
4068}
4069static inline ULONG INetFwProfile_Release(INetFwProfile* This) {
4070    return This->lpVtbl->Release(This);
4071}
4072/*** IDispatch methods ***/
4073static inline HRESULT INetFwProfile_GetTypeInfoCount(INetFwProfile* This,UINT *pctinfo) {
4074    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4075}
4076static inline HRESULT INetFwProfile_GetTypeInfo(INetFwProfile* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4077    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4078}
4079static 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}
4082static 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 ***/
4086static inline HRESULT INetFwProfile_get_Type(INetFwProfile* This,NET_FW_PROFILE_TYPE *type) {
4087    return This->lpVtbl->get_Type(This,type);
4088}
4089static inline HRESULT INetFwProfile_get_FirewallEnabled(INetFwProfile* This,VARIANT_BOOL *enabled) {
4090    return This->lpVtbl->get_FirewallEnabled(This,enabled);
4091}
4092static inline HRESULT INetFwProfile_put_FirewallEnabled(INetFwProfile* This,VARIANT_BOOL enabled) {
4093    return This->lpVtbl->put_FirewallEnabled(This,enabled);
4094}
4095static inline HRESULT INetFwProfile_get_ExceptionsNotAllowed(INetFwProfile* This,VARIANT_BOOL *notAllowed) {
4096    return This->lpVtbl->get_ExceptionsNotAllowed(This,notAllowed);
4097}
4098static inline HRESULT INetFwProfile_put_ExceptionsNotAllowed(INetFwProfile* This,VARIANT_BOOL notAllowed) {
4099    return This->lpVtbl->put_ExceptionsNotAllowed(This,notAllowed);
4100}
4101static inline HRESULT INetFwProfile_get_NotificationsDisabled(INetFwProfile* This,VARIANT_BOOL *disabled) {
4102    return This->lpVtbl->get_NotificationsDisabled(This,disabled);
4103}
4104static inline HRESULT INetFwProfile_put_NotificationsDisabled(INetFwProfile* This,VARIANT_BOOL disabled) {
4105    return This->lpVtbl->put_NotificationsDisabled(This,disabled);
4106}
4107static inline HRESULT INetFwProfile_get_UnicastResponsesToMulticastBroadcastDisabled(INetFwProfile* This,VARIANT_BOOL *disabled) {
4108    return This->lpVtbl->get_UnicastResponsesToMulticastBroadcastDisabled(This,disabled);
4109}
4110static inline HRESULT INetFwProfile_put_UnicastResponsesToMulticastBroadcastDisabled(INetFwProfile* This,VARIANT_BOOL disabled) {
4111    return This->lpVtbl->put_UnicastResponsesToMulticastBroadcastDisabled(This,disabled);
4112}
4113static inline HRESULT INetFwProfile_get_RemoteAdminSettings(INetFwProfile* This,INetFwRemoteAdminSettings **remoteAdminSettings) {
4114    return This->lpVtbl->get_RemoteAdminSettings(This,remoteAdminSettings);
4115}
4116static inline HRESULT INetFwProfile_get_IcmpSettings(INetFwProfile* This,INetFwIcmpSettings **icmpSettings) {
4117    return This->lpVtbl->get_IcmpSettings(This,icmpSettings);
4118}
4119static inline HRESULT INetFwProfile_get_GloballyOpenPorts(INetFwProfile* This,INetFwOpenPorts **openPorts) {
4120    return This->lpVtbl->get_GloballyOpenPorts(This,openPorts);
4121}
4122static inline HRESULT INetFwProfile_get_Services(INetFwProfile* This,INetFwServices **services) {
4123    return This->lpVtbl->get_Services(This,services);
4124}
4125static 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
4142DEFINE_GUID(IID_INetFwPolicy, 0xd46d2478, 0x9ac9, 0x4008, 0x9d,0xc7, 0x55,0x63,0xce,0x55,0x36,0xcc);
4143#if defined(__cplusplus) && !defined(CINTERFACE)
4144MIDL_INTERFACE("d46d2478-9ac9-4008-9dc7-5563ce5536cc")
4145INetFwPolicy : 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
4159typedef 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
4217interface 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 ***/
4237static inline HRESULT INetFwPolicy_QueryInterface(INetFwPolicy* This,REFIID riid,void **ppvObject) {
4238    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4239}
4240static inline ULONG INetFwPolicy_AddRef(INetFwPolicy* This) {
4241    return This->lpVtbl->AddRef(This);
4242}
4243static inline ULONG INetFwPolicy_Release(INetFwPolicy* This) {
4244    return This->lpVtbl->Release(This);
4245}
4246/*** IDispatch methods ***/
4247static inline HRESULT INetFwPolicy_GetTypeInfoCount(INetFwPolicy* This,UINT *pctinfo) {
4248    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4249}
4250static inline HRESULT INetFwPolicy_GetTypeInfo(INetFwPolicy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4251    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4252}
4253static 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}
4256static 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 ***/
4260static inline HRESULT INetFwPolicy_get_CurrentProfile(INetFwPolicy* This,INetFwProfile **profile) {
4261    return This->lpVtbl->get_CurrentProfile(This,profile);
4262}
4263static 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
4280DEFINE_GUID(IID_INetFwPolicy2, 0x98325047, 0xc671, 0x4174, 0x8d,0x81, 0xde,0xfc,0xd3,0xf0,0x31,0x86);
4281#if defined(__cplusplus) && !defined(CINTERFACE)
4282MIDL_INTERFACE("98325047-c671-4174-8d81-defcd3f03186")
4283INetFwPolicy2 : 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
4375typedef 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
4530interface 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 ***/
4570static inline HRESULT INetFwPolicy2_QueryInterface(INetFwPolicy2* This,REFIID riid,void **ppvObject) {
4571    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4572}
4573static inline ULONG INetFwPolicy2_AddRef(INetFwPolicy2* This) {
4574    return This->lpVtbl->AddRef(This);
4575}
4576static inline ULONG INetFwPolicy2_Release(INetFwPolicy2* This) {
4577    return This->lpVtbl->Release(This);
4578}
4579/*** IDispatch methods ***/
4580static inline HRESULT INetFwPolicy2_GetTypeInfoCount(INetFwPolicy2* This,UINT *pctinfo) {
4581    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4582}
4583static inline HRESULT INetFwPolicy2_GetTypeInfo(INetFwPolicy2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4584    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4585}
4586static 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}
4589static 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 ***/
4593static inline HRESULT INetFwPolicy2_get_CurrentProfileTypes(INetFwPolicy2* This,LONG *profile) {
4594    return This->lpVtbl->get_CurrentProfileTypes(This,profile);
4595}
4596static 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}
4599static 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}
4602static inline HRESULT INetFwPolicy2_get_ExcludedInterfaces(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT *interfaces) {
4603    return This->lpVtbl->get_ExcludedInterfaces(This,profileType,interfaces);
4604}
4605static inline HRESULT INetFwPolicy2_put_ExcludedInterfaces(INetFwPolicy2* This,NET_FW_PROFILE_TYPE2 profileType,VARIANT interfaces) {
4606    return This->lpVtbl->put_ExcludedInterfaces(This,profileType,interfaces);
4607}
4608static 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}
4611static 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}
4614static 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}
4617static 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}
4620static 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}
4623static 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}
4626static inline HRESULT INetFwPolicy2_get_Rules(INetFwPolicy2* This,INetFwRules **rules) {
4627    return This->lpVtbl->get_Rules(This,rules);
4628}
4629static inline HRESULT INetFwPolicy2_get_ServiceRestriction(INetFwPolicy2* This,INetFwServiceRestriction **ServiceRestriction) {
4630    return This->lpVtbl->get_ServiceRestriction(This,ServiceRestriction);
4631}
4632static inline HRESULT INetFwPolicy2_EnableRuleGroup(INetFwPolicy2* This,LONG profileTypesBitmask,BSTR group,VARIANT_BOOL enable) {
4633    return This->lpVtbl->EnableRuleGroup(This,profileTypesBitmask,group,enable);
4634}
4635static inline HRESULT INetFwPolicy2_IsRuleGroupEnabled(INetFwPolicy2* This,LONG profileTypesBitmask,BSTR group,VARIANT_BOOL *enabled) {
4636    return This->lpVtbl->IsRuleGroupEnabled(This,profileTypesBitmask,group,enabled);
4637}
4638static inline HRESULT INetFwPolicy2_RestoreLocalFirewallDefaults(INetFwPolicy2* This) {
4639    return This->lpVtbl->RestoreLocalFirewallDefaults(This);
4640}
4641static 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}
4644static 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}
4647static 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}
4650static 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}
4653static inline HRESULT INetFwPolicy2_get_IsRuleGroupCurrentlyEnabled(INetFwPolicy2* This,BSTR group,VARIANT_BOOL *enabled) {
4654    return This->lpVtbl->get_IsRuleGroupCurrentlyEnabled(This,group,enabled);
4655}
4656static 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
4673DEFINE_GUID(IID_INetFwMgr, 0xf7898af5, 0xcac4, 0x4632, 0xa2,0xec, 0xda,0x06,0xe5,0x11,0x1a,0xf2);
4674#if defined(__cplusplus) && !defined(CINTERFACE)
4675MIDL_INTERFACE("f7898af5-cac4-4632-a2ec-da06e5111af2")
4676INetFwMgr : 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
4708typedef 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
4786interface 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 ***/
4809static inline HRESULT INetFwMgr_QueryInterface(INetFwMgr* This,REFIID riid,void **ppvObject) {
4810    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4811}
4812static inline ULONG INetFwMgr_AddRef(INetFwMgr* This) {
4813    return This->lpVtbl->AddRef(This);
4814}
4815static inline ULONG INetFwMgr_Release(INetFwMgr* This) {
4816    return This->lpVtbl->Release(This);
4817}
4818/*** IDispatch methods ***/
4819static inline HRESULT INetFwMgr_GetTypeInfoCount(INetFwMgr* This,UINT *pctinfo) {
4820    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4821}
4822static inline HRESULT INetFwMgr_GetTypeInfo(INetFwMgr* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4823    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4824}
4825static 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}
4828static 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 ***/
4832static inline HRESULT INetFwMgr_get_LocalPolicy(INetFwMgr* This,INetFwPolicy **localPolicy) {
4833    return This->lpVtbl->get_LocalPolicy(This,localPolicy);
4834}
4835static inline HRESULT INetFwMgr_get_CurrentProfileType(INetFwMgr* This,NET_FW_PROFILE_TYPE *profileType) {
4836    return This->lpVtbl->get_CurrentProfileType(This,profileType);
4837}
4838static inline HRESULT INetFwMgr_RestoreDefaults(INetFwMgr* This) {
4839    return This->lpVtbl->RestoreDefaults(This);
4840}
4841static 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}
4844static 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
4861DEFINE_GUID(IID_INetFwProduct, 0x71881699, 0x18f4, 0x458b, 0xb8,0x92, 0x3f,0xfc,0xe5,0xe0,0x7f,0x75);
4862#if defined(__cplusplus) && !defined(CINTERFACE)
4863MIDL_INTERFACE("71881699-18f4-458b-b892-3ffce5e07f75")
4864INetFwProduct : 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
4886typedef 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
4955interface 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 ***/
4978static inline HRESULT INetFwProduct_QueryInterface(INetFwProduct* This,REFIID riid,void **ppvObject) {
4979    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4980}
4981static inline ULONG INetFwProduct_AddRef(INetFwProduct* This) {
4982    return This->lpVtbl->AddRef(This);
4983}
4984static inline ULONG INetFwProduct_Release(INetFwProduct* This) {
4985    return This->lpVtbl->Release(This);
4986}
4987/*** IDispatch methods ***/
4988static inline HRESULT INetFwProduct_GetTypeInfoCount(INetFwProduct* This,UINT *pctinfo) {
4989    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4990}
4991static inline HRESULT INetFwProduct_GetTypeInfo(INetFwProduct* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4992    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4993}
4994static 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}
4997static 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 ***/
5001static inline HRESULT INetFwProduct_get_RuleCategories(INetFwProduct* This,VARIANT *ruleCategories) {
5002    return This->lpVtbl->get_RuleCategories(This,ruleCategories);
5003}
5004static inline HRESULT INetFwProduct_put_RuleCategories(INetFwProduct* This,VARIANT ruleCategories) {
5005    return This->lpVtbl->put_RuleCategories(This,ruleCategories);
5006}
5007static inline HRESULT INetFwProduct_get_DisplayName(INetFwProduct* This,BSTR *displayName) {
5008    return This->lpVtbl->get_DisplayName(This,displayName);
5009}
5010static inline HRESULT INetFwProduct_put_DisplayName(INetFwProduct* This,BSTR displayName) {
5011    return This->lpVtbl->put_DisplayName(This,displayName);
5012}
5013static 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
5030DEFINE_GUID(IID_INetFwProducts, 0x39eb36e0, 0x2097, 0x40bd, 0x8a,0xf2, 0x63,0xa1,0x3b,0x52,0x53,0x62);
5031#if defined(__cplusplus) && !defined(CINTERFACE)
5032MIDL_INTERFACE("39eb36e0-2097-40bd-8af2-63a13b525362")
5033INetFwProducts : 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
5054typedef 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
5121interface 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 ***/
5143static inline HRESULT INetFwProducts_QueryInterface(INetFwProducts* This,REFIID riid,void **ppvObject) {
5144    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5145}
5146static inline ULONG INetFwProducts_AddRef(INetFwProducts* This) {
5147    return This->lpVtbl->AddRef(This);
5148}
5149static inline ULONG INetFwProducts_Release(INetFwProducts* This) {
5150    return This->lpVtbl->Release(This);
5151}
5152/*** IDispatch methods ***/
5153static inline HRESULT INetFwProducts_GetTypeInfoCount(INetFwProducts* This,UINT *pctinfo) {
5154    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5155}
5156static inline HRESULT INetFwProducts_GetTypeInfo(INetFwProducts* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5157    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5158}
5159static 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}
5162static 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 ***/
5166static inline HRESULT INetFwProducts_get_Count(INetFwProducts* This,LONG *count) {
5167    return This->lpVtbl->get_Count(This,count);
5168}
5169static inline HRESULT INetFwProducts_Register(INetFwProducts* This,INetFwProduct *product,IUnknown **registration) {
5170    return This->lpVtbl->Register(This,product,registration);
5171}
5172static inline HRESULT INetFwProducts_Item(INetFwProducts* This,LONG index,INetFwProduct **product) {
5173    return This->lpVtbl->Item(This,index,product);
5174}
5175static 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
5189DEFINE_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__
5193typedef interface INetFwRemoteAdminSettings INetFwRemoteAdminSettings;
5194#ifdef __cplusplus
5195interface INetFwRemoteAdminSettings;
5196#endif /* __cplusplus */
5197#endif
5198
5199#ifndef __INetFwIcmpSettings_FWD_DEFINED__
5200#define __INetFwIcmpSettings_FWD_DEFINED__
5201typedef interface INetFwIcmpSettings INetFwIcmpSettings;
5202#ifdef __cplusplus
5203interface INetFwIcmpSettings;
5204#endif /* __cplusplus */
5205#endif
5206
5207#ifndef __INetFwOpenPort_FWD_DEFINED__
5208#define __INetFwOpenPort_FWD_DEFINED__
5209typedef interface INetFwOpenPort INetFwOpenPort;
5210#ifdef __cplusplus
5211interface INetFwOpenPort;
5212#endif /* __cplusplus */
5213#endif
5214
5215#ifndef __INetFwOpenPorts_FWD_DEFINED__
5216#define __INetFwOpenPorts_FWD_DEFINED__
5217typedef interface INetFwOpenPorts INetFwOpenPorts;
5218#ifdef __cplusplus
5219interface INetFwOpenPorts;
5220#endif /* __cplusplus */
5221#endif
5222
5223#ifndef __INetFwService_FWD_DEFINED__
5224#define __INetFwService_FWD_DEFINED__
5225typedef interface INetFwService INetFwService;
5226#ifdef __cplusplus
5227interface INetFwService;
5228#endif /* __cplusplus */
5229#endif
5230
5231#ifndef __INetFwServices_FWD_DEFINED__
5232#define __INetFwServices_FWD_DEFINED__
5233typedef interface INetFwServices INetFwServices;
5234#ifdef __cplusplus
5235interface INetFwServices;
5236#endif /* __cplusplus */
5237#endif
5238
5239#ifndef __INetFwAuthorizedApplication_FWD_DEFINED__
5240#define __INetFwAuthorizedApplication_FWD_DEFINED__
5241typedef interface INetFwAuthorizedApplication INetFwAuthorizedApplication;
5242#ifdef __cplusplus
5243interface INetFwAuthorizedApplication;
5244#endif /* __cplusplus */
5245#endif
5246
5247#ifndef __INetFwAuthorizedApplications_FWD_DEFINED__
5248#define __INetFwAuthorizedApplications_FWD_DEFINED__
5249typedef interface INetFwAuthorizedApplications INetFwAuthorizedApplications;
5250#ifdef __cplusplus
5251interface INetFwAuthorizedApplications;
5252#endif /* __cplusplus */
5253#endif
5254
5255#ifndef __INetFwServiceRestriction_FWD_DEFINED__
5256#define __INetFwServiceRestriction_FWD_DEFINED__
5257typedef interface INetFwServiceRestriction INetFwServiceRestriction;
5258#ifdef __cplusplus
5259interface INetFwServiceRestriction;
5260#endif /* __cplusplus */
5261#endif
5262
5263#ifndef __INetFwRule_FWD_DEFINED__
5264#define __INetFwRule_FWD_DEFINED__
5265typedef interface INetFwRule INetFwRule;
5266#ifdef __cplusplus
5267interface INetFwRule;
5268#endif /* __cplusplus */
5269#endif
5270
5271#ifndef __INetFwRules_FWD_DEFINED__
5272#define __INetFwRules_FWD_DEFINED__
5273typedef interface INetFwRules INetFwRules;
5274#ifdef __cplusplus
5275interface INetFwRules;
5276#endif /* __cplusplus */
5277#endif
5278
5279#ifndef __INetFwProfile_FWD_DEFINED__
5280#define __INetFwProfile_FWD_DEFINED__
5281typedef interface INetFwProfile INetFwProfile;
5282#ifdef __cplusplus
5283interface INetFwProfile;
5284#endif /* __cplusplus */
5285#endif
5286
5287#ifndef __INetFwPolicy_FWD_DEFINED__
5288#define __INetFwPolicy_FWD_DEFINED__
5289typedef interface INetFwPolicy INetFwPolicy;
5290#ifdef __cplusplus
5291interface INetFwPolicy;
5292#endif /* __cplusplus */
5293#endif
5294
5295#ifndef __INetFwPolicy2_FWD_DEFINED__
5296#define __INetFwPolicy2_FWD_DEFINED__
5297typedef interface INetFwPolicy2 INetFwPolicy2;
5298#ifdef __cplusplus
5299interface INetFwPolicy2;
5300#endif /* __cplusplus */
5301#endif
5302
5303#ifndef __INetFwMgr_FWD_DEFINED__
5304#define __INetFwMgr_FWD_DEFINED__
5305typedef interface INetFwMgr INetFwMgr;
5306#ifdef __cplusplus
5307interface INetFwMgr;
5308#endif /* __cplusplus */
5309#endif
5310
5311#ifndef __INetFwProduct_FWD_DEFINED__
5312#define __INetFwProduct_FWD_DEFINED__
5313typedef interface INetFwProduct INetFwProduct;
5314#ifdef __cplusplus
5315interface INetFwProduct;
5316#endif /* __cplusplus */
5317#endif
5318
5319#ifndef __INetFwProducts_FWD_DEFINED__
5320#define __INetFwProducts_FWD_DEFINED__
5321typedef interface INetFwProducts INetFwProducts;
5322#ifdef __cplusplus
5323interface INetFwProducts;
5324#endif /* __cplusplus */
5325#endif
5326
5327/*****************************************************************************
5328 * NetFwOpenPort coclass
5329 */
5330
5331DEFINE_GUID(CLSID_NetFwOpenPort, 0x0ca545c6, 0x37ad, 0x4a6c, 0xbf,0x92, 0x9f,0x76,0x10,0x06,0x7e,0xf5);
5332
5333#ifdef __cplusplus
5334class 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
5344DEFINE_GUID(CLSID_NetFwAuthorizedApplication, 0xec9846b3, 0x2762, 0x4a6b, 0xa2,0x14, 0x6a,0xcb,0x60,0x34,0x62,0xd2);
5345
5346#ifdef __cplusplus
5347class 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
5357DEFINE_GUID(CLSID_NetFwMgr, 0x304ce942, 0x6e39, 0x40d8, 0x94,0x3a, 0xb9,0x13,0xc4,0x0c,0x9c,0xd4);
5358
5359#ifdef __cplusplus
5360class 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
5370DEFINE_GUID(CLSID_NetFwPolicy2, 0xe2b3c97f, 0x6ae1, 0x41ac, 0x81,0x7a, 0xf6,0xf9,0x21,0x66,0xd7,0xdd);
5371
5372#ifdef __cplusplus
5373class 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
5383DEFINE_GUID(CLSID_NetFwRule, 0x2c5bc43e, 0x3369, 0x4c33, 0xab,0x0c, 0xbe,0x94,0x69,0x67,0x7a,0xf4);
5384
5385#ifdef __cplusplus
5386class 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
5396DEFINE_GUID(CLSID_NetFwProduct, 0x9d745ed8, 0xc514, 0x4d1d, 0xbf,0x42, 0x75,0x1f,0xed,0x2d,0x5a,0xc7);
5397
5398#ifdef __cplusplus
5399class 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
5409DEFINE_GUID(CLSID_NetFwProducts, 0xcc19079b, 0x8272, 0x4d73, 0xbb,0x70, 0xcd,0xb5,0x33,0x52,0x7b,0x61);
5410
5411#ifdef __cplusplus
5412class 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
5421ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
5422unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
5423unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
5424void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
5425ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
5426unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
5427unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
5428void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
5429
5430/* End additional prototypes */
5431
5432#ifdef __cplusplus
5433}
5434#endif
5435
5436#endif /* __netfw_h__ */