다음을 통해 공유


FWPS_CALLOUT_CLASSIFY_FN2 콜백 함수(fwpsu.h)

필터 엔진은 콜아웃에서 처리할 데이터가 있을 때마다 콜아웃의 classifyFn2 콜아웃 함수를 호출합니다.

참고

classifyFn2 는 Windows 8 이상에서 사용되는 classifyFn 의 특정 버전입니다. 자세한 내용은 WFP 버전 독립적 이름 및 특정 버전의 Windows 대상 지정을 참조하세요. Windows 7의 경우 classifyFn1 을 사용할 수 있습니다. Windows Vista의 경우 classifyFn0 을 사용할 수 있습니다.

구문

FWPS_CALLOUT_CLASSIFY_FN2 FwpsCalloutClassifyFn2;

void FwpsCalloutClassifyFn2(
  const FWPS_INCOMING_VALUES0 *inFixedValues,
  const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
  void *layerData,
  const void *classifyContext,
  const FWPS_FILTER2 *filter,
  UINT64 flowContext,
  FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}

매개 변수

inFixedValues

FWPS_INCOMING_VALUES0 구조체에 대한 포인터입니다. 이 구조체에는 필터링되는 계층의 각 데이터 필드에 대한 값이 포함됩니다.

inMetaValues

FWPS_INCOMING_METADATA_VALUES0 구조체에 대한 포인터입니다. 이 구조체에는 필터링되는 계층의 각 메타데이터 필드에 대한 값이 포함됩니다.

layerData

필터링되는 계층의 원시 데이터를 설명하는 구조체에 대한 포인터입니다. 이 매개 변수는 필터링되는 계층 및 classifyFn2 콜아웃 함수가 호출되는 조건에 따라 NULL일 수 있습니다. 스트림 계층의 경우 이 매개 변수는 FWPS_STREAM_CALLOUT_IO_PACKET0 구조를 가리킵니다. 다른 모든 계층의 경우 이 매개 변수는 NULL이 아닌 경우 NET_BUFFER_LIST 구조를 가리킵니다.

classifyContext

필터 엔진에서 설명선 드라이버와 연결된 컨텍스트 데이터에 대한 포인터입니다.

filter

FWPS_FILTER2 구조체에 대한 포인터입니다. 이 구조체는 필터 작업에 대한 설명선 지정 필터를 설명합니다.

flowContext

데이터 흐름과 연결된 컨텍스트를 포함하는 UINT64 형식의 변수입니다. 데이터 흐름과 연결된 컨텍스트가 없으면 이 매개 변수는 0입니다. 데이터 흐름을 지원하지 않는 필터링 계층의 필터 엔진에 설명선이 추가되면 classifyFn2 설명선 함수는 이 매개 변수를 무시해야 합니다.

classifyOut

classifyFn2 설명선 함수가 호출자에게 반환하는 모든 데이터를 수신하는 FWPS_CLASSIFY_OUT0 구조체에 대한 포인터입니다.

반환 값

없음

설명

설명선 드라이버는 FwpsCalloutRegister2 함수를 호출하여 설명선의 설명선 함수를 필터 엔진에 등록합니다.

필터 엔진은 필터 작업에 대한 설명선이 지정되는 필터 엔진의 필터에 대해 모든 테스트 조건이 true일 때마다 처리할 데이터가 있는 설명선의 classifyFn2 설명선 함수를 호출합니다.

설명선의 classifyFn1 설명선 함수는 다음과 같은 상황에서 FWPS_CLASSIFY_OUT0 구조의 권한 멤버에서 FWPS_RIGHT_ACTION_WRITE 플래그를 지워야 합니다.

  • classifyFn1 설명선 함수가 FWPS_CLASSIFY_OUT0 구조체의 actionType 멤버를 FWP_ACTION_BLOCK 설정합니다.
  • classifyFn1 설명선 함수가 FWPS_CLASSIFY_OUT0 구조체의 actionType 멤버를 FWP_ACTION_PERMIT 설정하면 FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT 플래그가 FWPS_FILTER1 구조체의 flags 멤버에 설정됩니다.
  • 설명선이 fwpsReferenceNetBufferList0 함수에 대한 호출에서 intendToModify 매개 변수를 TRUE로 설정하여 복제 넷 버퍼 목록을 수정하려고 함을 표시한 경우

요구 사항

요구 사항
헤더 fwpsu.h