Compartilhar via


FWPS_STREAM_DATA0 (Compact 2013)

3/26/2014

This structure describes a section of a data stream.

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 that contains one or more flags that specify the characteristics of the data stream.

    For inbound data streams, the variable can include 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.

    For outbound data streams, the variable can include 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 insert data into the stream if this flag is set.

  • dataOffset
    An FWPS_STREAM_DATA_OFFSET0 structure that specifies the offset into the data stream where the section of the data stream begins.
  • dataLength
    The number of bytes in the section of the data stream.
  • netBufferListChain
    A pointer to a NET_BUFFER_LIST structure that describes the section of the data stream.

Remarks

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

Requirements

Header

fwpsk.h

See Also

Reference

WFP Callout Driver Structures
FwpsStreamInjectAsync0
FWPS_STREAM_DATA_OFFSET0
NET_BUFFER_LIST
classifyFn
FWPS_STREAM_CALLOUT_IO_PACKET0
WFP Callout Driver Reference