123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821 |
- ///////////////////////////////////////////////////////////////////////////////
- //
- // Copyright (c) Microsoft Corporation.
- //
- // SYNOPSIS
- //
- // Interfaces for managing the firewall.
- //
- ///////////////////////////////////////////////////////////////////////////////
- import "icftypes.idl";
- import "oaidl.idl";
- // Provides access to the settings controlling Remote Administration. An
- // instance of this interface is retrieved through the RemoteAdminSettings
- // property of the INetFwProfile interface. All configuration changes take
- // effect immediately.
- [
- object,
- uuid(D4BECDDF-6F73-4A83-B832-9C66874CD20E),
- dual
- ]
- interface INetFwRemoteAdminSettings : IDispatch
- {
- // IP version for which remote admin is authorized. Only
- // NET_FW_IP_VERSION_ANY is supported.
- [id(1), propget]
- HRESULT IpVersion(
- [out, retval] NET_FW_IP_VERSION* ipVersion
- );
- [id(1), propput]
- HRESULT IpVersion(
- [in] NET_FW_IP_VERSION ipVersion
- );
- // Network scope from which remote admin is allowed. When setting the
- // property, only NET_FW_SCOPE_ALL and NET_FW_SCOPE_LOCAL_SUBNET are valid.
- // To create a custom scope, use the RemoteAddresses property.
- [id(2), propget]
- HRESULT Scope(
- [out, retval] NET_FW_SCOPE* scope
- );
- [id(2), propput]
- HRESULT Scope(
- [in] NET_FW_SCOPE scope
- );
- // Remote addresses from which remote administration is allowed.
- [id(3), propget]
- HRESULT RemoteAddresses(
- [out, retval] BSTR* remoteAddrs
- );
- [id(3), propput]
- HRESULT RemoteAddresses(
- [in] BSTR remoteAddrs
- );
- // True if Remote Administration is enabled.
- [id(4), propget]
- HRESULT Enabled(
- [out, retval] VARIANT_BOOL* enabled
- );
- [id(4), propput]
- HRESULT Enabled(
- [in] VARIANT_BOOL enabled
- );
- }
- // Provides access to the settings controlling ICMP packets. An instance of
- // this interface is retrieved through the IcmpSettings property of the
- // INetFwProfile interface. All configuration changes take effect
- // immediately.
- [
- object,
- uuid(A6207B2E-7CDD-426A-951E-5E1CBC5AFEAD),
- dual
- ]
- interface INetFwIcmpSettings : IDispatch
- {
- //////////
- // Types common to IPv4 and IPv6
- //////////
- [id(1), propget]
- HRESULT AllowOutboundDestinationUnreachable(
- [out, retval] VARIANT_BOOL* allow
- );
- [id(1), propput]
- HRESULT AllowOutboundDestinationUnreachable(
- [in] VARIANT_BOOL allow
- );
- [id(2), propget]
- HRESULT AllowRedirect(
- [out, retval] VARIANT_BOOL* allow
- );
- [id(2), propput]
- HRESULT AllowRedirect(
- [in] VARIANT_BOOL allow
- );
- [id(3), propget]
- HRESULT AllowInboundEchoRequest(
- [out, retval] VARIANT_BOOL* allow
- );
- [id(3), propput]
- HRESULT AllowInboundEchoRequest(
- [in] VARIANT_BOOL allow
- );
- [id(4), propget]
- HRESULT AllowOutboundTimeExceeded(
- [out, retval] VARIANT_BOOL* allow
- );
- [id(4), propput]
- HRESULT AllowOutboundTimeExceeded(
- [in] VARIANT_BOOL allow
- );
- [id(5), propget]
- HRESULT AllowOutboundParameterProblem(
- [out, retval] VARIANT_BOOL* allow
- );
- [id(5), propput]
- HRESULT AllowOutboundParameterProblem(
- [in] VARIANT_BOOL allow
- );
- //////////
- // IPv4 only types
- //////////
- [id(6), propget]
- HRESULT AllowOutboundSourceQuench(
- [out, retval] VARIANT_BOOL* allow
- );
- [id(6), propput]
- HRESULT AllowOutboundSourceQuench(
- [in] VARIANT_BOOL allow
- );
- [id(7), propget]
- HRESULT AllowInboundRouterRequest(
- [out, retval] VARIANT_BOOL* allow
- );
- [id(7), propput]
- HRESULT AllowInboundRouterRequest(
- [in] VARIANT_BOOL allow
- );
- [id(8), propget]
- HRESULT AllowInboundTimestampRequest(
- [out, retval] VARIANT_BOOL* allow
- );
- [id(8), propput]
- HRESULT AllowInboundTimestampRequest(
- [in] VARIANT_BOOL allow
- );
- [id(9), propget]
- HRESULT AllowInboundMaskRequest(
- [out, retval] VARIANT_BOOL* allow
- );
- [id(9), propput]
- HRESULT AllowInboundMaskRequest(
- [in] VARIANT_BOOL allow
- );
- //////////
- // IPv6 only types
- //////////
- [id(10), propget]
- HRESULT AllowOutboundPacketTooBig(
- [out, retval] VARIANT_BOOL* allow
- );
- [id(10), propput]
- HRESULT AllowOutboundPacketTooBig(
- [in] VARIANT_BOOL allow
- );
- }
- // Provides access to the properties of a port that has been opened in the
- // firewall. When creating new ports, this interface is supported by the
- // HNetCfg.FwOpenPort COM object. For reading or modifying existing ports,
- // instances of this interface are retrieved through the INetFwOpenPorts
- // collection. All configuration changes take effect immediately.
- [
- object,
- uuid(E0483BA0-47FF-4D9C-A6D6-7741D0B195F7),
- dual
- ]
- interface INetFwOpenPort : IDispatch
- {
- // Friendly name of the port. Mandatory.
- [id(1), propget]
- HRESULT Name(
- [out, retval] BSTR* name
- );
- [id(1), propput]
- HRESULT Name(
- [in] BSTR name
- );
- // IP version for which the port is opened. Only NET_FW_IP_VERSION_ANY is
- // supported, and this is the default for new ports.
- [id(2), propget]
- HRESULT IpVersion(
- [out, retval] NET_FW_IP_VERSION* ipVersion
- );
- [id(2), propput]
- HRESULT IpVersion(
- [in] NET_FW_IP_VERSION ipVersion
- );
- // IP protocol. Default is TCP for new ports.
- [id(3), propget]
- HRESULT Protocol(
- [out, retval] NET_FW_IP_PROTOCOL* ipProtocol
- );
- [id(3), propput]
- HRESULT Protocol(
- [in] NET_FW_IP_PROTOCOL ipProtocol
- );
- // Port number in host order. Mandatory.
- [id(4), propget]
- HRESULT Port(
- [out, retval] LONG* portNumber
- );
- [id(4), propput]
- HRESULT Port(
- [in] LONG portNumber
- );
- // Network scope from which the port can listen. When setting the property,
- // only NET_FW_SCOPE_ALL and NET_FW_SCOPE_LOCAL_SUBNET are valid. To create
- // a custom scope, use the RemoteAddresses property. Default is
- // NET_FW_SCOPE_ALL for new ports.
- [id(5), propget]
- HRESULT Scope(
- [out, retval] NET_FW_SCOPE* scope
- );
- [id(5), propput]
- HRESULT Scope(
- [in] NET_FW_SCOPE scope
- );
- // Remote addresses from which the port can listen for traffic.
- [id(6), propget]
- HRESULT RemoteAddresses(
- [out, retval] BSTR* remoteAddrs
- );
- [id(6), propput]
- HRESULT RemoteAddresses(
- [in] BSTR remoteAddrs
- );
- // True if the settings for this port are currently enabled. This can be set
- // to False to allow port settings to be stored in the open ports collection
- // without actually opening the port. Default is True for new ports.
- [id(7), propget]
- HRESULT Enabled(
- [out, retval] VARIANT_BOOL* enabled
- );
- [id(7), propput]
- HRESULT Enabled(
- [in] VARIANT_BOOL enabled
- );
- // True if this is a built-in port defined by the system. Built-in ports can
- // not be removed and only the LocalSubnetOnly and Enabled properties can be
- // modified.
- [id(8), propget]
- HRESULT BuiltIn(
- [out, retval] VARIANT_BOOL* builtIn
- );
- }
- // Provides access to a collection of ports opened in the firewall. An instance
- // of this interface is retrieved through the GloballyOpenPorts property of the
- // INetFwProfile interface. All configuration changes take effect
- // immediately.
- [
- object,
- uuid(C0E9D7FA-E07E-430A-B19A-090CE82D92E2),
- dual
- ]
- interface INetFwOpenPorts : IDispatch
- {
- // Returns the number of ports in the collection.
- [id(1), propget]
- HRESULT Count(
- [out, retval] long* count
- );
- // Opens a new port and adds it to the collection. If the port is already
- // open, the existing settings are overwritten.
- [id(2)]
- HRESULT Add(
- [in] INetFwOpenPort* port
- );
- // Closes a port and remove it from the collection. If the port is already
- // closed, it has no effect.
- [id(3)]
- HRESULT Remove(
- [in] LONG portNumber,
- [in] NET_FW_IP_PROTOCOL ipProtocol
- );
- // Return the specified port if present.
- [id(4)]
- HRESULT Item(
- [in] LONG portNumber,
- [in] NET_FW_IP_PROTOCOL ipProtocol,
- [out, retval] INetFwOpenPort** openPort
- );
- // Returns an object supporting IEnumVARIANT that can be used to iterate
- // through all the ports in the collection.
- [id(DISPID_NEWENUM), propget, restricted]
- HRESULT _NewEnum(
- [out, retval] IUnknown** newEnum
- );
- }
- // Provides access to the properties of a service that may be authorized to
- // listen through the firewall. Instances of this interface are retrieved
- // through the INetFwServices collection. All configuration changes take
- // effect immediately.
- [
- object,
- uuid(79FD57C8-908E-4A36-9888-D5B3F0A444CF),
- dual
- ]
- interface INetFwService : IDispatch
- {
- // Friendly name of the service.
- [id(1), propget]
- HRESULT Name(
- [out, retval] BSTR* name
- );
- // Enumerator that uniquely identifies the service.
- [id(2), propget]
- HRESULT Type(
- [out, retval] NET_FW_SERVICE_TYPE* type
- );
- // Indicates whether at least one of the ports associated with the service
- // has been customized. If a service has been customized, the values
- // returned by the service properties do not reflect the configuration of
- // all the ports associated with the service.
- [id(3), propget]
- HRESULT Customized(
- [out, retval] VARIANT_BOOL* customized
- );
- // IP version for which the service is authorized. Only
- // NET_FW_IP_VERSION_ANY is supported.
- [id(4), propget]
- HRESULT IpVersion(
- [out, retval] NET_FW_IP_VERSION* ipVersion
- );
- [id(4), propput]
- HRESULT IpVersion(
- [in] NET_FW_IP_VERSION ipVersion
- );
- // Network scope from which the service can listen. When setting the
- // property, only NET_FW_SCOPE_ALL and NET_FW_SCOPE_LOCAL_SUBNET are valid.
- // To create a custom scope, use the RemoteAddresses property.
- [id(5), propget]
- HRESULT Scope(
- [out, retval] NET_FW_SCOPE* scope
- );
- [id(5), propput]
- HRESULT Scope(
- [in] NET_FW_SCOPE scope
- );
- // Remote addresses from which the service ports can listen for traffic. If
- // the service has been customized, get returns the union of the remote
- // addresses for all the service ports.
- [id(6), propget]
- HRESULT RemoteAddresses(
- [out, retval] BSTR* remoteAddrs
- );
- [id(6), propput]
- HRESULT RemoteAddresses(
- [in] BSTR remoteAddrs
- );
- // True if all the ports associated with the service are enabled.
- [id(7), propget]
- HRESULT Enabled(
- [out, retval] VARIANT_BOOL* enabled
- );
- [id(7), propput]
- HRESULT Enabled(
- [in] VARIANT_BOOL enabled
- );
- // The collection of globally open ports associated with the service.
- [id(8), propget]
- HRESULT GloballyOpenPorts(
- [out, retval] INetFwOpenPorts** openPorts
- );
- }
- // Provides access to a collection of services that may be authorized to listen
- // through the firewall. An instance of this interface is retrieved through the
- // Services property of the INetFwProfile interface. All configuration
- // changes take effect immediately.
- [
- object,
- uuid(79649BB4-903E-421B-94C9-79848E79F6EE),
- dual
- ]
- interface INetFwServices : IDispatch
- {
- // Returns the number of services in the collection.
- [id(1), propget]
- HRESULT Count(
- [out, retval] long* count
- );
- // Return the specified service.
- [id(2)]
- HRESULT Item(
- [in] NET_FW_SERVICE_TYPE svcType,
- [out, retval] INetFwService** service
- );
- // Returns an object supporting IEnumVARIANT that can be used to iterate
- // through all the services in the collection.
- [id(DISPID_NEWENUM), propget, restricted]
- HRESULT _NewEnum(
- [out, retval] IUnknown** newEnum
- );
- }
- // Provides access to the properties of an app that has been authorized to open
- // holes in the firewall. When creating new apps, this interface is supported
- // by the HNetCfg.FwAuthorizedApplication COM object. For reading or
- // modifying existing apps, instances of this interface are retrieved through
- // the INetFwAuthorizedApplications collection. All configuration changes
- // take effect immediately.
- [
- object,
- uuid(B5E64FFA-C2C5-444E-A301-FB5E00018050),
- dual
- ]
- interface INetFwAuthorizedApplication : IDispatch
- {
- // Friendly name of the app. Mandatory.
- [id(1), propget]
- HRESULT Name(
- [out, retval] BSTR* name
- );
- [id(1), propput]
- HRESULT Name(
- [in] BSTR name
- );
- // Process image file name. This must be a fully-qualified path, but it may
- // contain environment variables. Mandatory.
- [id(2), propget]
- HRESULT ProcessImageFileName(
- [out, retval] BSTR* imageFileName
- );
- [id(2), propput]
- HRESULT ProcessImageFileName(
- [in] BSTR imageFileName
- );
- // IP version for which the app is authorized. Only NET_FW_IP_VERSION_ANY is
- // supported, and this is the default for new apps.
- [id(3), propget]
- HRESULT IpVersion(
- [out, retval] NET_FW_IP_VERSION* ipVersion
- );
- [id(3), propput]
- HRESULT IpVersion(
- [in] NET_FW_IP_VERSION ipVersion
- );
- // Network scope from which the app can listen. When setting the property,
- // only NET_FW_SCOPE_ALL and NET_FW_SCOPE_LOCAL_SUBNET are valid. To create
- // a custom scope, use the RemoteAddresses property. Default is
- // NET_FW_SCOPE_ALL for new apps.
- [id(4), propget]
- HRESULT Scope(
- [out, retval] NET_FW_SCOPE* scope
- );
- [id(4), propput]
- HRESULT Scope(
- [in] NET_FW_SCOPE scope
- );
- // Remote addresses from which the app can listen for traffic.
- [id(5), propget]
- HRESULT RemoteAddresses(
- [out, retval] BSTR* remoteAddrs
- );
- [id(5), propput]
- HRESULT RemoteAddresses(
- [in] BSTR remoteAddrs
- );
- // True if the settings for this app are currently enabled. This can be set
- // to False to allow app settings to be stored in the authorized apps
- // collection without actually authorizing the app. Default is True for new
- // apps.
- [id(6), propget]
- HRESULT Enabled(
- [out, retval] VARIANT_BOOL* enabled
- );
- [id(6), propput]
- HRESULT Enabled(
- [in] VARIANT_BOOL enabled
- );
- }
- // Provides access to a collection of apps authorized to open ports in the
- // firewall. An instance of this interface is retrieved through the
- // AuthorizedApplications property of the INetFwProfile interface. All
- // configuration changes take effect immediately.
- [
- object,
- uuid(644EFD52-CCF9-486C-97A2-39F352570B30),
- dual
- ]
- interface INetFwAuthorizedApplications : IDispatch
- {
- // Returns the number of apps in the collection.
- [id(1), propget]
- HRESULT Count(
- [out, retval] long* count
- );
- // Adds a new app to the collection. If an app with the same image file name
- // already exists, the settings are overwritten.
- [id(2)]
- HRESULT Add(
- [in] INetFwAuthorizedApplication* app
- );
- // Removes an app from the collection. If the app doesn't exist, it has no
- // effect.
- [id(3)]
- HRESULT Remove(
- [in] BSTR imageFileName
- );
- // Return the specified app if present.
- [id(4)]
- HRESULT Item(
- [in] BSTR imageFileName,
- [out, retval] INetFwAuthorizedApplication** app
- );
- // Returns an object supporting IEnumVARIANT that can be used to iterate
- // through all the apps in the collection.
- [id(DISPID_NEWENUM), propget, restricted]
- HRESULT _NewEnum(
- [out, retval] IUnknown** newEnum
- );
- }
- // Provides access to a firewall settings profile. Instances of this interface
- // are retrieved through the CurrentProfile property or GetProfileByType method
- // of the INetFwPolicy interface. All configuration changes take effect
- // immediately.
- [
- object,
- uuid(174A0DDA-E9F9-449D-993B-21AB667CA456),
- dual
- ]
- interface INetFwProfile : IDispatch
- {
- // Type of profile
- [id(1), propget]
- HRESULT Type(
- [out, retval] NET_FW_PROFILE_TYPE* type
- );
- // True if firewall is enabled.
- [id(2), propget]
- HRESULT FirewallEnabled(
- [out, retval] VARIANT_BOOL* enabled
- );
- [id(2), propput]
- HRESULT FirewallEnabled(
- [in] VARIANT_BOOL enabled
- );
- // True if the firewall should not allow exceptions. In other words, all the
- // exceptions (e.g., GloballyOpenPorts) specified in the profile are ignored
- // and only locally initiated traffic is allowed.
- [id(3), propget]
- HRESULT ExceptionsNotAllowed(
- [out, retval] VARIANT_BOOL* notAllowed
- );
- [id(3), propput]
- HRESULT ExceptionsNotAllowed(
- [in] VARIANT_BOOL notAllowed
- );
- // True if interactive firewall notifications are disabled.
- [id(4), propget]
- HRESULT NotificationsDisabled(
- [out, retval] VARIANT_BOOL* disabled
- );
- [id(4), propput]
- HRESULT NotificationsDisabled(
- [in] VARIANT_BOOL disabled
- );
- // True if the firewall should not allow unicast responses to multicast and
- // broadcast traffic.
- [id(5), propget]
- HRESULT UnicastResponsesToMulticastBroadcastDisabled(
- [out, retval] VARIANT_BOOL* disabled
- );
- [id(5), propput]
- HRESULT UnicastResponsesToMulticastBroadcastDisabled(
- [in] VARIANT_BOOL disabled
- );
- // Settings governing remote administration.
- [id(6), propget]
- HRESULT RemoteAdminSettings(
- [out, retval] INetFwRemoteAdminSettings** remoteAdminSettings
- );
- // Settings governing ICMP packets.
- [id(7), propget]
- HRESULT IcmpSettings(
- [out, retval] INetFwIcmpSettings** icmpSettings
- );
- // Returns the collection of globally open ports.
- [id(8), propget]
- HRESULT GloballyOpenPorts(
- [out, retval] INetFwOpenPorts** openPorts
- );
- // Returns the collection of services.
- [id(9), propget]
- HRESULT Services(
- [out, retval] INetFwServices** services
- );
- // Returns the collection of authorized apps.
- [id(10), propget]
- HRESULT AuthorizedApplications(
- [out, retval] INetFwAuthorizedApplications** apps
- );
- }
- // Provides access to a firewall policy. Instances of this interface are
- // retrieved through the LocalPolicy method of the INetFwMgr interface. All
- // configuration changes take effect immediately.
- [
- object,
- uuid(D46D2478-9AC9-4008-9DC7-5563CE5536CC),
- dual
- ]
- interface INetFwPolicy : IDispatch
- {
- // Returns the profile currently in effect.
- [id(1), propget]
- HRESULT CurrentProfile(
- [out, retval] INetFwProfile** profile
- );
- // Returns the profile of the requested type.
- [id(2)]
- HRESULT GetProfileByType(
- [in] NET_FW_PROFILE_TYPE profileType,
- [out, retval] INetFwProfile** profile
- );
- }
- // Provides access to the firewall settings for a computer. This interface is
- // supported by the HNetCfg.FwMgr COM object. All configuration changes take
- // effect immediately.
- [
- object,
- uuid(F7898AF5-CAC4-4632-A2EC-DA06E5111AF2),
- dual
- ]
- interface INetFwMgr : IDispatch
- {
- // Returns the local firewall policy.
- [id(1), propget]
- HRESULT LocalPolicy(
- [out, retval] INetFwPolicy** localPolicy
- );
- // Returns the type of firewall profile currently in effect.
- [id(2), propget]
- HRESULT CurrentProfileType(
- [out, retval] NET_FW_PROFILE_TYPE* profileType
- );
- // Restores the local configuration to its default state.
- [id(3)]
- HRESULT RestoreDefaults();
- // Determines whether an application can listen for inbound traffic on the
- // specified port.
- //
- // Parameters:
- //
- // imageFileName - The image filename of the process listening on the
- // network. It must be a fully-qualified path, but it may contain
- // environment variables. If 'imageFileName' is NULL, the function
- // determines whether the port is allowed for all applications.
- //
- // ipVersion - IP version of the traffic. If 'localAddress' is non-NULL,
- // this must not be NET_FW_IP_VERSION_ANY.
- //
- // portNumber - Local IP port number of the traffic. If 'portNumber' is
- // zero, 'imageFileName' must not be NULL and the function checks if the
- // application is allowed to listen on any port.
- //
- // localAddress - Either a dotted-decimal IPv4 address or an IPv6 hex
- // address specifying the local address of the traffic. Typically, this is
- // the address passed to bind. If 'localAddress' is NULL, the function
- // determines whether the port is allowed for all interfaces.
- //
- // ipProtocol - IP protocol of the traffic, either NET_FW_IP_PROTOCOL_TCP or
- // NET_FW_IP_PROTOCOL_UDP. Ignored if 'portNumber' is zero.
- //
- // allowed - Returns a VARIANT of type VT_BOOL indicating whether the port
- // is allowed for at least some local interfaces and remote addresses.
- //
- // restricted - Returns a VARIANT of type VT_BOOL indicating whether some
- // local interfaces or remote addresses are blocked for this port. For
- // example, if the port is restricted to the local subnet only.
- //
- [id(4)]
- HRESULT IsPortAllowed(
- [in] BSTR imageFileName,
- [in] NET_FW_IP_VERSION ipVersion,
- [in] LONG portNumber,
- [in] BSTR localAddress,
- [in] NET_FW_IP_PROTOCOL ipProtocol,
- [out] VARIANT* allowed,
- [out] VARIANT* restricted
- );
- // Determines whether the specified ICMP type is allowed.
- [id(5)]
- HRESULT IsIcmpTypeAllowed(
- [in] NET_FW_IP_VERSION ipVersion,
- [in] BSTR localAddress,
- [in] BYTE type,
- [out] VARIANT* allowed,
- [out] VARIANT* restricted
- );
- }
- [
- uuid(DB4F3345-3EF8-45ED-B976-25A6D3B81B71),
- version(1.0)
- ]
- library NetFwPublicTypeLib
- {
- importlib("stdole2.tlb");
- interface INetFwRemoteAdminSettings;
- interface INetFwIcmpSettings;
- interface INetFwOpenPort;
- interface INetFwOpenPorts;
- interface INetFwService;
- interface INetFwServices;
- interface INetFwAuthorizedApplication;
- interface INetFwAuthorizedApplications;
- interface INetFwProfile;
- interface INetFwPolicy;
- interface INetFwMgr;
- [
- uuid(0CA545C6-37AD-4A6C-BF92-9F7610067EF5)
- ]
- coclass NetFwOpenPort
- {
- [default] interface INetFwOpenPort;
- }
- [
- uuid(EC9846B3-2762-4A6B-A214-6ACB603462D2)
- ]
- coclass NetFwAuthorizedApplication
- {
- [default] interface INetFwAuthorizedApplication;
- }
- [
- uuid(304CE942-6E39-40D8-943A-B913C40C9CD4)
- ]
- coclass NetFwMgr
- {
- [default] interface INetFwMgr;
- }
- }
|