/*** Autogenerated by WIDL 0.9.40 from netfw.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>

#ifndef __WIDL_NETFW_H
#define __WIDL_NETFW_H
#ifdef __cplusplus
extern "C" {
#endif
#include <icftypes.h>
#include <oaidl.h>
#ifndef __INetFwIcmpSettings_FWD_DEFINED__
#define __INetFwIcmpSettings_FWD_DEFINED__
typedef interface INetFwIcmpSettings INetFwIcmpSettings;
#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)
interface 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;

};
#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
/*** IUnknown methods ***/
#define INetFwIcmpSettings_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwIcmpSettings_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwIcmpSettings_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwIcmpSettings_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwIcmpSettings_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwIcmpSettings_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwIcmpSettings_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwIcmpSettings methods ***/
#define INetFwIcmpSettings_get_AllowOutboundDestinationUnreachable(p,a) (p)->lpVtbl->get_AllowOutboundDestinationUnreachable(p,a)
#define INetFwIcmpSettings_put_AllowOutboundDestinationUnreachable(p,a) (p)->lpVtbl->put_AllowOutboundDestinationUnreachable(p,a)
#define INetFwIcmpSettings_get_AllowRedirect(p,a) (p)->lpVtbl->get_AllowRedirect(p,a)
#define INetFwIcmpSettings_put_AllowRedirect(p,a) (p)->lpVtbl->put_AllowRedirect(p,a)
#define INetFwIcmpSettings_get_AllowInboundEchoRequest(p,a) (p)->lpVtbl->get_AllowInboundEchoRequest(p,a)
#define INetFwIcmpSettings_put_AllowInboundEchoRequest(p,a) (p)->lpVtbl->put_AllowInboundEchoRequest(p,a)
#define INetFwIcmpSettings_get_AllowOutboundTimeExceeded(p,a) (p)->lpVtbl->get_AllowOutboundTimeExceeded(p,a)
#define INetFwIcmpSettings_put_AllowOutboundTimeExceeded(p,a) (p)->lpVtbl->put_AllowOutboundTimeExceeded(p,a)
#define INetFwIcmpSettings_get_AllowOutboundParameterProblem(p,a) (p)->lpVtbl->get_AllowOutboundParameterProblem(p,a)
#define INetFwIcmpSettings_put_AllowOutboundParameterProblem(p,a) (p)->lpVtbl->put_AllowOutboundParameterProblem(p,a)
#define INetFwIcmpSettings_get_AllowOutboundSourceQuench(p,a) (p)->lpVtbl->get_AllowOutboundSourceQuench(p,a)
#define INetFwIcmpSettings_put_AllowOutboundSourceQuench(p,a) (p)->lpVtbl->put_AllowOutboundSourceQuench(p,a)
#define INetFwIcmpSettings_get_AllowInboundRouterRequest(p,a) (p)->lpVtbl->get_AllowInboundRouterRequest(p,a)
#define INetFwIcmpSettings_put_AllowInboundRouterRequest(p,a) (p)->lpVtbl->put_AllowInboundRouterRequest(p,a)
#define INetFwIcmpSettings_get_AllowInboundTimestampRequest(p,a) (p)->lpVtbl->get_AllowInboundTimestampRequest(p,a)
#define INetFwIcmpSettings_put_AllowInboundTimestampRequest(p,a) (p)->lpVtbl->put_AllowInboundTimestampRequest(p,a)
#define INetFwIcmpSettings_get_AllowInboundMaskRequest(p,a) (p)->lpVtbl->get_AllowInboundMaskRequest(p,a)
#define INetFwIcmpSettings_put_AllowInboundMaskRequest(p,a) (p)->lpVtbl->put_AllowInboundMaskRequest(p,a)
#define INetFwIcmpSettings_get_AllowOutboundPacketTooBig(p,a) (p)->lpVtbl->get_AllowOutboundPacketTooBig(p,a)
#define INetFwIcmpSettings_put_AllowOutboundPacketTooBig(p,a) (p)->lpVtbl->put_AllowOutboundPacketTooBig(p,a)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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__ */

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

