/*** Autogenerated by WIDL 1.7.0 from netfw.idl - Do not edit ***/

#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include <rpc.h>
#include <rpcndr.h>

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __netfw_h__
#define __netfw_h__

/* Forward declarations */

#ifndef __INetFwIcmpSettings_FWD_DEFINED__
#define __INetFwIcmpSettings_FWD_DEFINED__
typedef interface INetFwIcmpSettings INetFwIcmpSettings;
#endif

#ifndef __INetFwOpenPort_FWD_DEFINED__
#define __INetFwOpenPort_FWD_DEFINED__
typedef interface INetFwOpenPort INetFwOpenPort;
#endif

#ifndef __INetFwOpenPorts_FWD_DEFINED__
#define __INetFwOpenPorts_FWD_DEFINED__
typedef interface INetFwOpenPorts INetFwOpenPorts;
#endif

#ifndef __INetFwService_FWD_DEFINED__
#define __INetFwService_FWD_DEFINED__
typedef interface INetFwService INetFwService;
#endif

#ifndef __INetFwServices_FWD_DEFINED__
#define __INetFwServices_FWD_DEFINED__
typedef interface INetFwServices INetFwServices;
#endif

#ifndef __INetFwAuthorizedApplication_FWD_DEFINED__
#define __INetFwAuthorizedApplication_FWD_DEFINED__
typedef interface INetFwAuthorizedApplication INetFwAuthorizedApplication;
#endif

#ifndef __INetFwRemoteAdminSettings_FWD_DEFINED__
#define __INetFwRemoteAdminSettings_FWD_DEFINED__
typedef interface INetFwRemoteAdminSettings INetFwRemoteAdminSettings;
#endif

#ifndef __INetFwAuthorizedApplications_FWD_DEFINED__
#define __INetFwAuthorizedApplications_FWD_DEFINED__
typedef interface INetFwAuthorizedApplications INetFwAuthorizedApplications;
#endif

#ifndef __INetFwProfile_FWD_DEFINED__
#define __INetFwProfile_FWD_DEFINED__
typedef interface INetFwProfile INetFwProfile;
#endif

#ifndef __INetFwPolicy_FWD_DEFINED__
#define __INetFwPolicy_FWD_DEFINED__
typedef interface INetFwPolicy INetFwPolicy;
#endif

#ifndef __INetFwMgr_FWD_DEFINED__
#define __INetFwMgr_FWD_DEFINED__
typedef interface INetFwMgr INetFwMgr;
#endif

#ifndef __NetFwOpenPort_FWD_DEFINED__
#define __NetFwOpenPort_FWD_DEFINED__
#ifdef __cplusplus
typedef class NetFwOpenPort NetFwOpenPort;
#else
typedef struct NetFwOpenPort NetFwOpenPort;
#endif /* defined __cplusplus */
#endif /* defined __NetFwOpenPort_FWD_DEFINED__ */

#ifndef __NetFwAuthorizedApplication_FWD_DEFINED__
#define __NetFwAuthorizedApplication_FWD_DEFINED__
#ifdef __cplusplus
typedef class NetFwAuthorizedApplication NetFwAuthorizedApplication;
#else
typedef struct NetFwAuthorizedApplication NetFwAuthorizedApplication;
#endif /* defined __cplusplus */
#endif /* defined __NetFwAuthorizedApplication_FWD_DEFINED__ */

#ifndef __NetFwMgr_FWD_DEFINED__
#define __NetFwMgr_FWD_DEFINED__
#ifdef __cplusplus
typedef class NetFwMgr NetFwMgr;
#else
typedef struct NetFwMgr NetFwMgr;
#endif /* defined __cplusplus */
#endif /* defined __NetFwMgr_FWD_DEFINED__ */

/* Headers for imported files */

#include <icftypes.h>
#include <oaidl.h>

