FWPS_TRANSPORT_SEND_PARAMS1 structure (fwpsk.h)

The FWPS_TRANSPORT_SEND_PARAMS1 structure defines properties of an outbound transport layer packet.

Note  FWPS_TRANSPORT_SEND_PARAMS1 is the specific version of FWPS_TRANSPORT_SEND_PARAMS used in Windows 7 and later. See WFP Version-Independent Names and Targeting Specific Versions of Windows for more information. For Windows Vista, FWPS_TRANSPORT_SEND_PARAMS0 is available.
 

Syntax

typedef struct FWPS_TRANSPORT_SEND_PARAMS1_ {
  UCHAR      *remoteAddress;
  SCOPE_ID   remoteScopeId;
  WSACMSGHDR *controlData;
  ULONG      controlDataLength;
  UCHAR      *headerIncludeHeader;
  ULONG      headerIncludeHeaderLength;
} FWPS_TRANSPORT_SEND_PARAMS1;

Members

remoteAddress

A pointer to a buffer that specifies the remote IP address to which the socket needs to be sent. The remote address specified by this member can be different than the one passed as one of the incoming data values to the callout driver's classifyFn callout function.

The buffer can contain an IPv4 address (4 bytes) or an IPv6 address (16 bytes), and the address must be specified in network byte order. The IP version must match the AddressFamily parameter specified in the FwpsInjectTransportSendAsync1 function.

The buffer must remain valid until the injection completion function is called.

remoteScopeId

A SCOPE_ID structure that contains the scope identifier for the remote IP address. The scope identifier is provided to a callout through the remoteScopeId member of the FWPS_INCOMING_METADATA_VALUES0 structure that is passed to the callout driver's classifyFn callout function. The SCOPE_ID structure is defined in Ws2ipdef.h as follows.

typedef struct {
  union {
    struct {
      ULONG  Zone : 28;
      ULONG  Level : 4;
    };
    ULONG  Value;
  };
} SCOPE_ID, *PSCOPE_ID;

controlData

An optional pointer to a buffer that contains socket control data specified by the WSASendMsg function. For information about the WSACMSGHDR type, see CMSGHDR.

If present, socket control data is provided to a callout with the controlData member of the FWPS_INCOMING_METADATA_VALUES0 structure that is passed to the callout driver's classifyFn callout function.

If socket control data is not NULL, it must be deep-copied in the callout driver's implementation of the classifyFn function, and the controlData buffer must be kept valid until the injection completion function is called.

controlDataLength

The length, in bytes, of the controlData member.

headerIncludeHeader

The transport header to include.

headerIncludeHeaderLength

The length, in bytes, of the headerIncludeHeader member.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 7.
Header fwpsk.h (include Fwpsk.h)

See also

CMSGHDR

FWPS_INCOMING_METADATA_VALUES0 FwpsInjectTransportSendAsync1

WSASendMsg

classifyFn