FWPS_STREAM_DATA0 structure (fwpsk.h)

The FWPS_STREAM_DATA0 structure describes a portion of a data stream.

Note  FWPS_STREAM_DATA0 is a specific version of FWPS_STREAM_DATA. See WFP Version-Independent Names and Targeting Specific Versions of Windows for more information.
 

Syntax

typedef struct FWPS_STREAM_DATA0_ {
  UINT32                   flags;
  FWPS_STREAM_DATA_OFFSET0 dataOffset;
  SIZE_T                   dataLength;
  NET_BUFFER_LIST          *netBufferListChain;
} FWPS_STREAM_DATA0;

Members

flags

A variable containing flags that specify the characteristics of the data stream.

For inbound data streams, this can be one or more of the following flags:

FWPS_STREAM_FLAG_RECEIVE

Specifies that the stream is an inbound data stream. This flag is always set for inbound data streams.

FWPS_STREAM_FLAG_RECEIVE_EXPEDITED

Specifies that the inbound data stream contains high-priority out-of-band data.

FWPS_STREAM_FLAG_RECEIVE_DISCONNECT

Specifies that the inbound data has arrived with the FIN flag set in the TCP header. This indicates that the sender has disconnected the stream.

FWPS_STREAM_FLAG_RECEIVE_ABORT

Specifies that the inbound data has arrived with the RST flag set in the TCP header. This indicates that the sender has reset the stream.

Note  This flag is not implemented in Windows Vista.

For outbound data streams, this can be one or more of the following flags:

FWPS_STREAM_FLAG_SEND

Specifies that the stream is an outbound data stream. This flag is always set for outbound data streams.

FWPS_STREAM_FLAG_SEND_EXPEDITED

Specifies that the outbound data stream contains high-priority out-of-band data.

FWPS_STREAM_FLAG_SEND_NODELAY

Specifies that the sending client requests that the outbound data stream is not to be buffered. If this flag is set, a callout driver should not hold onto the stream buffer any longer than necessary.

FWPS_STREAM_FLAG_SEND_DISCONNECT

Specifies that the stream is to be disconnected after the data in the outbound data stream has been sent. The network stack will set the FIN flag in the TCP header of the last packet that is sent out.

FWPS_STREAM_FLAG_SEND_ABORT

Specifies that the stream is to be reset after the data in the outbound data stream has been sent. The network stack will set the RST flag in the TCP header of the last packet that is sent out. Callout drivers must not call the FwpsStreamInjectAsync0 function to inject data into the stream if this flag is set.

Note  This flag is not implemented in Windows Vista.

dataOffset

An FWPS_STREAM_DATA_OFFSET0 structure that specifies the offset into the data stream where the portion of the data stream begins.

dataLength

The number of bytes in the portion of the data stream.

netBufferListChain

A pointer to a NET_BUFFER_LIST structure that describes the portion of the data stream.

Remarks

The filter engine uses the FWPS_STREAM_DATA0 structure to describe the portion of a data stream that a callout's classifyFn callout function can process. The dataStream member of the FWPS_STREAM_CALLOUT_IO_PACKET0 structure points to an FWPS_STREAM_DATA0 structure.

Requirements

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

See also

FWPS_STREAM_CALLOUT_IO_PACKET0

FWPS_STREAM_DATA_OFFSET0

FwpsStreamInjectAsync0

NET_BUFFER_LIST

classifyFn