FWPS_TRANSPORT_SEND_PARAMS0_ - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// fwpsk.h

typedef struct FWPS_TRANSPORT_SEND_PARAMS0_ {
  UCHAR      *remoteAddress;
  SCOPE_ID   remoteScopeId;
  WSACMSGHDR *controlData;
  ULONG      controlDataLength;
} FWPS_TRANSPORT_SEND_PARAMS0;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-fwpsk-fwps_transport_send_params0_)

FWPS_TRANSPORT_SEND_PARAMS0_ structure

Description

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

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

Members

remoteAddress

A pointer to a buffer that specifies the remote IP address to which to send the socket. 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 FwpsInjectTransportSendAsync0 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.

See also

CMSGHDR

FWPS_INCOMING_METADATA_VALUES0

FWPS_TRANSPORT_SEND_PARAMS1

FwpsInjectTransportSendAsync0

WSASendMsg

classifyFn