FWPS_STREAM_CALLOUT_IO_PACKET0 구조체(fwpsk.h)

FWPS_STREAM_CALLOUT_IO_PACKET0 구조는 데이터 스트림을 필터링할 때 필터 엔진에서 설명선의 classifyFn 설명선 함수에 전달된 데이터를 설명합니다.

FWPS_STREAM_CALLOUT_IO_PACKET0 특정 버전의 FWPS_STREAM_CALLOUT_IO_PACKET. 자세한 내용은 WFP Version-Independent 이름 및 특정 버전의 Windows 대상 지정 을 참조하세요.
 

구문

typedef struct FWPS_STREAM_CALLOUT_IO_PACKET0_ {
  FWPS_STREAM_DATA0       *streamData;
  SIZE_T                  missedBytes;
  UINT32                  countBytesRequired;
  SIZE_T                  countBytesEnforced;
  FWPS_STREAM_ACTION_TYPE streamAction;
} FWPS_STREAM_CALLOUT_IO_PACKET0;

멤버

streamData

처리를 위해 설명선 드라이버의 classifyFn 설명선 함수에 사용할 수 있는 데이터 스트림의 부분을 설명하는 FWPS_STREAM_DATA0 구조체에 대한 포인터입니다.

missedBytes

콜아웃 드라이버의 classifyFn 콜아웃 함수가 마지막으로 호출된 이후 누락된 데이터 스트림의 바이트 수입니다. 필터 엔진의 가중치 필터가 높을수록 콜아웃 드라이버의 classifyFn 콜아웃 함수가 데이터 스트림의 일부를 처리하지 못하는 경우 이 멤버는 0이 아닌 것입니다.

countBytesRequired

콜아웃의 classifyFn 콜아웃 함수에 의해 설정된 값입니다. 이 값은 streamAction 멤버를 FWPS_STREAM_ACTION_NEED_MORE_DATA 설정하는 경우 설명선 함수에 필요한 스트림 데이터의 추가 바이트 수를 지정합니다. 필터 엔진은 설명선 드라이버의 classifyFn 설명선 함수를 다시 호출하기 전에 적어도 이 많은 추가 스트림 데이터를 수신할 때까지 기다립니다.

callout의 classifyFn 콜아웃 함수가 streamAction 멤버를 FWPS_STREAM_ACTION_NEED_MORE_DATA 이외의 값으로 설정하는 경우 이 멤버를 0으로 설정해야 합니다.

countBytesEnforced

콜아웃의 classifyFn 콜아웃 함수에 의해 설정된 값입니다. 이 값은 streamAction 멤버 또는 설명선 함수에서 반환된 작업에 의해 지정된 작업이 적용되는 처리되는 데이터 스트림 부분의 선행 데이터 바이트 수를 지정합니다. 스트림 버퍼의 나머지 데이터는 다음에 필터 엔진이 콜아웃 드라이버의 classifyFn 콜아웃 함수를 호출할 때 콜아웃 드라이버에 다시 전달됩니다.

streamAction

데이터 스트림에 적용할 작업을 지정하는 설명선의 classifyFn 설명선 함수에서 설정한 FWPS_STREAM_ACTION_TYPE 값입니다. 이 작업은 콜아웃 함수에서 반환하는 작업과 독립적입니다. 설명선의 classifyFn 설명선 함수는 이 멤버를 다음 중 하나로 설정합니다.

FWPS_STREAM_ACTION_NONE

스트림 관련 작업이 필요하지 않습니다.

FWPS_STREAM_ACTION_ALLOW_CONNECTION

흐름에 속하는 모든 향후 데이터 세그먼트가 허용됨을 나타냅니다. 이 경우 WFP는 모든 데이터 세그먼트를 설명선으로 분류하는 것을 중지하고 더 이상 검사 오버헤드가 발생하지 않는 하드웨어로 흐름을 오프로드하려고 시도합니다.

FWPS_STREAM_ACTION_NEED_MORE_DATA

더 많은 스트림 데이터는 콜아웃 함수에 필요합니다.

FWPS_STREAM_ACTION_DROP_CONNECTION

스트림 연결을 삭제해야 합니다. 설명선의 classifyFn 설명선 함수는 필터 엔진이 설명선 드라이버의 classifyFn 설명선 함수에 전달한 FWPS_FILTER0 구조체의 action.type 멤버에 FWP_ACTION_CALLOUT_UNKNOWN 값이 포함된 경우에만 streamAction 멤버를 이 값으로 설정해야 합니다. FWPS_FILTER0 구조체action.type 멤버에 FWP_ACTION_CALLOUT_INSPECTION 값이 포함된 경우 설명선의 classifyFn 설명선 함수가 streamAction 멤버를 이 값으로 설정하면 연결이 삭제되지 않습니다.

FWPS_STREAM_ACTION_DEFER

스트림 데이터의 처리는 설명선 드라이버가 FwpsStreamContinue0 함수를 호출할 때까지 지연됩니다. 이 작업은 인바운드 데이터 스트림에 대해서만 설정할 수 있습니다.

인바운드 데이터 스트림을 연기하면 네트워크 스택이 보낸 사람으로부터 받은 데이터의 승인을 중지합니다. 이로 인해 슬라이딩 TCP 창의 크기가 감소합니다. 콜아웃 드라이버는 이 동작을 사용하여 흐름 제어를 구현하여 들어오는 데이터 속도를 늦출 수 있습니다.

FWPS_STREAM_ACTION_TYPE_MAX 값은 테스트 목적으로 최대값입니다.

콜아웃의 classifyFn 콜아웃 함수가 이 멤버를 FWPS_STREAM_ACTION_NONE 이외의 값으로 설정하는 경우, 호출 함수에서 반환된 작업은 필터 엔진에서 무시됩니다.

설명

필터 엔진은 데이터 스트림을 필터링할 때 FWPS_STREAM_CALLOUT_IO_PACKET0 구조체에 대한 포인터를 설명선의 classifyFn 설명선 함수에 layerData 매개 변수로 전달합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista부터 사용할 수 있습니다.
머리글 fwpsk.h(Fwpsk.h 포함)

추가 정보

FWPS_STREAM_DATA0

FwpsStreamContinue0

설명선 유형

classifyFn