/*****************************************************************************
 * 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)
interface 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;

};
#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
/*** IUnknown methods ***/
#define INetFwOpenPort_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwOpenPort_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwOpenPort_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwOpenPort_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwOpenPort_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwOpenPort_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwOpenPort_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwOpenPort methods ***/
#define INetFwOpenPort_get_Name(p,a) (p)->lpVtbl->get_Name(p,a)
#define INetFwOpenPort_put_Name(p,a) (p)->lpVtbl->put_Name(p,a)
#define INetFwOpenPort_get_IpVersion(p,a) (p)->lpVtbl->get_IpVersion(p,a)
#define INetFwOpenPort_put_IpVersion(p,a) (p)->lpVtbl->put_IpVersion(p,a)
#define INetFwOpenPort_get_Protocol(p,a) (p)->lpVtbl->get_Protocol(p,a)
#define INetFwOpenPort_put_Protocol(p,a) (p)->lpVtbl->put_Protocol(p,a)
#define INetFwOpenPort_get_Port(p,a) (p)->lpVtbl->get_Port(p,a)
#define INetFwOpenPort_put_Port(p,a) (p)->lpVtbl->put_Port(p,a)
#define INetFwOpenPort_get_Scope(p,a) (p)->lpVtbl->get_Scope(p,a)
#define INetFwOpenPort_put_Scope(p,a) (p)->lpVtbl->put_Scope(p,a)
#define INetFwOpenPort_get_RemoteAddresses(p,a) (p)->lpVtbl->get_RemoteAddresses(p,a)
#define INetFwOpenPort_put_RemoteAddresses(p,a) (p)->lpVtbl->put_RemoteAddresses(p,a)
#define INetFwOpenPort_get_Enabled(p,a) (p)->lpVtbl->get_Enabled(p,a)
#define INetFwOpenPort_put_Enabled(p,a) (p)->lpVtbl->put_Enabled(p,a)
#define INetFwOpenPort_get_BuiltIn(p,a) (p)->lpVtbl->get_BuiltIn(p,a)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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__ */

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

/*****************************************************************************
 * 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)
interface 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;

};
#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
/*** IUnknown methods ***/
#define INetFwOpenPorts_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwOpenPorts_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwOpenPorts_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwOpenPorts_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwOpenPorts_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwOpenPorts_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwOpenPorts_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwOpenPorts methods ***/
#define INetFwOpenPorts_get_Count(p,a) (p)->lpVtbl->get_Count(p,a)
#define INetFwOpenPorts_Add(p,a) (p)->lpVtbl->Add(p,a)
#define INetFwOpenPorts_Remove(p,a,b) (p)->lpVtbl->Remove(p,a,b)
#define INetFwOpenPorts_Item(p,a,b,c) (p)->lpVtbl->Item(p,a,b,c)
#define INetFwOpenPorts_get__NewEnum(p,a) (p)->lpVtbl->get__NewEnum(p,a)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK INetFwOpenPorts_Add_Proxy(
    INetFwOpenPorts* This,
    INetFwOpenPort *port);
void __RPC_STUB INetFwOpenPorts_Add_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK 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 CALLBACK 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 CALLBACK 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__ */

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

