[in] Pointer to an array of pointers to sockaddr
structures that contain the addresses to which the client
connections will be redirected.
ConnectAddressLength
[in] Length, in bytes, of the addresses pointed to by the
ConnectAddresses parameter.
dwNumberOfAddresses
[in] Number of addresses in the ConnectAddresses
array.
InternalAddress
[in] Pointer to a sockaddr structure that contains the
address to which the client should connect instead of
ConnectAddresses. This would be an internal IP address of
the Firewall service.
When dwNumberOfAddresses is more than one, consecutive
ports will be allocated by the Firewall service, and this parameter
will contain the address by using the lowest port.
InternalAddressLength
[in, out] Length, in bytes, of the InternalAddress
parameter.
ProxyExternalAddress
[in] Pointer to a sockaddr structure that contains the
proxy external address used for the connection. This is useful in
the case of multihomed proxy servers. Requesting a specific address
ensures that a secondary connection uses the same proxy IP address
as the primary. This parameter can be NULL, defaulting to
INADDR_ANY and 0 (any port).
ProxyExternalAddressLength
[in] Length, in bytes, of the ProxyExternalAddress
structure.
Protocol
[in] Protocol flags. This parameter can have the following flag
values:
Value
Description
FWX_PROTOCOL_TCP
The connection will use a TCP socket.
FWX_PROTOCOL_UDP
The connection will use a UDP socket.
dwFlags
[in] Connection flags. This parameter can be a combination of
the following values:
Value
Description
FWX_FLAG_ALLOW_MULTIPLE
By default, a single outbound connection is
expected. If this flag is specified, multiple connections to the
same address will be possible.
FWX_FLAG_TIMEOUT
The client is expected to use the permission
shortly after the call. If the client does not make the connection,
the permission automatically expires.
FWX_FLAG_NO_KERNEL_MODE
The connection is forced to go through user-mode
code, even if currently there seems to be no reason not to use
kernel mode for the connection.
Optional. [in] Provides user context information regarding the
connection. Use with the pSessionFilter parameter to receive
the fwx_EstablishedConnection event from the Firewall
service. This parameter can be NULL. Specify NULL if the
fwx_EstablishedNotification notification is not
required.
FirewallActionArray[]
[out] Pointer to an array of IFWXFirewallAction interface
pointers. The array is filled with pointers to
IFWXFirewallAction interfaces to the firewall action objects
created by this call. The array contains dwNumberOfAddresses
pointers.
Remarks
This method is intended for use by filters that act as an
application proxy that has to establish secondary connections and
give the same address as the primary connection for the secondary
connection.
Filters for Firewall clients and for SecureNAT clients usually
use AllowFutureConnect
instead.
Calling this method causes all filters that are registered for
connect events on the appropriate port to be notified. If no data
filters are installed, a kernel-mode NAT redirection may
result.