#ifdef __cplusplus
extern "C" {
#endif

/*****************************************************************************
 * INetFwIcmpSettings interface
 */
#ifndef __INetFwIcmpSettings_INTERFACE_DEFINED__
#define __INetFwIcmpSettings_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwIcmpSettings, 0xa6207b2e, 0x7cdd, 0x426a, 0x95,0x1e, 0x5e,0x1c,0xbc,0x5a,0xfe,0xad);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a6207b2e-7cdd-426a-951e-5e1cbc5afead")
INetFwIcmpSettings : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_AllowOutboundDestinationUnreachable(
        VARIANT_BOOL *allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AllowOutboundDestinationUnreachable(
        VARIANT_BOOL allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AllowRedirect(
        VARIANT_BOOL *allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AllowRedirect(
        VARIANT_BOOL allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AllowInboundEchoRequest(
        VARIANT_BOOL *allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AllowInboundEchoRequest(
        VARIANT_BOOL allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AllowOutboundTimeExceeded(
        VARIANT_BOOL *allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AllowOutboundTimeExceeded(
        VARIANT_BOOL allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AllowOutboundParameterProblem(
        VARIANT_BOOL *allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AllowOutboundParameterProblem(
        VARIANT_BOOL allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AllowOutboundSourceQuench(
        VARIANT_BOOL *allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AllowOutboundSourceQuench(
        VARIANT_BOOL allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AllowInboundRouterRequest(
        VARIANT_BOOL *allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AllowInboundRouterRequest(
        VARIANT_BOOL allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AllowInboundTimestampRequest(
        VARIANT_BOOL *allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AllowInboundTimestampRequest(
        VARIANT_BOOL allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AllowInboundMaskRequest(
        VARIANT_BOOL *allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AllowInboundMaskRequest(
        VARIANT_BOOL allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AllowOutboundPacketTooBig(
        VARIANT_BOOL *allow) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AllowOutboundPacketTooBig(
        VARIANT_BOOL allow) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwIcmpSettings, 0xa6207b2e, 0x7cdd, 0x426a, 0x95,0x1e, 0x5e,0x1c,0xbc,0x5a,0xfe,0xad)
#endif
#else
typedef struct INetFwIcmpSettingsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwIcmpSettings* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwIcmpSettings* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwIcmpSettings* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwIcmpSettings* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwIcmpSettings* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwIcmpSettings* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwIcmpSettings* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwIcmpSettings methods ***/
    HRESULT (STDMETHODCALLTYPE *get_AllowOutboundDestinationUnreachable)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL *allow);

    HRESULT (STDMETHODCALLTYPE *put_AllowOutboundDestinationUnreachable)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL allow);

    HRESULT (STDMETHODCALLTYPE *get_AllowRedirect)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL *allow);

    HRESULT (STDMETHODCALLTYPE *put_AllowRedirect)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL allow);

    HRESULT (STDMETHODCALLTYPE *get_AllowInboundEchoRequest)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL *allow);

    HRESULT (STDMETHODCALLTYPE *put_AllowInboundEchoRequest)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL allow);

    HRESULT (STDMETHODCALLTYPE *get_AllowOutboundTimeExceeded)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL *allow);

    HRESULT (STDMETHODCALLTYPE *put_AllowOutboundTimeExceeded)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL allow);

    HRESULT (STDMETHODCALLTYPE *get_AllowOutboundParameterProblem)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL *allow);

    HRESULT (STDMETHODCALLTYPE *put_AllowOutboundParameterProblem)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL allow);

    HRESULT (STDMETHODCALLTYPE *get_AllowOutboundSourceQuench)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL *allow);

    HRESULT (STDMETHODCALLTYPE *put_AllowOutboundSourceQuench)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL allow);

    HRESULT (STDMETHODCALLTYPE *get_AllowInboundRouterRequest)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL *allow);

    HRESULT (STDMETHODCALLTYPE *put_AllowInboundRouterRequest)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL allow);

    HRESULT (STDMETHODCALLTYPE *get_AllowInboundTimestampRequest)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL *allow);

    HRESULT (STDMETHODCALLTYPE *put_AllowInboundTimestampRequest)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL allow);

    HRESULT (STDMETHODCALLTYPE *get_AllowInboundMaskRequest)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL *allow);

    HRESULT (STDMETHODCALLTYPE *put_AllowInboundMaskRequest)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL allow);

    HRESULT (STDMETHODCALLTYPE *get_AllowOutboundPacketTooBig)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL *allow);

    HRESULT (STDMETHODCALLTYPE *put_AllowOutboundPacketTooBig)(
        INetFwIcmpSettings* This,
        VARIANT_BOOL allow);

    END_INTERFACE
} INetFwIcmpSettingsVtbl;
interface INetFwIcmpSettings {
    CONST_VTBL INetFwIcmpSettingsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwIcmpSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwIcmpSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwIcmpSettings_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwIcmpSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwIcmpSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwIcmpSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwIcmpSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwIcmpSettings methods ***/
#define INetFwIcmpSettings_get_AllowOutboundDestinationUnreachable(This,allow) (This)->lpVtbl->get_AllowOutboundDestinationUnreachable(This,allow)
#define INetFwIcmpSettings_put_AllowOutboundDestinationUnreachable(This,allow) (This)->lpVtbl->put_AllowOutboundDestinationUnreachable(This,allow)
#define INetFwIcmpSettings_get_AllowRedirect(This,allow) (This)->lpVtbl->get_AllowRedirect(This,allow)
#define INetFwIcmpSettings_put_AllowRedirect(This,allow) (This)->lpVtbl->put_AllowRedirect(This,allow)
#define INetFwIcmpSettings_get_AllowInboundEchoRequest(This,allow) (This)->lpVtbl->get_AllowInboundEchoRequest(This,allow)
#define INetFwIcmpSettings_put_AllowInboundEchoRequest(This,allow) (This)->lpVtbl->put_AllowInboundEchoRequest(This,allow)
#define INetFwIcmpSettings_get_AllowOutboundTimeExceeded(This,allow) (This)->lpVtbl->get_AllowOutboundTimeExceeded(This,allow)
#define INetFwIcmpSettings_put_AllowOutboundTimeExceeded(This,allow) (This)->lpVtbl->put_AllowOutboundTimeExceeded(This,allow)
#define INetFwIcmpSettings_get_AllowOutboundParameterProblem(This,allow) (This)->lpVtbl->get_AllowOutboundParameterProblem(This,allow)
#define INetFwIcmpSettings_put_AllowOutboundParameterProblem(This,allow) (This)->lpVtbl->put_AllowOutboundParameterProblem(This,allow)
#define INetFwIcmpSettings_get_AllowOutboundSourceQuench(This,allow) (This)->lpVtbl->get_AllowOutboundSourceQuench(This,allow)
#define INetFwIcmpSettings_put_AllowOutboundSourceQuench(This,allow) (This)->lpVtbl->put_AllowOutboundSourceQuench(This,allow)
#define INetFwIcmpSettings_get_AllowInboundRouterRequest(This,allow) (This)->lpVtbl->get_AllowInboundRouterRequest(This,allow)
#define INetFwIcmpSettings_put_AllowInboundRouterRequest(This,allow) (This)->lpVtbl->put_AllowInboundRouterRequest(This,allow)
#define INetFwIcmpSettings_get_AllowInboundTimestampRequest(This,allow) (This)->lpVtbl->get_AllowInboundTimestampRequest(This,allow)
#define INetFwIcmpSettings_put_AllowInboundTimestampRequest(This,allow) (This)->lpVtbl->put_AllowInboundTimestampRequest(This,allow)
#define INetFwIcmpSettings_get_AllowInboundMaskRequest(This,allow) (This)->lpVtbl->get_AllowInboundMaskRequest(This,allow)
#define INetFwIcmpSettings_put_AllowInboundMaskRequest(This,allow) (This)->lpVtbl->put_AllowInboundMaskRequest(This,allow)
#define INetFwIcmpSettings_get_AllowOutboundPacketTooBig(This,allow) (This)->lpVtbl->get_AllowOutboundPacketTooBig(This,allow)
#define INetFwIcmpSettings_put_AllowOutboundPacketTooBig(This,allow) (This)->lpVtbl->put_AllowOutboundPacketTooBig(This,allow)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwIcmpSettings_QueryInterface(INetFwIcmpSettings* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwIcmpSettings_AddRef(INetFwIcmpSettings* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwIcmpSettings_Release(INetFwIcmpSettings* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwIcmpSettings_GetTypeInfoCount(INetFwIcmpSettings* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_GetTypeInfo(INetFwIcmpSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_GetIDsOfNames(INetFwIcmpSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_Invoke(INetFwIcmpSettings* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwIcmpSettings methods ***/
static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowOutboundDestinationUnreachable(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    return This->lpVtbl->get_AllowOutboundDestinationUnreachable(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowOutboundDestinationUnreachable(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    return This->lpVtbl->put_AllowOutboundDestinationUnreachable(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowRedirect(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    return This->lpVtbl->get_AllowRedirect(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowRedirect(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    return This->lpVtbl->put_AllowRedirect(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowInboundEchoRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    return This->lpVtbl->get_AllowInboundEchoRequest(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowInboundEchoRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    return This->lpVtbl->put_AllowInboundEchoRequest(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowOutboundTimeExceeded(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    return This->lpVtbl->get_AllowOutboundTimeExceeded(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowOutboundTimeExceeded(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    return This->lpVtbl->put_AllowOutboundTimeExceeded(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowOutboundParameterProblem(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    return This->lpVtbl->get_AllowOutboundParameterProblem(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowOutboundParameterProblem(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    return This->lpVtbl->put_AllowOutboundParameterProblem(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowOutboundSourceQuench(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    return This->lpVtbl->get_AllowOutboundSourceQuench(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowOutboundSourceQuench(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    return This->lpVtbl->put_AllowOutboundSourceQuench(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowInboundRouterRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    return This->lpVtbl->get_AllowInboundRouterRequest(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowInboundRouterRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    return This->lpVtbl->put_AllowInboundRouterRequest(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowInboundTimestampRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    return This->lpVtbl->get_AllowInboundTimestampRequest(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowInboundTimestampRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    return This->lpVtbl->put_AllowInboundTimestampRequest(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowInboundMaskRequest(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    return This->lpVtbl->get_AllowInboundMaskRequest(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowInboundMaskRequest(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    return This->lpVtbl->put_AllowInboundMaskRequest(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_get_AllowOutboundPacketTooBig(INetFwIcmpSettings* This,VARIANT_BOOL *allow) {
    return This->lpVtbl->get_AllowOutboundPacketTooBig(This,allow);
}
static FORCEINLINE HRESULT INetFwIcmpSettings_put_AllowOutboundPacketTooBig(INetFwIcmpSettings* This,VARIANT_BOOL allow) {
    return This->lpVtbl->put_AllowOutboundPacketTooBig(This,allow);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_get_AllowOutboundDestinationUnreachable_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL *allow);
void __RPC_STUB INetFwIcmpSettings_get_AllowOutboundDestinationUnreachable_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_put_AllowOutboundDestinationUnreachable_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL allow);
void __RPC_STUB INetFwIcmpSettings_put_AllowOutboundDestinationUnreachable_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_get_AllowRedirect_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL *allow);
void __RPC_STUB INetFwIcmpSettings_get_AllowRedirect_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_put_AllowRedirect_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL allow);
void __RPC_STUB INetFwIcmpSettings_put_AllowRedirect_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_get_AllowInboundEchoRequest_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL *allow);
void __RPC_STUB INetFwIcmpSettings_get_AllowInboundEchoRequest_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_put_AllowInboundEchoRequest_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL allow);
void __RPC_STUB INetFwIcmpSettings_put_AllowInboundEchoRequest_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_get_AllowOutboundTimeExceeded_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL *allow);
void __RPC_STUB INetFwIcmpSettings_get_AllowOutboundTimeExceeded_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_put_AllowOutboundTimeExceeded_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL allow);
void __RPC_STUB INetFwIcmpSettings_put_AllowOutboundTimeExceeded_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_get_AllowOutboundParameterProblem_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL *allow);
void __RPC_STUB INetFwIcmpSettings_get_AllowOutboundParameterProblem_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_put_AllowOutboundParameterProblem_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL allow);
void __RPC_STUB INetFwIcmpSettings_put_AllowOutboundParameterProblem_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_get_AllowOutboundSourceQuench_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL *allow);
void __RPC_STUB INetFwIcmpSettings_get_AllowOutboundSourceQuench_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_put_AllowOutboundSourceQuench_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL allow);
void __RPC_STUB INetFwIcmpSettings_put_AllowOutboundSourceQuench_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_get_AllowInboundRouterRequest_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL *allow);
void __RPC_STUB INetFwIcmpSettings_get_AllowInboundRouterRequest_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_put_AllowInboundRouterRequest_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL allow);
void __RPC_STUB INetFwIcmpSettings_put_AllowInboundRouterRequest_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_get_AllowInboundTimestampRequest_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL *allow);
void __RPC_STUB INetFwIcmpSettings_get_AllowInboundTimestampRequest_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_put_AllowInboundTimestampRequest_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL allow);
void __RPC_STUB INetFwIcmpSettings_put_AllowInboundTimestampRequest_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_get_AllowInboundMaskRequest_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL *allow);
void __RPC_STUB INetFwIcmpSettings_get_AllowInboundMaskRequest_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_put_AllowInboundMaskRequest_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL allow);
void __RPC_STUB INetFwIcmpSettings_put_AllowInboundMaskRequest_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_get_AllowOutboundPacketTooBig_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL *allow);
void __RPC_STUB INetFwIcmpSettings_get_AllowOutboundPacketTooBig_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwIcmpSettings_put_AllowOutboundPacketTooBig_Proxy(
    INetFwIcmpSettings* This,
    VARIANT_BOOL allow);
void __RPC_STUB INetFwIcmpSettings_put_AllowOutboundPacketTooBig_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwIcmpSettings_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INetFwOpenPort interface
 */
#ifndef __INetFwOpenPort_INTERFACE_DEFINED__
#define __INetFwOpenPort_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwOpenPort, 0xe0483ba0, 0x47ff, 0x4d9c, 0xa6,0xd6, 0x77,0x41,0xd0,0xb1,0x95,0xf7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e0483ba0-47ff-4d9c-a6d6-7741d0b195f7")
INetFwOpenPort : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Name(
        BSTR *name) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Name(
        BSTR name) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_IpVersion(
        NET_FW_IP_VERSION *ipVersion) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_IpVersion(
        NET_FW_IP_VERSION ipVersion) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Protocol(
        NET_FW_IP_PROTOCOL *ipProtocol) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Protocol(
        NET_FW_IP_PROTOCOL ipProtocol) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Port(
        LONG *portNumber) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Port(
        LONG portNumber) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Scope(
        NET_FW_SCOPE *scope) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Scope(
        NET_FW_SCOPE scope) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_RemoteAddresses(
        BSTR *remoteAddrs) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_RemoteAddresses(
        BSTR remoteAddrs) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Enabled(
        VARIANT_BOOL *enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Enabled(
        VARIANT_BOOL enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_BuiltIn(
        VARIANT_BOOL *builtIn) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwOpenPort, 0xe0483ba0, 0x47ff, 0x4d9c, 0xa6,0xd6, 0x77,0x41,0xd0,0xb1,0x95,0xf7)
#endif
#else
typedef struct INetFwOpenPortVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwOpenPort* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwOpenPort* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwOpenPort* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwOpenPort* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwOpenPort* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwOpenPort* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwOpenPort* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwOpenPort methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Name)(
        INetFwOpenPort* This,
        BSTR *name);

    HRESULT (STDMETHODCALLTYPE *put_Name)(
        INetFwOpenPort* This,
        BSTR name);

    HRESULT (STDMETHODCALLTYPE *get_IpVersion)(
        INetFwOpenPort* This,
        NET_FW_IP_VERSION *ipVersion);

    HRESULT (STDMETHODCALLTYPE *put_IpVersion)(
        INetFwOpenPort* This,
        NET_FW_IP_VERSION ipVersion);

    HRESULT (STDMETHODCALLTYPE *get_Protocol)(
        INetFwOpenPort* This,
        NET_FW_IP_PROTOCOL *ipProtocol);

    HRESULT (STDMETHODCALLTYPE *put_Protocol)(
        INetFwOpenPort* This,
        NET_FW_IP_PROTOCOL ipProtocol);

    HRESULT (STDMETHODCALLTYPE *get_Port)(
        INetFwOpenPort* This,
        LONG *portNumber);

    HRESULT (STDMETHODCALLTYPE *put_Port)(
        INetFwOpenPort* This,
        LONG portNumber);

    HRESULT (STDMETHODCALLTYPE *get_Scope)(
        INetFwOpenPort* This,
        NET_FW_SCOPE *scope);

    HRESULT (STDMETHODCALLTYPE *put_Scope)(
        INetFwOpenPort* This,
        NET_FW_SCOPE scope);

    HRESULT (STDMETHODCALLTYPE *get_RemoteAddresses)(
        INetFwOpenPort* This,
        BSTR *remoteAddrs);

    HRESULT (STDMETHODCALLTYPE *put_RemoteAddresses)(
        INetFwOpenPort* This,
        BSTR remoteAddrs);

    HRESULT (STDMETHODCALLTYPE *get_Enabled)(
        INetFwOpenPort* This,
        VARIANT_BOOL *enabled);

    HRESULT (STDMETHODCALLTYPE *put_Enabled)(
        INetFwOpenPort* This,
        VARIANT_BOOL enabled);

    HRESULT (STDMETHODCALLTYPE *get_BuiltIn)(
        INetFwOpenPort* This,
        VARIANT_BOOL *builtIn);

    END_INTERFACE
} INetFwOpenPortVtbl;
interface INetFwOpenPort {
    CONST_VTBL INetFwOpenPortVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwOpenPort_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwOpenPort_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwOpenPort_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwOpenPort_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwOpenPort_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwOpenPort_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwOpenPort_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwOpenPort methods ***/
#define INetFwOpenPort_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
#define INetFwOpenPort_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
#define INetFwOpenPort_get_IpVersion(This,ipVersion) (This)->lpVtbl->get_IpVersion(This,ipVersion)
#define INetFwOpenPort_put_IpVersion(This,ipVersion) (This)->lpVtbl->put_IpVersion(This,ipVersion)
#define INetFwOpenPort_get_Protocol(This,ipProtocol) (This)->lpVtbl->get_Protocol(This,ipProtocol)
#define INetFwOpenPort_put_Protocol(This,ipProtocol) (This)->lpVtbl->put_Protocol(This,ipProtocol)
#define INetFwOpenPort_get_Port(This,portNumber) (This)->lpVtbl->get_Port(This,portNumber)
#define INetFwOpenPort_put_Port(This,portNumber) (This)->lpVtbl->put_Port(This,portNumber)
#define INetFwOpenPort_get_Scope(This,scope) (This)->lpVtbl->get_Scope(This,scope)
#define INetFwOpenPort_put_Scope(This,scope) (This)->lpVtbl->put_Scope(This,scope)
#define INetFwOpenPort_get_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->get_RemoteAddresses(This,remoteAddrs)
#define INetFwOpenPort_put_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->put_RemoteAddresses(This,remoteAddrs)
#define INetFwOpenPort_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled)
#define INetFwOpenPort_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled)
#define INetFwOpenPort_get_BuiltIn(This,builtIn) (This)->lpVtbl->get_BuiltIn(This,builtIn)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwOpenPort_QueryInterface(INetFwOpenPort* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwOpenPort_AddRef(INetFwOpenPort* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwOpenPort_Release(INetFwOpenPort* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwOpenPort_GetTypeInfoCount(INetFwOpenPort* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwOpenPort_GetTypeInfo(INetFwOpenPort* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwOpenPort_GetIDsOfNames(INetFwOpenPort* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwOpenPort_Invoke(INetFwOpenPort* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwOpenPort methods ***/
static FORCEINLINE HRESULT INetFwOpenPort_get_Name(INetFwOpenPort* This,BSTR *name) {
    return This->lpVtbl->get_Name(This,name);
}
static FORCEINLINE HRESULT INetFwOpenPort_put_Name(INetFwOpenPort* This,BSTR name) {
    return This->lpVtbl->put_Name(This,name);
}
static FORCEINLINE HRESULT INetFwOpenPort_get_IpVersion(INetFwOpenPort* This,NET_FW_IP_VERSION *ipVersion) {
    return This->lpVtbl->get_IpVersion(This,ipVersion);
}
static FORCEINLINE HRESULT INetFwOpenPort_put_IpVersion(INetFwOpenPort* This,NET_FW_IP_VERSION ipVersion) {
    return This->lpVtbl->put_IpVersion(This,ipVersion);
}
static FORCEINLINE HRESULT INetFwOpenPort_get_Protocol(INetFwOpenPort* This,NET_FW_IP_PROTOCOL *ipProtocol) {
    return This->lpVtbl->get_Protocol(This,ipProtocol);
}
static FORCEINLINE HRESULT INetFwOpenPort_put_Protocol(INetFwOpenPort* This,NET_FW_IP_PROTOCOL ipProtocol) {
    return This->lpVtbl->put_Protocol(This,ipProtocol);
}
static FORCEINLINE HRESULT INetFwOpenPort_get_Port(INetFwOpenPort* This,LONG *portNumber) {
    return This->lpVtbl->get_Port(This,portNumber);
}
static FORCEINLINE HRESULT INetFwOpenPort_put_Port(INetFwOpenPort* This,LONG portNumber) {
    return This->lpVtbl->put_Port(This,portNumber);
}
static FORCEINLINE HRESULT INetFwOpenPort_get_Scope(INetFwOpenPort* This,NET_FW_SCOPE *scope) {
    return This->lpVtbl->get_Scope(This,scope);
}
static FORCEINLINE HRESULT INetFwOpenPort_put_Scope(INetFwOpenPort* This,NET_FW_SCOPE scope) {
    return This->lpVtbl->put_Scope(This,scope);
}
static FORCEINLINE HRESULT INetFwOpenPort_get_RemoteAddresses(INetFwOpenPort* This,BSTR *remoteAddrs) {
    return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
}
static FORCEINLINE HRESULT INetFwOpenPort_put_RemoteAddresses(INetFwOpenPort* This,BSTR remoteAddrs) {
    return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
}
static FORCEINLINE HRESULT INetFwOpenPort_get_Enabled(INetFwOpenPort* This,VARIANT_BOOL *enabled) {
    return This->lpVtbl->get_Enabled(This,enabled);
}
static FORCEINLINE HRESULT INetFwOpenPort_put_Enabled(INetFwOpenPort* This,VARIANT_BOOL enabled) {
    return This->lpVtbl->put_Enabled(This,enabled);
}
static FORCEINLINE HRESULT INetFwOpenPort_get_BuiltIn(INetFwOpenPort* This,VARIANT_BOOL *builtIn) {
    return This->lpVtbl->get_BuiltIn(This,builtIn);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwOpenPort_get_Name_Proxy(
    INetFwOpenPort* This,
    BSTR *name);
void __RPC_STUB INetFwOpenPort_get_Name_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_put_Name_Proxy(
    INetFwOpenPort* This,
    BSTR name);
void __RPC_STUB INetFwOpenPort_put_Name_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_get_IpVersion_Proxy(
    INetFwOpenPort* This,
    NET_FW_IP_VERSION *ipVersion);
void __RPC_STUB INetFwOpenPort_get_IpVersion_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_put_IpVersion_Proxy(
    INetFwOpenPort* This,
    NET_FW_IP_VERSION ipVersion);
void __RPC_STUB INetFwOpenPort_put_IpVersion_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_get_Protocol_Proxy(
    INetFwOpenPort* This,
    NET_FW_IP_PROTOCOL *ipProtocol);
void __RPC_STUB INetFwOpenPort_get_Protocol_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_put_Protocol_Proxy(
    INetFwOpenPort* This,
    NET_FW_IP_PROTOCOL ipProtocol);
void __RPC_STUB INetFwOpenPort_put_Protocol_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_get_Port_Proxy(
    INetFwOpenPort* This,
    LONG *portNumber);
void __RPC_STUB INetFwOpenPort_get_Port_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_put_Port_Proxy(
    INetFwOpenPort* This,
    LONG portNumber);
void __RPC_STUB INetFwOpenPort_put_Port_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_get_Scope_Proxy(
    INetFwOpenPort* This,
    NET_FW_SCOPE *scope);
void __RPC_STUB INetFwOpenPort_get_Scope_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_put_Scope_Proxy(
    INetFwOpenPort* This,
    NET_FW_SCOPE scope);
void __RPC_STUB INetFwOpenPort_put_Scope_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_get_RemoteAddresses_Proxy(
    INetFwOpenPort* This,
    BSTR *remoteAddrs);
void __RPC_STUB INetFwOpenPort_get_RemoteAddresses_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_put_RemoteAddresses_Proxy(
    INetFwOpenPort* This,
    BSTR remoteAddrs);
void __RPC_STUB INetFwOpenPort_put_RemoteAddresses_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_get_Enabled_Proxy(
    INetFwOpenPort* This,
    VARIANT_BOOL *enabled);
void __RPC_STUB INetFwOpenPort_get_Enabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_put_Enabled_Proxy(
    INetFwOpenPort* This,
    VARIANT_BOOL enabled);
void __RPC_STUB INetFwOpenPort_put_Enabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPort_get_BuiltIn_Proxy(
    INetFwOpenPort* This,
    VARIANT_BOOL *builtIn);
void __RPC_STUB INetFwOpenPort_get_BuiltIn_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwOpenPort_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INetFwOpenPorts interface
 */
#ifndef __INetFwOpenPorts_INTERFACE_DEFINED__
#define __INetFwOpenPorts_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwOpenPorts, 0xc0e9d7fa, 0xe07e, 0x430a, 0xb1,0x9a, 0x09,0x0c,0xe8,0x2d,0x92,0xe2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c0e9d7fa-e07e-430a-b19a-090ce82d92e2")
INetFwOpenPorts : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Count(
        LONG *count) = 0;

    virtual HRESULT STDMETHODCALLTYPE Add(
        INetFwOpenPort *port) = 0;

    virtual HRESULT STDMETHODCALLTYPE Remove(
        LONG portNumber,
        NET_FW_IP_PROTOCOL ipProtocol) = 0;

    virtual HRESULT STDMETHODCALLTYPE Item(
        LONG portNumber,
        NET_FW_IP_PROTOCOL ipProtocol,
        INetFwOpenPort **openPort) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
        IUnknown **newEnum) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwOpenPorts, 0xc0e9d7fa, 0xe07e, 0x430a, 0xb1,0x9a, 0x09,0x0c,0xe8,0x2d,0x92,0xe2)
#endif
#else
typedef struct INetFwOpenPortsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwOpenPorts* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwOpenPorts* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwOpenPorts* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwOpenPorts* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwOpenPorts* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwOpenPorts* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwOpenPorts* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwOpenPorts methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Count)(
        INetFwOpenPorts* This,
        LONG *count);

    HRESULT (STDMETHODCALLTYPE *Add)(
        INetFwOpenPorts* This,
        INetFwOpenPort *port);

    HRESULT (STDMETHODCALLTYPE *Remove)(
        INetFwOpenPorts* This,
        LONG portNumber,
        NET_FW_IP_PROTOCOL ipProtocol);

    HRESULT (STDMETHODCALLTYPE *Item)(
        INetFwOpenPorts* This,
        LONG portNumber,
        NET_FW_IP_PROTOCOL ipProtocol,
        INetFwOpenPort **openPort);

    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
        INetFwOpenPorts* This,
        IUnknown **newEnum);

    END_INTERFACE
} INetFwOpenPortsVtbl;
interface INetFwOpenPorts {
    CONST_VTBL INetFwOpenPortsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwOpenPorts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwOpenPorts_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwOpenPorts_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwOpenPorts_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwOpenPorts_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwOpenPorts_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwOpenPorts_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwOpenPorts methods ***/
#define INetFwOpenPorts_get_Count(This,count) (This)->lpVtbl->get_Count(This,count)
#define INetFwOpenPorts_Add(This,port) (This)->lpVtbl->Add(This,port)
#define INetFwOpenPorts_Remove(This,portNumber,ipProtocol) (This)->lpVtbl->Remove(This,portNumber,ipProtocol)
#define INetFwOpenPorts_Item(This,portNumber,ipProtocol,openPort) (This)->lpVtbl->Item(This,portNumber,ipProtocol,openPort)
#define INetFwOpenPorts_get__NewEnum(This,newEnum) (This)->lpVtbl->get__NewEnum(This,newEnum)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwOpenPorts_QueryInterface(INetFwOpenPorts* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwOpenPorts_AddRef(INetFwOpenPorts* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwOpenPorts_Release(INetFwOpenPorts* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwOpenPorts_GetTypeInfoCount(INetFwOpenPorts* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwOpenPorts_GetTypeInfo(INetFwOpenPorts* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwOpenPorts_GetIDsOfNames(INetFwOpenPorts* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwOpenPorts_Invoke(INetFwOpenPorts* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwOpenPorts methods ***/
static FORCEINLINE HRESULT INetFwOpenPorts_get_Count(INetFwOpenPorts* This,LONG *count) {
    return This->lpVtbl->get_Count(This,count);
}
static FORCEINLINE HRESULT INetFwOpenPorts_Add(INetFwOpenPorts* This,INetFwOpenPort *port) {
    return This->lpVtbl->Add(This,port);
}
static FORCEINLINE HRESULT INetFwOpenPorts_Remove(INetFwOpenPorts* This,LONG portNumber,NET_FW_IP_PROTOCOL ipProtocol) {
    return This->lpVtbl->Remove(This,portNumber,ipProtocol);
}
static FORCEINLINE HRESULT INetFwOpenPorts_Item(INetFwOpenPorts* This,LONG portNumber,NET_FW_IP_PROTOCOL ipProtocol,INetFwOpenPort **openPort) {
    return This->lpVtbl->Item(This,portNumber,ipProtocol,openPort);
}
static FORCEINLINE HRESULT INetFwOpenPorts_get__NewEnum(INetFwOpenPorts* This,IUnknown **newEnum) {
    return This->lpVtbl->get__NewEnum(This,newEnum);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwOpenPorts_get_Count_Proxy(
    INetFwOpenPorts* This,
    LONG *count);
void __RPC_STUB INetFwOpenPorts_get_Count_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPorts_Add_Proxy(
    INetFwOpenPorts* This,
    INetFwOpenPort *port);
void __RPC_STUB INetFwOpenPorts_Add_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPorts_Remove_Proxy(
    INetFwOpenPorts* This,
    LONG portNumber,
    NET_FW_IP_PROTOCOL ipProtocol);
void __RPC_STUB INetFwOpenPorts_Remove_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPorts_Item_Proxy(
    INetFwOpenPorts* This,
    LONG portNumber,
    NET_FW_IP_PROTOCOL ipProtocol,
    INetFwOpenPort **openPort);
void __RPC_STUB INetFwOpenPorts_Item_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwOpenPorts_get__NewEnum_Proxy(
    INetFwOpenPorts* This,
    IUnknown **newEnum);
void __RPC_STUB INetFwOpenPorts_get__NewEnum_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwOpenPorts_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INetFwService interface
 */
#ifndef __INetFwService_INTERFACE_DEFINED__
#define __INetFwService_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwService, 0x79fd57c8, 0x908e, 0x4a36, 0x98,0x88, 0xd5,0xb3,0xf0,0xa4,0x44,0xcf);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("79fd57c8-908e-4a36-9888-d5b3f0a444cf")
INetFwService : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Name(
        BSTR *name) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Type(
        NET_FW_SERVICE_TYPE *type) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Customized(
        VARIANT_BOOL *customized) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_IpVersion(
        NET_FW_IP_VERSION *ipVersion) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_IpVersion(
        NET_FW_IP_VERSION ipVersion) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Scope(
        NET_FW_SCOPE *scope) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Scope(
        NET_FW_SCOPE scope) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_RemoteAddresses(
        BSTR *remoteAddrs) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_RemoteAddresses(
        BSTR remoteAddrs) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Enabled(
        VARIANT_BOOL *enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Enabled(
        VARIANT_BOOL enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_GloballyOpenPorts(
        INetFwOpenPorts **openPorts) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwService, 0x79fd57c8, 0x908e, 0x4a36, 0x98,0x88, 0xd5,0xb3,0xf0,0xa4,0x44,0xcf)
#endif
#else
typedef struct INetFwServiceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwService* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwService* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwService* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwService* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwService* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwService* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwService* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwService methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Name)(
        INetFwService* This,
        BSTR *name);

    HRESULT (STDMETHODCALLTYPE *get_Type)(
        INetFwService* This,
        NET_FW_SERVICE_TYPE *type);

    HRESULT (STDMETHODCALLTYPE *get_Customized)(
        INetFwService* This,
        VARIANT_BOOL *customized);

    HRESULT (STDMETHODCALLTYPE *get_IpVersion)(
        INetFwService* This,
        NET_FW_IP_VERSION *ipVersion);

    HRESULT (STDMETHODCALLTYPE *put_IpVersion)(
        INetFwService* This,
        NET_FW_IP_VERSION ipVersion);

    HRESULT (STDMETHODCALLTYPE *get_Scope)(
        INetFwService* This,
        NET_FW_SCOPE *scope);

    HRESULT (STDMETHODCALLTYPE *put_Scope)(
        INetFwService* This,
        NET_FW_SCOPE scope);

    HRESULT (STDMETHODCALLTYPE *get_RemoteAddresses)(
        INetFwService* This,
        BSTR *remoteAddrs);

    HRESULT (STDMETHODCALLTYPE *put_RemoteAddresses)(
        INetFwService* This,
        BSTR remoteAddrs);

    HRESULT (STDMETHODCALLTYPE *get_Enabled)(
        INetFwService* This,
        VARIANT_BOOL *enabled);

    HRESULT (STDMETHODCALLTYPE *put_Enabled)(
        INetFwService* This,
        VARIANT_BOOL enabled);

    HRESULT (STDMETHODCALLTYPE *get_GloballyOpenPorts)(
        INetFwService* This,
        INetFwOpenPorts **openPorts);

    END_INTERFACE
} INetFwServiceVtbl;
interface INetFwService {
    CONST_VTBL INetFwServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwService_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwService_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwService_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwService_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwService_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwService methods ***/
#define INetFwService_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
#define INetFwService_get_Type(This,type) (This)->lpVtbl->get_Type(This,type)
#define INetFwService_get_Customized(This,customized) (This)->lpVtbl->get_Customized(This,customized)
#define INetFwService_get_IpVersion(This,ipVersion) (This)->lpVtbl->get_IpVersion(This,ipVersion)
#define INetFwService_put_IpVersion(This,ipVersion) (This)->lpVtbl->put_IpVersion(This,ipVersion)
#define INetFwService_get_Scope(This,scope) (This)->lpVtbl->get_Scope(This,scope)
#define INetFwService_put_Scope(This,scope) (This)->lpVtbl->put_Scope(This,scope)
#define INetFwService_get_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->get_RemoteAddresses(This,remoteAddrs)
#define INetFwService_put_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->put_RemoteAddresses(This,remoteAddrs)
#define INetFwService_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled)
#define INetFwService_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled)
#define INetFwService_get_GloballyOpenPorts(This,openPorts) (This)->lpVtbl->get_GloballyOpenPorts(This,openPorts)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwService_QueryInterface(INetFwService* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwService_AddRef(INetFwService* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwService_Release(INetFwService* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwService_GetTypeInfoCount(INetFwService* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwService_GetTypeInfo(INetFwService* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwService_GetIDsOfNames(INetFwService* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwService_Invoke(INetFwService* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwService methods ***/
static FORCEINLINE HRESULT INetFwService_get_Name(INetFwService* This,BSTR *name) {
    return This->lpVtbl->get_Name(This,name);
}
static FORCEINLINE HRESULT INetFwService_get_Type(INetFwService* This,NET_FW_SERVICE_TYPE *type) {
    return This->lpVtbl->get_Type(This,type);
}
static FORCEINLINE HRESULT INetFwService_get_Customized(INetFwService* This,VARIANT_BOOL *customized) {
    return This->lpVtbl->get_Customized(This,customized);
}
static FORCEINLINE HRESULT INetFwService_get_IpVersion(INetFwService* This,NET_FW_IP_VERSION *ipVersion) {
    return This->lpVtbl->get_IpVersion(This,ipVersion);
}
static FORCEINLINE HRESULT INetFwService_put_IpVersion(INetFwService* This,NET_FW_IP_VERSION ipVersion) {
    return This->lpVtbl->put_IpVersion(This,ipVersion);
}
static FORCEINLINE HRESULT INetFwService_get_Scope(INetFwService* This,NET_FW_SCOPE *scope) {
    return This->lpVtbl->get_Scope(This,scope);
}
static FORCEINLINE HRESULT INetFwService_put_Scope(INetFwService* This,NET_FW_SCOPE scope) {
    return This->lpVtbl->put_Scope(This,scope);
}
static FORCEINLINE HRESULT INetFwService_get_RemoteAddresses(INetFwService* This,BSTR *remoteAddrs) {
    return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
}
static FORCEINLINE HRESULT INetFwService_put_RemoteAddresses(INetFwService* This,BSTR remoteAddrs) {
    return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
}
static FORCEINLINE HRESULT INetFwService_get_Enabled(INetFwService* This,VARIANT_BOOL *enabled) {
    return This->lpVtbl->get_Enabled(This,enabled);
}
static FORCEINLINE HRESULT INetFwService_put_Enabled(INetFwService* This,VARIANT_BOOL enabled) {
    return This->lpVtbl->put_Enabled(This,enabled);
}
static FORCEINLINE HRESULT INetFwService_get_GloballyOpenPorts(INetFwService* This,INetFwOpenPorts **openPorts) {
    return This->lpVtbl->get_GloballyOpenPorts(This,openPorts);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwService_get_Name_Proxy(
    INetFwService* This,
    BSTR *name);
void __RPC_STUB INetFwService_get_Name_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_get_Type_Proxy(
    INetFwService* This,
    NET_FW_SERVICE_TYPE *type);
void __RPC_STUB INetFwService_get_Type_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_get_Customized_Proxy(
    INetFwService* This,
    VARIANT_BOOL *customized);
void __RPC_STUB INetFwService_get_Customized_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_get_IpVersion_Proxy(
    INetFwService* This,
    NET_FW_IP_VERSION *ipVersion);
void __RPC_STUB INetFwService_get_IpVersion_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_put_IpVersion_Proxy(
    INetFwService* This,
    NET_FW_IP_VERSION ipVersion);
void __RPC_STUB INetFwService_put_IpVersion_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_get_Scope_Proxy(
    INetFwService* This,
    NET_FW_SCOPE *scope);
void __RPC_STUB INetFwService_get_Scope_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_put_Scope_Proxy(
    INetFwService* This,
    NET_FW_SCOPE scope);
void __RPC_STUB INetFwService_put_Scope_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_get_RemoteAddresses_Proxy(
    INetFwService* This,
    BSTR *remoteAddrs);
void __RPC_STUB INetFwService_get_RemoteAddresses_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_put_RemoteAddresses_Proxy(
    INetFwService* This,
    BSTR remoteAddrs);
void __RPC_STUB INetFwService_put_RemoteAddresses_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_get_Enabled_Proxy(
    INetFwService* This,
    VARIANT_BOOL *enabled);
void __RPC_STUB INetFwService_get_Enabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_put_Enabled_Proxy(
    INetFwService* This,
    VARIANT_BOOL enabled);
void __RPC_STUB INetFwService_put_Enabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwService_get_GloballyOpenPorts_Proxy(
    INetFwService* This,
    INetFwOpenPorts **openPorts);
void __RPC_STUB INetFwService_get_GloballyOpenPorts_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwService_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INetFwServices interface
 */
#ifndef __INetFwServices_INTERFACE_DEFINED__
#define __INetFwServices_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwServices, 0x79649bb4, 0x903e, 0x421b, 0x94,0xc9, 0x79,0x84,0x8e,0x79,0xf6,0xee);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("79649bb4-903e-421b-94c9-79848e79f6ee")
INetFwServices : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Count(
        LONG *count) = 0;

    virtual HRESULT STDMETHODCALLTYPE Item(
        NET_FW_SERVICE_TYPE svcType,
        INetFwService **service) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
        IUnknown **newEnum) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwServices, 0x79649bb4, 0x903e, 0x421b, 0x94,0xc9, 0x79,0x84,0x8e,0x79,0xf6,0xee)
#endif
#else
typedef struct INetFwServicesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwServices* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwServices* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwServices* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwServices* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwServices* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwServices* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwServices* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwServices methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Count)(
        INetFwServices* This,
        LONG *count);

    HRESULT (STDMETHODCALLTYPE *Item)(
        INetFwServices* This,
        NET_FW_SERVICE_TYPE svcType,
        INetFwService **service);

    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
        INetFwServices* This,
        IUnknown **newEnum);

    END_INTERFACE
} INetFwServicesVtbl;
interface INetFwServices {
    CONST_VTBL INetFwServicesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwServices_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwServices_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwServices_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwServices_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwServices_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwServices_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwServices methods ***/
#define INetFwServices_get_Count(This,count) (This)->lpVtbl->get_Count(This,count)
#define INetFwServices_Item(This,svcType,service) (This)->lpVtbl->Item(This,svcType,service)
#define INetFwServices_get__NewEnum(This,newEnum) (This)->lpVtbl->get__NewEnum(This,newEnum)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwServices_QueryInterface(INetFwServices* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwServices_AddRef(INetFwServices* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwServices_Release(INetFwServices* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwServices_GetTypeInfoCount(INetFwServices* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwServices_GetTypeInfo(INetFwServices* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwServices_GetIDsOfNames(INetFwServices* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwServices_Invoke(INetFwServices* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwServices methods ***/
static FORCEINLINE HRESULT INetFwServices_get_Count(INetFwServices* This,LONG *count) {
    return This->lpVtbl->get_Count(This,count);
}
static FORCEINLINE HRESULT INetFwServices_Item(INetFwServices* This,NET_FW_SERVICE_TYPE svcType,INetFwService **service) {
    return This->lpVtbl->Item(This,svcType,service);
}
static FORCEINLINE HRESULT INetFwServices_get__NewEnum(INetFwServices* This,IUnknown **newEnum) {
    return This->lpVtbl->get__NewEnum(This,newEnum);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwServices_get_Count_Proxy(
    INetFwServices* This,
    LONG *count);
void __RPC_STUB INetFwServices_get_Count_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwServices_Item_Proxy(
    INetFwServices* This,
    NET_FW_SERVICE_TYPE svcType,
    INetFwService **service);
void __RPC_STUB INetFwServices_Item_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwServices_get__NewEnum_Proxy(
    INetFwServices* This,
    IUnknown **newEnum);
void __RPC_STUB INetFwServices_get__NewEnum_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwServices_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INetFwAuthorizedApplication interface
 */
#ifndef __INetFwAuthorizedApplication_INTERFACE_DEFINED__
#define __INetFwAuthorizedApplication_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwAuthorizedApplication, 0xb5e64ffa, 0xc2c5, 0x444e, 0xa3,0x01, 0xfb,0x5e,0x00,0x01,0x80,0x50);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b5e64ffa-c2c5-444e-a301-fb5e00018050")
INetFwAuthorizedApplication : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Name(
        BSTR *name) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Name(
        BSTR name) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ProcessImageFileName(
        BSTR *imageFileName) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ProcessImageFileName(
        BSTR imageFileName) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_IpVersion(
        NET_FW_IP_VERSION *ipVersion) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_IpVersion(
        NET_FW_IP_VERSION ipVersion) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Scope(
        NET_FW_SCOPE *scope) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Scope(
        NET_FW_SCOPE scope) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_RemoteAddresses(
        BSTR *remoteAddrs) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_RemoteAddresses(
        BSTR remoteAddrs) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Enabled(
        VARIANT_BOOL *enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Enabled(
        VARIANT_BOOL enabled) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwAuthorizedApplication, 0xb5e64ffa, 0xc2c5, 0x444e, 0xa3,0x01, 0xfb,0x5e,0x00,0x01,0x80,0x50)
#endif
#else
typedef struct INetFwAuthorizedApplicationVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwAuthorizedApplication* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwAuthorizedApplication* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwAuthorizedApplication* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwAuthorizedApplication* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwAuthorizedApplication* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwAuthorizedApplication* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwAuthorizedApplication* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwAuthorizedApplication methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Name)(
        INetFwAuthorizedApplication* This,
        BSTR *name);

    HRESULT (STDMETHODCALLTYPE *put_Name)(
        INetFwAuthorizedApplication* This,
        BSTR name);

    HRESULT (STDMETHODCALLTYPE *get_ProcessImageFileName)(
        INetFwAuthorizedApplication* This,
        BSTR *imageFileName);

    HRESULT (STDMETHODCALLTYPE *put_ProcessImageFileName)(
        INetFwAuthorizedApplication* This,
        BSTR imageFileName);

    HRESULT (STDMETHODCALLTYPE *get_IpVersion)(
        INetFwAuthorizedApplication* This,
        NET_FW_IP_VERSION *ipVersion);

    HRESULT (STDMETHODCALLTYPE *put_IpVersion)(
        INetFwAuthorizedApplication* This,
        NET_FW_IP_VERSION ipVersion);

    HRESULT (STDMETHODCALLTYPE *get_Scope)(
        INetFwAuthorizedApplication* This,
        NET_FW_SCOPE *scope);

    HRESULT (STDMETHODCALLTYPE *put_Scope)(
        INetFwAuthorizedApplication* This,
        NET_FW_SCOPE scope);

    HRESULT (STDMETHODCALLTYPE *get_RemoteAddresses)(
        INetFwAuthorizedApplication* This,
        BSTR *remoteAddrs);

    HRESULT (STDMETHODCALLTYPE *put_RemoteAddresses)(
        INetFwAuthorizedApplication* This,
        BSTR remoteAddrs);

    HRESULT (STDMETHODCALLTYPE *get_Enabled)(
        INetFwAuthorizedApplication* This,
        VARIANT_BOOL *enabled);

    HRESULT (STDMETHODCALLTYPE *put_Enabled)(
        INetFwAuthorizedApplication* This,
        VARIANT_BOOL enabled);

    END_INTERFACE
} INetFwAuthorizedApplicationVtbl;
interface INetFwAuthorizedApplication {
    CONST_VTBL INetFwAuthorizedApplicationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwAuthorizedApplication_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwAuthorizedApplication_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwAuthorizedApplication_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwAuthorizedApplication_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwAuthorizedApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwAuthorizedApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwAuthorizedApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwAuthorizedApplication methods ***/
#define INetFwAuthorizedApplication_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
#define INetFwAuthorizedApplication_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
#define INetFwAuthorizedApplication_get_ProcessImageFileName(This,imageFileName) (This)->lpVtbl->get_ProcessImageFileName(This,imageFileName)
#define INetFwAuthorizedApplication_put_ProcessImageFileName(This,imageFileName) (This)->lpVtbl->put_ProcessImageFileName(This,imageFileName)
#define INetFwAuthorizedApplication_get_IpVersion(This,ipVersion) (This)->lpVtbl->get_IpVersion(This,ipVersion)
#define INetFwAuthorizedApplication_put_IpVersion(This,ipVersion) (This)->lpVtbl->put_IpVersion(This,ipVersion)
#define INetFwAuthorizedApplication_get_Scope(This,scope) (This)->lpVtbl->get_Scope(This,scope)
#define INetFwAuthorizedApplication_put_Scope(This,scope) (This)->lpVtbl->put_Scope(This,scope)
#define INetFwAuthorizedApplication_get_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->get_RemoteAddresses(This,remoteAddrs)
#define INetFwAuthorizedApplication_put_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->put_RemoteAddresses(This,remoteAddrs)
#define INetFwAuthorizedApplication_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled)
#define INetFwAuthorizedApplication_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwAuthorizedApplication_QueryInterface(INetFwAuthorizedApplication* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwAuthorizedApplication_AddRef(INetFwAuthorizedApplication* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwAuthorizedApplication_Release(INetFwAuthorizedApplication* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwAuthorizedApplication_GetTypeInfoCount(INetFwAuthorizedApplication* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_GetTypeInfo(INetFwAuthorizedApplication* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_GetIDsOfNames(INetFwAuthorizedApplication* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_Invoke(INetFwAuthorizedApplication* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwAuthorizedApplication methods ***/
static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_Name(INetFwAuthorizedApplication* This,BSTR *name) {
    return This->lpVtbl->get_Name(This,name);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_Name(INetFwAuthorizedApplication* This,BSTR name) {
    return This->lpVtbl->put_Name(This,name);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_ProcessImageFileName(INetFwAuthorizedApplication* This,BSTR *imageFileName) {
    return This->lpVtbl->get_ProcessImageFileName(This,imageFileName);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_ProcessImageFileName(INetFwAuthorizedApplication* This,BSTR imageFileName) {
    return This->lpVtbl->put_ProcessImageFileName(This,imageFileName);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_IpVersion(INetFwAuthorizedApplication* This,NET_FW_IP_VERSION *ipVersion) {
    return This->lpVtbl->get_IpVersion(This,ipVersion);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_IpVersion(INetFwAuthorizedApplication* This,NET_FW_IP_VERSION ipVersion) {
    return This->lpVtbl->put_IpVersion(This,ipVersion);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_Scope(INetFwAuthorizedApplication* This,NET_FW_SCOPE *scope) {
    return This->lpVtbl->get_Scope(This,scope);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_Scope(INetFwAuthorizedApplication* This,NET_FW_SCOPE scope) {
    return This->lpVtbl->put_Scope(This,scope);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_RemoteAddresses(INetFwAuthorizedApplication* This,BSTR *remoteAddrs) {
    return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_RemoteAddresses(INetFwAuthorizedApplication* This,BSTR remoteAddrs) {
    return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_get_Enabled(INetFwAuthorizedApplication* This,VARIANT_BOOL *enabled) {
    return This->lpVtbl->get_Enabled(This,enabled);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplication_put_Enabled(INetFwAuthorizedApplication* This,VARIANT_BOOL enabled) {
    return This->lpVtbl->put_Enabled(This,enabled);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_get_Name_Proxy(
    INetFwAuthorizedApplication* This,
    BSTR *name);
void __RPC_STUB INetFwAuthorizedApplication_get_Name_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_put_Name_Proxy(
    INetFwAuthorizedApplication* This,
    BSTR name);
void __RPC_STUB INetFwAuthorizedApplication_put_Name_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_get_ProcessImageFileName_Proxy(
    INetFwAuthorizedApplication* This,
    BSTR *imageFileName);
void __RPC_STUB INetFwAuthorizedApplication_get_ProcessImageFileName_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_put_ProcessImageFileName_Proxy(
    INetFwAuthorizedApplication* This,
    BSTR imageFileName);
void __RPC_STUB INetFwAuthorizedApplication_put_ProcessImageFileName_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_get_IpVersion_Proxy(
    INetFwAuthorizedApplication* This,
    NET_FW_IP_VERSION *ipVersion);
void __RPC_STUB INetFwAuthorizedApplication_get_IpVersion_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_put_IpVersion_Proxy(
    INetFwAuthorizedApplication* This,
    NET_FW_IP_VERSION ipVersion);
void __RPC_STUB INetFwAuthorizedApplication_put_IpVersion_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_get_Scope_Proxy(
    INetFwAuthorizedApplication* This,
    NET_FW_SCOPE *scope);
void __RPC_STUB INetFwAuthorizedApplication_get_Scope_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_put_Scope_Proxy(
    INetFwAuthorizedApplication* This,
    NET_FW_SCOPE scope);
void __RPC_STUB INetFwAuthorizedApplication_put_Scope_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_get_RemoteAddresses_Proxy(
    INetFwAuthorizedApplication* This,
    BSTR *remoteAddrs);
void __RPC_STUB INetFwAuthorizedApplication_get_RemoteAddresses_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_put_RemoteAddresses_Proxy(
    INetFwAuthorizedApplication* This,
    BSTR remoteAddrs);
void __RPC_STUB INetFwAuthorizedApplication_put_RemoteAddresses_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_get_Enabled_Proxy(
    INetFwAuthorizedApplication* This,
    VARIANT_BOOL *enabled);
void __RPC_STUB INetFwAuthorizedApplication_get_Enabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplication_put_Enabled_Proxy(
    INetFwAuthorizedApplication* This,
    VARIANT_BOOL enabled);
void __RPC_STUB INetFwAuthorizedApplication_put_Enabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwAuthorizedApplication_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INetFwRemoteAdminSettings interface
 */
#ifndef __INetFwRemoteAdminSettings_INTERFACE_DEFINED__
#define __INetFwRemoteAdminSettings_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwRemoteAdminSettings, 0xd4becddf, 0x6f73, 0x4a83, 0xb8,0x32, 0x9c,0x66,0x87,0x4c,0xd2,0x0e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d4becddf-6f73-4a83-b832-9c66874cd20e")
INetFwRemoteAdminSettings : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_IpVersion(
        NET_FW_IP_VERSION *ipVersion) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_IpVersion(
        NET_FW_IP_VERSION ipVersion) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Scope(
        NET_FW_SCOPE *scope) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Scope(
        NET_FW_SCOPE scope) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_RemoteAddresses(
        BSTR *remoteAddrs) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_RemoteAddresses(
        BSTR remoteAddrs) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Enabled(
        VARIANT_BOOL *enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Enabled(
        VARIANT_BOOL enabled) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwRemoteAdminSettings, 0xd4becddf, 0x6f73, 0x4a83, 0xb8,0x32, 0x9c,0x66,0x87,0x4c,0xd2,0x0e)
#endif
#else
typedef struct INetFwRemoteAdminSettingsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwRemoteAdminSettings* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwRemoteAdminSettings* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwRemoteAdminSettings* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwRemoteAdminSettings* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwRemoteAdminSettings* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwRemoteAdminSettings* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwRemoteAdminSettings* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwRemoteAdminSettings methods ***/
    HRESULT (STDMETHODCALLTYPE *get_IpVersion)(
        INetFwRemoteAdminSettings* This,
        NET_FW_IP_VERSION *ipVersion);

    HRESULT (STDMETHODCALLTYPE *put_IpVersion)(
        INetFwRemoteAdminSettings* This,
        NET_FW_IP_VERSION ipVersion);

    HRESULT (STDMETHODCALLTYPE *get_Scope)(
        INetFwRemoteAdminSettings* This,
        NET_FW_SCOPE *scope);

    HRESULT (STDMETHODCALLTYPE *put_Scope)(
        INetFwRemoteAdminSettings* This,
        NET_FW_SCOPE scope);

    HRESULT (STDMETHODCALLTYPE *get_RemoteAddresses)(
        INetFwRemoteAdminSettings* This,
        BSTR *remoteAddrs);

    HRESULT (STDMETHODCALLTYPE *put_RemoteAddresses)(
        INetFwRemoteAdminSettings* This,
        BSTR remoteAddrs);

    HRESULT (STDMETHODCALLTYPE *get_Enabled)(
        INetFwRemoteAdminSettings* This,
        VARIANT_BOOL *enabled);

    HRESULT (STDMETHODCALLTYPE *put_Enabled)(
        INetFwRemoteAdminSettings* This,
        VARIANT_BOOL enabled);

    END_INTERFACE
} INetFwRemoteAdminSettingsVtbl;
interface INetFwRemoteAdminSettings {
    CONST_VTBL INetFwRemoteAdminSettingsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwRemoteAdminSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwRemoteAdminSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwRemoteAdminSettings_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwRemoteAdminSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwRemoteAdminSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwRemoteAdminSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwRemoteAdminSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwRemoteAdminSettings methods ***/
#define INetFwRemoteAdminSettings_get_IpVersion(This,ipVersion) (This)->lpVtbl->get_IpVersion(This,ipVersion)
#define INetFwRemoteAdminSettings_put_IpVersion(This,ipVersion) (This)->lpVtbl->put_IpVersion(This,ipVersion)
#define INetFwRemoteAdminSettings_get_Scope(This,scope) (This)->lpVtbl->get_Scope(This,scope)
#define INetFwRemoteAdminSettings_put_Scope(This,scope) (This)->lpVtbl->put_Scope(This,scope)
#define INetFwRemoteAdminSettings_get_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->get_RemoteAddresses(This,remoteAddrs)
#define INetFwRemoteAdminSettings_put_RemoteAddresses(This,remoteAddrs) (This)->lpVtbl->put_RemoteAddresses(This,remoteAddrs)
#define INetFwRemoteAdminSettings_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled)
#define INetFwRemoteAdminSettings_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_QueryInterface(INetFwRemoteAdminSettings* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwRemoteAdminSettings_AddRef(INetFwRemoteAdminSettings* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwRemoteAdminSettings_Release(INetFwRemoteAdminSettings* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_GetTypeInfoCount(INetFwRemoteAdminSettings* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_GetTypeInfo(INetFwRemoteAdminSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_GetIDsOfNames(INetFwRemoteAdminSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_Invoke(INetFwRemoteAdminSettings* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwRemoteAdminSettings methods ***/
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_get_IpVersion(INetFwRemoteAdminSettings* This,NET_FW_IP_VERSION *ipVersion) {
    return This->lpVtbl->get_IpVersion(This,ipVersion);
}
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_put_IpVersion(INetFwRemoteAdminSettings* This,NET_FW_IP_VERSION ipVersion) {
    return This->lpVtbl->put_IpVersion(This,ipVersion);
}
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_get_Scope(INetFwRemoteAdminSettings* This,NET_FW_SCOPE *scope) {
    return This->lpVtbl->get_Scope(This,scope);
}
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_put_Scope(INetFwRemoteAdminSettings* This,NET_FW_SCOPE scope) {
    return This->lpVtbl->put_Scope(This,scope);
}
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_get_RemoteAddresses(INetFwRemoteAdminSettings* This,BSTR *remoteAddrs) {
    return This->lpVtbl->get_RemoteAddresses(This,remoteAddrs);
}
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_put_RemoteAddresses(INetFwRemoteAdminSettings* This,BSTR remoteAddrs) {
    return This->lpVtbl->put_RemoteAddresses(This,remoteAddrs);
}
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_get_Enabled(INetFwRemoteAdminSettings* This,VARIANT_BOOL *enabled) {
    return This->lpVtbl->get_Enabled(This,enabled);
}
static FORCEINLINE HRESULT INetFwRemoteAdminSettings_put_Enabled(INetFwRemoteAdminSettings* This,VARIANT_BOOL enabled) {
    return This->lpVtbl->put_Enabled(This,enabled);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwRemoteAdminSettings_get_IpVersion_Proxy(
    INetFwRemoteAdminSettings* This,
    NET_FW_IP_VERSION *ipVersion);
void __RPC_STUB INetFwRemoteAdminSettings_get_IpVersion_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwRemoteAdminSettings_put_IpVersion_Proxy(
    INetFwRemoteAdminSettings* This,
    NET_FW_IP_VERSION ipVersion);
void __RPC_STUB INetFwRemoteAdminSettings_put_IpVersion_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwRemoteAdminSettings_get_Scope_Proxy(
    INetFwRemoteAdminSettings* This,
    NET_FW_SCOPE *scope);
void __RPC_STUB INetFwRemoteAdminSettings_get_Scope_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwRemoteAdminSettings_put_Scope_Proxy(
    INetFwRemoteAdminSettings* This,
    NET_FW_SCOPE scope);
void __RPC_STUB INetFwRemoteAdminSettings_put_Scope_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwRemoteAdminSettings_get_RemoteAddresses_Proxy(
    INetFwRemoteAdminSettings* This,
    BSTR *remoteAddrs);
void __RPC_STUB INetFwRemoteAdminSettings_get_RemoteAddresses_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwRemoteAdminSettings_put_RemoteAddresses_Proxy(
    INetFwRemoteAdminSettings* This,
    BSTR remoteAddrs);
void __RPC_STUB INetFwRemoteAdminSettings_put_RemoteAddresses_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwRemoteAdminSettings_get_Enabled_Proxy(
    INetFwRemoteAdminSettings* This,
    VARIANT_BOOL *enabled);
void __RPC_STUB INetFwRemoteAdminSettings_get_Enabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwRemoteAdminSettings_put_Enabled_Proxy(
    INetFwRemoteAdminSettings* This,
    VARIANT_BOOL enabled);
void __RPC_STUB INetFwRemoteAdminSettings_put_Enabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwRemoteAdminSettings_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INetFwAuthorizedApplications interface
 */
#ifndef __INetFwAuthorizedApplications_INTERFACE_DEFINED__
#define __INetFwAuthorizedApplications_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwAuthorizedApplications, 0x644efd52, 0xccf9, 0x486c, 0x97,0xa2, 0x39,0xf3,0x52,0x57,0x0b,0x30);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("644efd52-ccf9-486c-97a2-39f352570b30")
INetFwAuthorizedApplications : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Count(
        LONG *count) = 0;

    virtual HRESULT STDMETHODCALLTYPE Add(
        INetFwAuthorizedApplication *app) = 0;

    virtual HRESULT STDMETHODCALLTYPE Remove(
        BSTR imageFileName) = 0;

    virtual HRESULT STDMETHODCALLTYPE Item(
        BSTR imageFileName,
        INetFwAuthorizedApplication **app) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
        IUnknown **newEnum) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwAuthorizedApplications, 0x644efd52, 0xccf9, 0x486c, 0x97,0xa2, 0x39,0xf3,0x52,0x57,0x0b,0x30)
#endif
#else
typedef struct INetFwAuthorizedApplicationsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwAuthorizedApplications* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwAuthorizedApplications* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwAuthorizedApplications* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwAuthorizedApplications* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwAuthorizedApplications* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwAuthorizedApplications* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwAuthorizedApplications* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwAuthorizedApplications methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Count)(
        INetFwAuthorizedApplications* This,
        LONG *count);

    HRESULT (STDMETHODCALLTYPE *Add)(
        INetFwAuthorizedApplications* This,
        INetFwAuthorizedApplication *app);

    HRESULT (STDMETHODCALLTYPE *Remove)(
        INetFwAuthorizedApplications* This,
        BSTR imageFileName);

    HRESULT (STDMETHODCALLTYPE *Item)(
        INetFwAuthorizedApplications* This,
        BSTR imageFileName,
        INetFwAuthorizedApplication **app);

    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
        INetFwAuthorizedApplications* This,
        IUnknown **newEnum);

    END_INTERFACE
} INetFwAuthorizedApplicationsVtbl;
interface INetFwAuthorizedApplications {
    CONST_VTBL INetFwAuthorizedApplicationsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwAuthorizedApplications_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwAuthorizedApplications_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwAuthorizedApplications_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwAuthorizedApplications_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwAuthorizedApplications_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwAuthorizedApplications_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwAuthorizedApplications_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwAuthorizedApplications methods ***/
#define INetFwAuthorizedApplications_get_Count(This,count) (This)->lpVtbl->get_Count(This,count)
#define INetFwAuthorizedApplications_Add(This,app) (This)->lpVtbl->Add(This,app)
#define INetFwAuthorizedApplications_Remove(This,imageFileName) (This)->lpVtbl->Remove(This,imageFileName)
#define INetFwAuthorizedApplications_Item(This,imageFileName,app) (This)->lpVtbl->Item(This,imageFileName,app)
#define INetFwAuthorizedApplications_get__NewEnum(This,newEnum) (This)->lpVtbl->get__NewEnum(This,newEnum)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwAuthorizedApplications_QueryInterface(INetFwAuthorizedApplications* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwAuthorizedApplications_AddRef(INetFwAuthorizedApplications* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwAuthorizedApplications_Release(INetFwAuthorizedApplications* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwAuthorizedApplications_GetTypeInfoCount(INetFwAuthorizedApplications* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplications_GetTypeInfo(INetFwAuthorizedApplications* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplications_GetIDsOfNames(INetFwAuthorizedApplications* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplications_Invoke(INetFwAuthorizedApplications* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwAuthorizedApplications methods ***/
static FORCEINLINE HRESULT INetFwAuthorizedApplications_get_Count(INetFwAuthorizedApplications* This,LONG *count) {
    return This->lpVtbl->get_Count(This,count);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplications_Add(INetFwAuthorizedApplications* This,INetFwAuthorizedApplication *app) {
    return This->lpVtbl->Add(This,app);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplications_Remove(INetFwAuthorizedApplications* This,BSTR imageFileName) {
    return This->lpVtbl->Remove(This,imageFileName);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplications_Item(INetFwAuthorizedApplications* This,BSTR imageFileName,INetFwAuthorizedApplication **app) {
    return This->lpVtbl->Item(This,imageFileName,app);
}
static FORCEINLINE HRESULT INetFwAuthorizedApplications_get__NewEnum(INetFwAuthorizedApplications* This,IUnknown **newEnum) {
    return This->lpVtbl->get__NewEnum(This,newEnum);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplications_get_Count_Proxy(
    INetFwAuthorizedApplications* This,
    LONG *count);
void __RPC_STUB INetFwAuthorizedApplications_get_Count_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplications_Add_Proxy(
    INetFwAuthorizedApplications* This,
    INetFwAuthorizedApplication *app);
void __RPC_STUB INetFwAuthorizedApplications_Add_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplications_Remove_Proxy(
    INetFwAuthorizedApplications* This,
    BSTR imageFileName);
void __RPC_STUB INetFwAuthorizedApplications_Remove_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplications_Item_Proxy(
    INetFwAuthorizedApplications* This,
    BSTR imageFileName,
    INetFwAuthorizedApplication **app);
void __RPC_STUB INetFwAuthorizedApplications_Item_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwAuthorizedApplications_get__NewEnum_Proxy(
    INetFwAuthorizedApplications* This,
    IUnknown **newEnum);
void __RPC_STUB INetFwAuthorizedApplications_get__NewEnum_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwAuthorizedApplications_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INetFwProfile interface
 */
#ifndef __INetFwProfile_INTERFACE_DEFINED__
#define __INetFwProfile_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwProfile, 0x174a0dda, 0xe9f9, 0x449d, 0x99,0x3b, 0x21,0xab,0x66,0x7c,0xa4,0x56);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("174a0dda-e9f9-449d-993b-21ab667ca456")
INetFwProfile : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Type(
        NET_FW_PROFILE_TYPE *type) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_FirewallEnabled(
        VARIANT_BOOL *enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_FirewallEnabled(
        VARIANT_BOOL enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ExceptionsNotAllowed(
        VARIANT_BOOL *notAllowed) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ExceptionsNotAllowed(
        VARIANT_BOOL notAllowed) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_NotificationsDisabled(
        VARIANT_BOOL *disabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_NotificationsDisabled(
        VARIANT_BOOL disabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_UnicastResponsesToMulticastBroadcastDisabled(
        VARIANT_BOOL *disabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_UnicastResponsesToMulticastBroadcastDisabled(
        VARIANT_BOOL disabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_RemoteAdminSettings(
        INetFwRemoteAdminSettings **remoteAdminSettings) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_IcmpSettings(
        INetFwIcmpSettings **icmpSettings) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_GloballyOpenPorts(
        INetFwOpenPorts **openPorts) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Services(
        INetFwServices **services) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AuthorizedApplications(
        INetFwAuthorizedApplications **apps) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwProfile, 0x174a0dda, 0xe9f9, 0x449d, 0x99,0x3b, 0x21,0xab,0x66,0x7c,0xa4,0x56)
#endif
#else
typedef struct INetFwProfileVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwProfile* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwProfile* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwProfile* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwProfile* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwProfile* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwProfile* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwProfile* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwProfile methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Type)(
        INetFwProfile* This,
        NET_FW_PROFILE_TYPE *type);

    HRESULT (STDMETHODCALLTYPE *get_FirewallEnabled)(
        INetFwProfile* This,
        VARIANT_BOOL *enabled);

    HRESULT (STDMETHODCALLTYPE *put_FirewallEnabled)(
        INetFwProfile* This,
        VARIANT_BOOL enabled);

    HRESULT (STDMETHODCALLTYPE *get_ExceptionsNotAllowed)(
        INetFwProfile* This,
        VARIANT_BOOL *notAllowed);

    HRESULT (STDMETHODCALLTYPE *put_ExceptionsNotAllowed)(
        INetFwProfile* This,
        VARIANT_BOOL notAllowed);

    HRESULT (STDMETHODCALLTYPE *get_NotificationsDisabled)(
        INetFwProfile* This,
        VARIANT_BOOL *disabled);

    HRESULT (STDMETHODCALLTYPE *put_NotificationsDisabled)(
        INetFwProfile* This,
        VARIANT_BOOL disabled);

    HRESULT (STDMETHODCALLTYPE *get_UnicastResponsesToMulticastBroadcastDisabled)(
        INetFwProfile* This,
        VARIANT_BOOL *disabled);

    HRESULT (STDMETHODCALLTYPE *put_UnicastResponsesToMulticastBroadcastDisabled)(
        INetFwProfile* This,
        VARIANT_BOOL disabled);

    HRESULT (STDMETHODCALLTYPE *get_RemoteAdminSettings)(
        INetFwProfile* This,
        INetFwRemoteAdminSettings **remoteAdminSettings);

    HRESULT (STDMETHODCALLTYPE *get_IcmpSettings)(
        INetFwProfile* This,
        INetFwIcmpSettings **icmpSettings);

    HRESULT (STDMETHODCALLTYPE *get_GloballyOpenPorts)(
        INetFwProfile* This,
        INetFwOpenPorts **openPorts);

    HRESULT (STDMETHODCALLTYPE *get_Services)(
        INetFwProfile* This,
        INetFwServices **services);

    HRESULT (STDMETHODCALLTYPE *get_AuthorizedApplications)(
        INetFwProfile* This,
        INetFwAuthorizedApplications **apps);

    END_INTERFACE
} INetFwProfileVtbl;
interface INetFwProfile {
    CONST_VTBL INetFwProfileVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwProfile_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwProfile_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwProfile_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwProfile_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwProfile_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwProfile_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwProfile methods ***/
#define INetFwProfile_get_Type(This,type) (This)->lpVtbl->get_Type(This,type)
#define INetFwProfile_get_FirewallEnabled(This,enabled) (This)->lpVtbl->get_FirewallEnabled(This,enabled)
#define INetFwProfile_put_FirewallEnabled(This,enabled) (This)->lpVtbl->put_FirewallEnabled(This,enabled)
#define INetFwProfile_get_ExceptionsNotAllowed(This,notAllowed) (This)->lpVtbl->get_ExceptionsNotAllowed(This,notAllowed)
#define INetFwProfile_put_ExceptionsNotAllowed(This,notAllowed) (This)->lpVtbl->put_ExceptionsNotAllowed(This,notAllowed)
#define INetFwProfile_get_NotificationsDisabled(This,disabled) (This)->lpVtbl->get_NotificationsDisabled(This,disabled)
#define INetFwProfile_put_NotificationsDisabled(This,disabled) (This)->lpVtbl->put_NotificationsDisabled(This,disabled)
#define INetFwProfile_get_UnicastResponsesToMulticastBroadcastDisabled(This,disabled) (This)->lpVtbl->get_UnicastResponsesToMulticastBroadcastDisabled(This,disabled)
#define INetFwProfile_put_UnicastResponsesToMulticastBroadcastDisabled(This,disabled) (This)->lpVtbl->put_UnicastResponsesToMulticastBroadcastDisabled(This,disabled)
#define INetFwProfile_get_RemoteAdminSettings(This,remoteAdminSettings) (This)->lpVtbl->get_RemoteAdminSettings(This,remoteAdminSettings)
#define INetFwProfile_get_IcmpSettings(This,icmpSettings) (This)->lpVtbl->get_IcmpSettings(This,icmpSettings)
#define INetFwProfile_get_GloballyOpenPorts(This,openPorts) (This)->lpVtbl->get_GloballyOpenPorts(This,openPorts)
#define INetFwProfile_get_Services(This,services) (This)->lpVtbl->get_Services(This,services)
#define INetFwProfile_get_AuthorizedApplications(This,apps) (This)->lpVtbl->get_AuthorizedApplications(This,apps)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwProfile_QueryInterface(INetFwProfile* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwProfile_AddRef(INetFwProfile* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwProfile_Release(INetFwProfile* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwProfile_GetTypeInfoCount(INetFwProfile* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwProfile_GetTypeInfo(INetFwProfile* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwProfile_GetIDsOfNames(INetFwProfile* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwProfile_Invoke(INetFwProfile* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwProfile methods ***/
static FORCEINLINE HRESULT INetFwProfile_get_Type(INetFwProfile* This,NET_FW_PROFILE_TYPE *type) {
    return This->lpVtbl->get_Type(This,type);
}
static FORCEINLINE HRESULT INetFwProfile_get_FirewallEnabled(INetFwProfile* This,VARIANT_BOOL *enabled) {
    return This->lpVtbl->get_FirewallEnabled(This,enabled);
}
static FORCEINLINE HRESULT INetFwProfile_put_FirewallEnabled(INetFwProfile* This,VARIANT_BOOL enabled) {
    return This->lpVtbl->put_FirewallEnabled(This,enabled);
}
static FORCEINLINE HRESULT INetFwProfile_get_ExceptionsNotAllowed(INetFwProfile* This,VARIANT_BOOL *notAllowed) {
    return This->lpVtbl->get_ExceptionsNotAllowed(This,notAllowed);
}
static FORCEINLINE HRESULT INetFwProfile_put_ExceptionsNotAllowed(INetFwProfile* This,VARIANT_BOOL notAllowed) {
    return This->lpVtbl->put_ExceptionsNotAllowed(This,notAllowed);
}
static FORCEINLINE HRESULT INetFwProfile_get_NotificationsDisabled(INetFwProfile* This,VARIANT_BOOL *disabled) {
    return This->lpVtbl->get_NotificationsDisabled(This,disabled);
}
static FORCEINLINE HRESULT INetFwProfile_put_NotificationsDisabled(INetFwProfile* This,VARIANT_BOOL disabled) {
    return This->lpVtbl->put_NotificationsDisabled(This,disabled);
}
static FORCEINLINE HRESULT INetFwProfile_get_UnicastResponsesToMulticastBroadcastDisabled(INetFwProfile* This,VARIANT_BOOL *disabled) {
    return This->lpVtbl->get_UnicastResponsesToMulticastBroadcastDisabled(This,disabled);
}
static FORCEINLINE HRESULT INetFwProfile_put_UnicastResponsesToMulticastBroadcastDisabled(INetFwProfile* This,VARIANT_BOOL disabled) {
    return This->lpVtbl->put_UnicastResponsesToMulticastBroadcastDisabled(This,disabled);
}
static FORCEINLINE HRESULT INetFwProfile_get_RemoteAdminSettings(INetFwProfile* This,INetFwRemoteAdminSettings **remoteAdminSettings) {
    return This->lpVtbl->get_RemoteAdminSettings(This,remoteAdminSettings);
}
static FORCEINLINE HRESULT INetFwProfile_get_IcmpSettings(INetFwProfile* This,INetFwIcmpSettings **icmpSettings) {
    return This->lpVtbl->get_IcmpSettings(This,icmpSettings);
}
static FORCEINLINE HRESULT INetFwProfile_get_GloballyOpenPorts(INetFwProfile* This,INetFwOpenPorts **openPorts) {
    return This->lpVtbl->get_GloballyOpenPorts(This,openPorts);
}
static FORCEINLINE HRESULT INetFwProfile_get_Services(INetFwProfile* This,INetFwServices **services) {
    return This->lpVtbl->get_Services(This,services);
}
static FORCEINLINE HRESULT INetFwProfile_get_AuthorizedApplications(INetFwProfile* This,INetFwAuthorizedApplications **apps) {
    return This->lpVtbl->get_AuthorizedApplications(This,apps);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwProfile_get_Type_Proxy(
    INetFwProfile* This,
    NET_FW_PROFILE_TYPE *type);
void __RPC_STUB INetFwProfile_get_Type_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_get_FirewallEnabled_Proxy(
    INetFwProfile* This,
    VARIANT_BOOL *enabled);
void __RPC_STUB INetFwProfile_get_FirewallEnabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_put_FirewallEnabled_Proxy(
    INetFwProfile* This,
    VARIANT_BOOL enabled);
void __RPC_STUB INetFwProfile_put_FirewallEnabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_get_ExceptionsNotAllowed_Proxy(
    INetFwProfile* This,
    VARIANT_BOOL *notAllowed);
void __RPC_STUB INetFwProfile_get_ExceptionsNotAllowed_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_put_ExceptionsNotAllowed_Proxy(
    INetFwProfile* This,
    VARIANT_BOOL notAllowed);
void __RPC_STUB INetFwProfile_put_ExceptionsNotAllowed_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_get_NotificationsDisabled_Proxy(
    INetFwProfile* This,
    VARIANT_BOOL *disabled);
void __RPC_STUB INetFwProfile_get_NotificationsDisabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_put_NotificationsDisabled_Proxy(
    INetFwProfile* This,
    VARIANT_BOOL disabled);
void __RPC_STUB INetFwProfile_put_NotificationsDisabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_get_UnicastResponsesToMulticastBroadcastDisabled_Proxy(
    INetFwProfile* This,
    VARIANT_BOOL *disabled);
void __RPC_STUB INetFwProfile_get_UnicastResponsesToMulticastBroadcastDisabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_put_UnicastResponsesToMulticastBroadcastDisabled_Proxy(
    INetFwProfile* This,
    VARIANT_BOOL disabled);
void __RPC_STUB INetFwProfile_put_UnicastResponsesToMulticastBroadcastDisabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_get_RemoteAdminSettings_Proxy(
    INetFwProfile* This,
    INetFwRemoteAdminSettings **remoteAdminSettings);
void __RPC_STUB INetFwProfile_get_RemoteAdminSettings_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_get_IcmpSettings_Proxy(
    INetFwProfile* This,
    INetFwIcmpSettings **icmpSettings);
void __RPC_STUB INetFwProfile_get_IcmpSettings_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_get_GloballyOpenPorts_Proxy(
    INetFwProfile* This,
    INetFwOpenPorts **openPorts);
void __RPC_STUB INetFwProfile_get_GloballyOpenPorts_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_get_Services_Proxy(
    INetFwProfile* This,
    INetFwServices **services);
void __RPC_STUB INetFwProfile_get_Services_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwProfile_get_AuthorizedApplications_Proxy(
    INetFwProfile* This,
    INetFwAuthorizedApplications **apps);
void __RPC_STUB INetFwProfile_get_AuthorizedApplications_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwProfile_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INetFwPolicy interface
 */
#ifndef __INetFwPolicy_INTERFACE_DEFINED__
#define __INetFwPolicy_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwPolicy, 0xd46d2478, 0x9ac9, 0x4008, 0x9d,0xc7, 0x55,0x63,0xce,0x55,0x36,0xcc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d46d2478-9ac9-4008-9dc7-5563ce5536cc")
INetFwPolicy : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_CurrentProfile(
        INetFwProfile **profile) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetProfileByType(
        NET_FW_PROFILE_TYPE profileType,
        INetFwProfile **profile) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwPolicy, 0xd46d2478, 0x9ac9, 0x4008, 0x9d,0xc7, 0x55,0x63,0xce,0x55,0x36,0xcc)
#endif
#else
typedef struct INetFwPolicyVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwPolicy* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwPolicy* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwPolicy* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwPolicy* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwPolicy* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwPolicy* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwPolicy* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwPolicy methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CurrentProfile)(
        INetFwPolicy* This,
        INetFwProfile **profile);

    HRESULT (STDMETHODCALLTYPE *GetProfileByType)(
        INetFwPolicy* This,
        NET_FW_PROFILE_TYPE profileType,
        INetFwProfile **profile);

    END_INTERFACE
} INetFwPolicyVtbl;
interface INetFwPolicy {
    CONST_VTBL INetFwPolicyVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwPolicy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwPolicy_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwPolicy_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwPolicy_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwPolicy_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwPolicy_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwPolicy_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwPolicy methods ***/
#define INetFwPolicy_get_CurrentProfile(This,profile) (This)->lpVtbl->get_CurrentProfile(This,profile)
#define INetFwPolicy_GetProfileByType(This,profileType,profile) (This)->lpVtbl->GetProfileByType(This,profileType,profile)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwPolicy_QueryInterface(INetFwPolicy* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwPolicy_AddRef(INetFwPolicy* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwPolicy_Release(INetFwPolicy* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwPolicy_GetTypeInfoCount(INetFwPolicy* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwPolicy_GetTypeInfo(INetFwPolicy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwPolicy_GetIDsOfNames(INetFwPolicy* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwPolicy_Invoke(INetFwPolicy* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwPolicy methods ***/
static FORCEINLINE HRESULT INetFwPolicy_get_CurrentProfile(INetFwPolicy* This,INetFwProfile **profile) {
    return This->lpVtbl->get_CurrentProfile(This,profile);
}
static FORCEINLINE HRESULT INetFwPolicy_GetProfileByType(INetFwPolicy* This,NET_FW_PROFILE_TYPE profileType,INetFwProfile **profile) {
    return This->lpVtbl->GetProfileByType(This,profileType,profile);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwPolicy_get_CurrentProfile_Proxy(
    INetFwPolicy* This,
    INetFwProfile **profile);
void __RPC_STUB INetFwPolicy_get_CurrentProfile_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwPolicy_GetProfileByType_Proxy(
    INetFwPolicy* This,
    NET_FW_PROFILE_TYPE profileType,
    INetFwProfile **profile);
void __RPC_STUB INetFwPolicy_GetProfileByType_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwPolicy_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INetFwMgr interface
 */
#ifndef __INetFwMgr_INTERFACE_DEFINED__
#define __INetFwMgr_INTERFACE_DEFINED__

DEFINE_GUID(IID_INetFwMgr, 0xf7898af5, 0xcac4, 0x4632, 0xa2,0xec, 0xda,0x06,0xe5,0x11,0x1a,0xf2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f7898af5-cac4-4632-a2ec-da06e5111af2")
INetFwMgr : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_LocalPolicy(
        INetFwPolicy **localPolicy) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CurrentProfileType(
        NET_FW_PROFILE_TYPE *profileType) = 0;

    virtual HRESULT STDMETHODCALLTYPE RestoreDefaults(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsPortAllowed(
        BSTR imageFileName,
        NET_FW_IP_VERSION ipVersion,
        LONG portNumber,
        BSTR localAddress,
        NET_FW_IP_PROTOCOL ipProtocol,
        VARIANT *allowed,
        VARIANT *restricted) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsIcmpTypeAllowed(
        NET_FW_IP_VERSION ipVersion,
        BSTR localAddress,
        BYTE type,
        VARIANT *allowed,
        VARIANT *restricted) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INetFwMgr, 0xf7898af5, 0xcac4, 0x4632, 0xa2,0xec, 0xda,0x06,0xe5,0x11,0x1a,0xf2)
#endif
#else
typedef struct INetFwMgrVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INetFwMgr* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INetFwMgr* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INetFwMgr* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INetFwMgr* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INetFwMgr* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INetFwMgr* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INetFwMgr* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INetFwMgr methods ***/
    HRESULT (STDMETHODCALLTYPE *get_LocalPolicy)(
        INetFwMgr* This,
        INetFwPolicy **localPolicy);

    HRESULT (STDMETHODCALLTYPE *get_CurrentProfileType)(
        INetFwMgr* This,
        NET_FW_PROFILE_TYPE *profileType);

    HRESULT (STDMETHODCALLTYPE *RestoreDefaults)(
        INetFwMgr* This);

    HRESULT (STDMETHODCALLTYPE *IsPortAllowed)(
        INetFwMgr* This,
        BSTR imageFileName,
        NET_FW_IP_VERSION ipVersion,
        LONG portNumber,
        BSTR localAddress,
        NET_FW_IP_PROTOCOL ipProtocol,
        VARIANT *allowed,
        VARIANT *restricted);

    HRESULT (STDMETHODCALLTYPE *IsIcmpTypeAllowed)(
        INetFwMgr* This,
        NET_FW_IP_VERSION ipVersion,
        BSTR localAddress,
        BYTE type,
        VARIANT *allowed,
        VARIANT *restricted);

    END_INTERFACE
} INetFwMgrVtbl;
interface INetFwMgr {
    CONST_VTBL INetFwMgrVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INetFwMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INetFwMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INetFwMgr_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INetFwMgr_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INetFwMgr_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INetFwMgr_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INetFwMgr_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INetFwMgr methods ***/
#define INetFwMgr_get_LocalPolicy(This,localPolicy) (This)->lpVtbl->get_LocalPolicy(This,localPolicy)
#define INetFwMgr_get_CurrentProfileType(This,profileType) (This)->lpVtbl->get_CurrentProfileType(This,profileType)
#define INetFwMgr_RestoreDefaults(This) (This)->lpVtbl->RestoreDefaults(This)
#define INetFwMgr_IsPortAllowed(This,imageFileName,ipVersion,portNumber,localAddress,ipProtocol,allowed,restricted) (This)->lpVtbl->IsPortAllowed(This,imageFileName,ipVersion,portNumber,localAddress,ipProtocol,allowed,restricted)
#define INetFwMgr_IsIcmpTypeAllowed(This,ipVersion,localAddress,type,allowed,restricted) (This)->lpVtbl->IsIcmpTypeAllowed(This,ipVersion,localAddress,type,allowed,restricted)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INetFwMgr_QueryInterface(INetFwMgr* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INetFwMgr_AddRef(INetFwMgr* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INetFwMgr_Release(INetFwMgr* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT INetFwMgr_GetTypeInfoCount(INetFwMgr* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT INetFwMgr_GetTypeInfo(INetFwMgr* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT INetFwMgr_GetIDsOfNames(INetFwMgr* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT INetFwMgr_Invoke(INetFwMgr* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INetFwMgr methods ***/
static FORCEINLINE HRESULT INetFwMgr_get_LocalPolicy(INetFwMgr* This,INetFwPolicy **localPolicy) {
    return This->lpVtbl->get_LocalPolicy(This,localPolicy);
}
static FORCEINLINE HRESULT INetFwMgr_get_CurrentProfileType(INetFwMgr* This,NET_FW_PROFILE_TYPE *profileType) {
    return This->lpVtbl->get_CurrentProfileType(This,profileType);
}
static FORCEINLINE HRESULT INetFwMgr_RestoreDefaults(INetFwMgr* This) {
    return This->lpVtbl->RestoreDefaults(This);
}
static FORCEINLINE HRESULT INetFwMgr_IsPortAllowed(INetFwMgr* This,BSTR imageFileName,NET_FW_IP_VERSION ipVersion,LONG portNumber,BSTR localAddress,NET_FW_IP_PROTOCOL ipProtocol,VARIANT *allowed,VARIANT *restricted) {
    return This->lpVtbl->IsPortAllowed(This,imageFileName,ipVersion,portNumber,localAddress,ipProtocol,allowed,restricted);
}
static FORCEINLINE HRESULT INetFwMgr_IsIcmpTypeAllowed(INetFwMgr* This,NET_FW_IP_VERSION ipVersion,BSTR localAddress,BYTE type,VARIANT *allowed,VARIANT *restricted) {
    return This->lpVtbl->IsIcmpTypeAllowed(This,ipVersion,localAddress,type,allowed,restricted);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE INetFwMgr_get_LocalPolicy_Proxy(
    INetFwMgr* This,
    INetFwPolicy **localPolicy);
void __RPC_STUB INetFwMgr_get_LocalPolicy_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwMgr_get_CurrentProfileType_Proxy(
    INetFwMgr* This,
    NET_FW_PROFILE_TYPE *profileType);
void __RPC_STUB INetFwMgr_get_CurrentProfileType_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwMgr_RestoreDefaults_Proxy(
    INetFwMgr* This);
void __RPC_STUB INetFwMgr_RestoreDefaults_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwMgr_IsPortAllowed_Proxy(
    INetFwMgr* This,
    BSTR imageFileName,
    NET_FW_IP_VERSION ipVersion,
    LONG portNumber,
    BSTR localAddress,
    NET_FW_IP_PROTOCOL ipProtocol,
    VARIANT *allowed,
    VARIANT *restricted);
void __RPC_STUB INetFwMgr_IsPortAllowed_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE INetFwMgr_IsIcmpTypeAllowed_Proxy(
    INetFwMgr* This,
    NET_FW_IP_VERSION ipVersion,
    BSTR localAddress,
    BYTE type,
    VARIANT *allowed,
    VARIANT *restricted);
void __RPC_STUB INetFwMgr_IsIcmpTypeAllowed_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __INetFwMgr_INTERFACE_DEFINED__ */


DEFINE_GUID(LIBID_NetFwPublicTypeLib, 0xdb4f3345, 0x3ef8, 0x45ed, 0xb9,0x76, 0x25,0xa6,0xd3,0xb8,0x1b,0x71);

#ifndef __INetFwRemoteAdminSettings_FWD_DEFINED__
#define __INetFwRemoteAdminSettings_FWD_DEFINED__
typedef interface INetFwRemoteAdminSettings INetFwRemoteAdminSettings;
#endif

#ifndef __INetFwIcmpSettings_FWD_DEFINED__
#define __INetFwIcmpSettings_FWD_DEFINED__
typedef interface INetFwIcmpSettings INetFwIcmpSettings;
#endif

#ifndef __INetFwOpenPort_FWD_DEFINED__
#define __INetFwOpenPort_FWD_DEFINED__
typedef interface INetFwOpenPort INetFwOpenPort;
#endif

#ifndef __INetFwOpenPorts_FWD_DEFINED__
#define __INetFwOpenPorts_FWD_DEFINED__
typedef interface INetFwOpenPorts INetFwOpenPorts;
#endif

#ifndef __INetFwService_FWD_DEFINED__
#define __INetFwService_FWD_DEFINED__
typedef interface INetFwService INetFwService;
#endif

#ifndef __INetFwServices_FWD_DEFINED__
#define __INetFwServices_FWD_DEFINED__
typedef interface INetFwServices INetFwServices;
#endif

#ifndef __INetFwAuthorizedApplication_FWD_DEFINED__
#define __INetFwAuthorizedApplication_FWD_DEFINED__
typedef interface INetFwAuthorizedApplication INetFwAuthorizedApplication;
#endif

#ifndef __INetFwAuthorizedApplications_FWD_DEFINED__
#define __INetFwAuthorizedApplications_FWD_DEFINED__
typedef interface INetFwAuthorizedApplications INetFwAuthorizedApplications;
#endif

#ifndef __INetFwProfile_FWD_DEFINED__
#define __INetFwProfile_FWD_DEFINED__
typedef interface INetFwProfile INetFwProfile;
#endif

#ifndef __INetFwPolicy_FWD_DEFINED__
#define __INetFwPolicy_FWD_DEFINED__
typedef interface INetFwPolicy INetFwPolicy;
#endif

#ifndef __INetFwMgr_FWD_DEFINED__
#define __INetFwMgr_FWD_DEFINED__
typedef interface INetFwMgr INetFwMgr;
#endif

/*****************************************************************************
 * NetFwOpenPort coclass
 */

DEFINE_GUID(CLSID_NetFwOpenPort, 0x0ca545c6, 0x37ad, 0x4a6c, 0xbf,0x92, 0x9f,0x76,0x10,0x06,0x7e,0xf5);

#ifdef __cplusplus
class DECLSPEC_UUID("0ca545c6-37ad-4a6c-bf92-9f7610067ef5") NetFwOpenPort;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(NetFwOpenPort, 0x0ca545c6, 0x37ad, 0x4a6c, 0xbf,0x92, 0x9f,0x76,0x10,0x06,0x7e,0xf5)
#endif
#endif

/*****************************************************************************
 * NetFwAuthorizedApplication coclass
 */

DEFINE_GUID(CLSID_NetFwAuthorizedApplication, 0xec9846b3, 0x2762, 0x4a6b, 0xa2,0x14, 0x6a,0xcb,0x60,0x34,0x62,0xd2);

#ifdef __cplusplus
class DECLSPEC_UUID("ec9846b3-2762-4a6b-a214-6acb603462d2") NetFwAuthorizedApplication;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(NetFwAuthorizedApplication, 0xec9846b3, 0x2762, 0x4a6b, 0xa2,0x14, 0x6a,0xcb,0x60,0x34,0x62,0xd2)
#endif
#endif

/*****************************************************************************
 * NetFwMgr coclass
 */

DEFINE_GUID(CLSID_NetFwMgr, 0x304ce942, 0x6e39, 0x40d8, 0x94,0x3a, 0xb9,0x13,0xc4,0x0c,0x9c,0xd4);

#ifdef __cplusplus
class DECLSPEC_UUID("304ce942-6e39-40d8-943a-b913c40c9cd4") NetFwMgr;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(NetFwMgr, 0x304ce942, 0x6e39, 0x40d8, 0x94,0x3a, 0xb9,0x13,0xc4,0x0c,0x9c,0xd4)
#endif
#endif

/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __netfw_h__ */