/*****************************************************************************
 * 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)
interface 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;

};
#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
/*** IUnknown methods ***/
#define INetFwService_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwService_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwService_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwService_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwService_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwService_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwService_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwService methods ***/
#define INetFwService_get_Name(p,a) (p)->lpVtbl->get_Name(p,a)
#define INetFwService_get_Type(p,a) (p)->lpVtbl->get_Type(p,a)
#define INetFwService_get_Customized(p,a) (p)->lpVtbl->get_Customized(p,a)
#define INetFwService_get_IpVersion(p,a) (p)->lpVtbl->get_IpVersion(p,a)
#define INetFwService_put_IpVersion(p,a) (p)->lpVtbl->put_IpVersion(p,a)
#define INetFwService_get_Scope(p,a) (p)->lpVtbl->get_Scope(p,a)
#define INetFwService_put_Scope(p,a) (p)->lpVtbl->put_Scope(p,a)
#define INetFwService_get_RemoteAddresses(p,a) (p)->lpVtbl->get_RemoteAddresses(p,a)
#define INetFwService_put_RemoteAddresses(p,a) (p)->lpVtbl->put_RemoteAddresses(p,a)
#define INetFwService_get_Enabled(p,a) (p)->lpVtbl->get_Enabled(p,a)
#define INetFwService_put_Enabled(p,a) (p)->lpVtbl->put_Enabled(p,a)
#define INetFwService_get_GloballyOpenPorts(p,a) (p)->lpVtbl->get_GloballyOpenPorts(p,a)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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__ */

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

/*****************************************************************************
 * 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)
interface 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;

};
#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
/*** IUnknown methods ***/
#define INetFwServices_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwServices_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwServices_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwServices_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwServices_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwServices_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwServices_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwServices methods ***/
#define INetFwServices_get_Count(p,a) (p)->lpVtbl->get_Count(p,a)
#define INetFwServices_Item(p,a,b) (p)->lpVtbl->Item(p,a,b)
#define INetFwServices_get__NewEnum(p,a) (p)->lpVtbl->get__NewEnum(p,a)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK 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 CALLBACK 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__ */

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

/*****************************************************************************
 * 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)
interface 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;

};
#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
/*** IUnknown methods ***/
#define INetFwAuthorizedApplication_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwAuthorizedApplication_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwAuthorizedApplication_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwAuthorizedApplication_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwAuthorizedApplication_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwAuthorizedApplication_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwAuthorizedApplication_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwAuthorizedApplication methods ***/
#define INetFwAuthorizedApplication_get_Name(p,a) (p)->lpVtbl->get_Name(p,a)
#define INetFwAuthorizedApplication_put_Name(p,a) (p)->lpVtbl->put_Name(p,a)
#define INetFwAuthorizedApplication_get_ProcessImageFileName(p,a) (p)->lpVtbl->get_ProcessImageFileName(p,a)
#define INetFwAuthorizedApplication_put_ProcessImageFileName(p,a) (p)->lpVtbl->put_ProcessImageFileName(p,a)
#define INetFwAuthorizedApplication_get_IpVersion(p,a) (p)->lpVtbl->get_IpVersion(p,a)
#define INetFwAuthorizedApplication_put_IpVersion(p,a) (p)->lpVtbl->put_IpVersion(p,a)
#define INetFwAuthorizedApplication_get_Scope(p,a) (p)->lpVtbl->get_Scope(p,a)
#define INetFwAuthorizedApplication_put_Scope(p,a) (p)->lpVtbl->put_Scope(p,a)
#define INetFwAuthorizedApplication_get_RemoteAddresses(p,a) (p)->lpVtbl->get_RemoteAddresses(p,a)
#define INetFwAuthorizedApplication_put_RemoteAddresses(p,a) (p)->lpVtbl->put_RemoteAddresses(p,a)
#define INetFwAuthorizedApplication_get_Enabled(p,a) (p)->lpVtbl->get_Enabled(p,a)
#define INetFwAuthorizedApplication_put_Enabled(p,a) (p)->lpVtbl->put_Enabled(p,a)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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__ */

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

