FWPS_CALLOUT_CLASSIFY_FN1 콜백 함수(fwpsk.h)
필터 엔진은 콜아웃에서 처리할 데이터가 있을 때마다 콜아웃의 classifyFn1 콜아웃 함수를 호출합니다.
구문
FWPS_CALLOUT_CLASSIFY_FN1 FwpsCalloutClassifyFn1;
void FwpsCalloutClassifyFn1(
[in] const FWPS_INCOMING_VALUES0 *inFixedValues,
[in] const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
[in, out] void *layerData,
[in, optional] const void *classifyContext,
[in] const FWPS_FILTER1 *filter,
[in] UINT64 flowContext,
[in, out] FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}
매개 변수
[in] inFixedValues
FWPS_INCOMING_VALUES0 구조체에 대한 포인터입니다. 이 구조체에는 필터링되는 계층의 각 데이터 필드에 대한 값이 포함됩니다.
[in] inMetaValues
에 대한 포인터 FWPS_INCOMING_METADATA_VALUES0 구조체입니다. 이 구조체에는 필터링되는 계층의 각 메타데이터 필드에 대한 값이 포함됩니다.
[in, out] layerData
필터링되는 계층의 원시 데이터를 설명하는 구조체에 대한 포인터입니다. 이 매개 변수는 필터링되는 계층 및 classifyFn1 콜아웃 함수가 호출되는 조건에 따라 NULL일 수 있습니다. 스트림 계층의 경우 이 매개 변수는 를 가리킵니다. FWPS_STREAM_CALLOUT_IO_PACKET0 구조체입니다. 다른 모든 계층의 경우 이 매개 변수는 NULL이 아닌 경우 NET_BUFFER_LIST 구조를 가리킵니다.
[in, optional] classifyContext
필터 엔진에서 설명선 드라이버와 연결된 컨텍스트 데이터에 대한 포인터입니다.
[in] filter
FWPS_FILTER1 구조체에 대한 포인터입니다. 이 구조체는 필터 작업에 대한 설명선 지정 필터를 설명합니다.
[in] flowContext
데이터 흐름과 연결된 컨텍스트를 포함하는 UINT64 형식의 변수입니다. 데이터 흐름과 연결된 컨텍스트가 없으면 이 매개 변수는 0입니다. 데이터 흐름을 지원하지 않는 필터링 계층의 필터 엔진에 설명선이 추가되면 classifyFn1 설명선 함수는 이 매개 변수를 무시해야 합니다.
[in, out] classifyOut
classifyFn1 설명선 함수가 호출자에게 반환하는 모든 데이터를 수신하는 FWPS_CLASSIFY_OUT0 구조체에 대한 포인터입니다.
반환 값
없음
설명
설명선 드라이버는 FwpsCalloutRegister1 함수를 호출하여 설명선의 설명선 함수를 필터 엔진에 등록합니다.
필터 엔진은 필터 작업에 대한 설명선 을 지정하는 필터 엔진의 필터에 대해 모든 테스트 조건이 true일 때마다 처리할 데이터가 있는 설명선의 classifyFn1 설명선 함수를 호출합니다.
설명선의 classifyFn1 설명선 함수는 다음과 같은 상황에서 FWPS_CLASSIFY_OUT0 구조의 rights 멤버에서 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 멤버에 설정됩니다.
- 설명선이 에 대한 호출에서 intendToModify 매개 변수를 TRUE 로 설정하여 복제 순 버퍼 목록을 수정하려고 함을 표시한 경우 FwpsReferenceNetBufferList0 함수입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7부터 사용할 수 있습니다. |
대상 플랫폼 | Windows |
헤더 | fwpsk.h(Fwpsk.h 포함) |
IRQL | <= DISPATCH_LEVEL |