/*****************************************************************************
 * 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)
interface 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;

};
#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
/*** IUnknown methods ***/
#define INetFwRemoteAdminSettings_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwRemoteAdminSettings_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwRemoteAdminSettings_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwRemoteAdminSettings_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwRemoteAdminSettings_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwRemoteAdminSettings_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwRemoteAdminSettings_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwRemoteAdminSettings methods ***/
#define INetFwRemoteAdminSettings_get_IpVersion(p,a) (p)->lpVtbl->get_IpVersion(p,a)
#define INetFwRemoteAdminSettings_put_IpVersion(p,a) (p)->lpVtbl->put_IpVersion(p,a)
#define INetFwRemoteAdminSettings_get_Scope(p,a) (p)->lpVtbl->get_Scope(p,a)
#define INetFwRemoteAdminSettings_put_Scope(p,a) (p)->lpVtbl->put_Scope(p,a)
#define INetFwRemoteAdminSettings_get_RemoteAddresses(p,a) (p)->lpVtbl->get_RemoteAddresses(p,a)
#define INetFwRemoteAdminSettings_put_RemoteAddresses(p,a) (p)->lpVtbl->put_RemoteAddresses(p,a)
#define INetFwRemoteAdminSettings_get_Enabled(p,a) (p)->lpVtbl->get_Enabled(p,a)
#define INetFwRemoteAdminSettings_put_Enabled(p,a) (p)->lpVtbl->put_Enabled(p,a)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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__ */

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

/*****************************************************************************
 * 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)
interface 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;

};
#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
/*** IUnknown methods ***/
#define INetFwAuthorizedApplications_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwAuthorizedApplications_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwAuthorizedApplications_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwAuthorizedApplications_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwAuthorizedApplications_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwAuthorizedApplications_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwAuthorizedApplications_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwAuthorizedApplications methods ***/
#define INetFwAuthorizedApplications_get_Count(p,a) (p)->lpVtbl->get_Count(p,a)
#define INetFwAuthorizedApplications_Add(p,a) (p)->lpVtbl->Add(p,a)
#define INetFwAuthorizedApplications_Remove(p,a) (p)->lpVtbl->Remove(p,a)
#define INetFwAuthorizedApplications_Item(p,a,b) (p)->lpVtbl->Item(p,a,b)
#define INetFwAuthorizedApplications_get__NewEnum(p,a) (p)->lpVtbl->get__NewEnum(p,a)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK INetFwAuthorizedApplications_Add_Proxy(
    INetFwAuthorizedApplications* This,
    INetFwAuthorizedApplication *app);
void __RPC_STUB INetFwAuthorizedApplications_Add_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK INetFwAuthorizedApplications_Remove_Proxy(
    INetFwAuthorizedApplications* This,
    BSTR imageFileName);
void __RPC_STUB INetFwAuthorizedApplications_Remove_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK 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 CALLBACK 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__ */

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

/*****************************************************************************
 * 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)
interface 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;

};
#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
/*** IUnknown methods ***/
#define INetFwProfile_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwProfile_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwProfile_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwProfile_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwProfile_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwProfile_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwProfile_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwProfile methods ***/
#define INetFwProfile_get_Type(p,a) (p)->lpVtbl->get_Type(p,a)
#define INetFwProfile_get_FirewallEnabled(p,a) (p)->lpVtbl->get_FirewallEnabled(p,a)
#define INetFwProfile_put_FirewallEnabled(p,a) (p)->lpVtbl->put_FirewallEnabled(p,a)
#define INetFwProfile_get_ExceptionsNotAllowed(p,a) (p)->lpVtbl->get_ExceptionsNotAllowed(p,a)
#define INetFwProfile_put_ExceptionsNotAllowed(p,a) (p)->lpVtbl->put_ExceptionsNotAllowed(p,a)
#define INetFwProfile_get_NotificationsDisabled(p,a) (p)->lpVtbl->get_NotificationsDisabled(p,a)
#define INetFwProfile_put_NotificationsDisabled(p,a) (p)->lpVtbl->put_NotificationsDisabled(p,a)
#define INetFwProfile_get_UnicastResponsesToMulticastBroadcastDisabled(p,a) (p)->lpVtbl->get_UnicastResponsesToMulticastBroadcastDisabled(p,a)
#define INetFwProfile_put_UnicastResponsesToMulticastBroadcastDisabled(p,a) (p)->lpVtbl->put_UnicastResponsesToMulticastBroadcastDisabled(p,a)
#define INetFwProfile_get_RemoteAdminSettings(p,a) (p)->lpVtbl->get_RemoteAdminSettings(p,a)
#define INetFwProfile_get_IcmpSettings(p,a) (p)->lpVtbl->get_IcmpSettings(p,a)
#define INetFwProfile_get_GloballyOpenPorts(p,a) (p)->lpVtbl->get_GloballyOpenPorts(p,a)
#define INetFwProfile_get_Services(p,a) (p)->lpVtbl->get_Services(p,a)
#define INetFwProfile_get_AuthorizedApplications(p,a) (p)->lpVtbl->get_AuthorizedApplications(p,a)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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 CALLBACK 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__ */

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

/*****************************************************************************
 * 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)
interface INetFwPolicy : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_CurrentProfile(
        INetFwProfile **profile) = 0;

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

};
#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
/*** IUnknown methods ***/
#define INetFwPolicy_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwPolicy_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwPolicy_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwPolicy_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwPolicy_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwPolicy_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwPolicy_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwPolicy methods ***/
#define INetFwPolicy_get_CurrentProfile(p,a) (p)->lpVtbl->get_CurrentProfile(p,a)
#define INetFwPolicy_GetProfileByType(p,a,b) (p)->lpVtbl->GetProfileByType(p,a,b)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK 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__ */

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

/*****************************************************************************
 * 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)
interface 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;

};
#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
/*** IUnknown methods ***/
#define INetFwMgr_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define INetFwMgr_AddRef(p) (p)->lpVtbl->AddRef(p)
#define INetFwMgr_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define INetFwMgr_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define INetFwMgr_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define INetFwMgr_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define INetFwMgr_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** INetFwMgr methods ***/
#define INetFwMgr_get_LocalPolicy(p,a) (p)->lpVtbl->get_LocalPolicy(p,a)
#define INetFwMgr_get_CurrentProfileType(p,a) (p)->lpVtbl->get_CurrentProfileType(p,a)
#define INetFwMgr_RestoreDefaults(p) (p)->lpVtbl->RestoreDefaults(p)
#define INetFwMgr_IsPortAllowed(p,a,b,c,d,e,f,g) (p)->lpVtbl->IsPortAllowed(p,a,b,c,d,e,f,g)
#define INetFwMgr_IsIcmpTypeAllowed(p,a,b,c,d,e) (p)->lpVtbl->IsIcmpTypeAllowed(p,a,b,c,d,e)
#endif

#endif

HRESULT CALLBACK 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 CALLBACK 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 CALLBACK INetFwMgr_RestoreDefaults_Proxy(
    INetFwMgr* This);
void __RPC_STUB INetFwMgr_RestoreDefaults_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK 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 CALLBACK 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);

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

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

#ifndef __NetFwOpenPort_FWD_DEFINED__
#define __NetFwOpenPort_FWD_DEFINED__
typedef struct NetFwOpenPort NetFwOpenPort;
#endif /* defined __NetFwOpenPort_FWD_DEFINED__ */

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

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

#ifndef __NetFwAuthorizedApplication_FWD_DEFINED__
#define __NetFwAuthorizedApplication_FWD_DEFINED__
typedef struct NetFwAuthorizedApplication NetFwAuthorizedApplication;
#endif /* defined __NetFwAuthorizedApplication_FWD_DEFINED__ */

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

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

#ifndef __NetFwMgr_FWD_DEFINED__
#define __NetFwMgr_FWD_DEFINED__
typedef struct NetFwMgr NetFwMgr;
#endif /* defined __NetFwMgr_FWD_DEFINED__ */

/* 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 /* __WIDL_NETFW_H */
