FWPS_CALLOUT_NOTIFY_FN2 콜백 함수(fwpsk.h)

필터 엔진은 콜아웃의 notifyFn2 콜아웃 함수를 호출하여 콜아웃 드라이버에 콜아웃과 연결된 이벤트에 대해 알립니다.

notifyFn2는 Windows 8 이상에서 사용되는 notifyFn의 특정 버전입니다. 자세한 내용은 WFP Version-Independent 이름 및 특정 버전의 Windows 대상 지정 을 참조하세요. Windows 7의 경우 notifyFn1 을 사용할 수 있습니다. Windows Vista의 경우 notifyFn0 을 사용할 수 있습니다.

 

구문

FWPS_CALLOUT_NOTIFY_FN2 FwpsCalloutNotifyFn2;

NTSTATUS FwpsCalloutNotifyFn2(
  [in]      FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  [in]      const GUID *filterKey,
  [in, out] FWPS_FILTER2 *filter
)
{...}

매개 변수

[in] notifyType

필터 엔진이 콜아웃에 보내는 알림 유형을 나타내는 값입니다. 이 매개 변수에 유효한 값은 다음과 같습니다.

FWPS_CALLOUT_NOTIFY_ADD_FILTER

필터 작업에 대한 콜아웃을 지정하는 필터 엔진에 필터가 추가되고 있습니다.

FWPS_CALLOUT_NOTIFY_DELETE_FILTER

필터 작업에 대한 콜아웃을 지정하는 필터 엔진에서 필터가 삭제되고 있습니다.

FWPS_CALLOUT_NOTIFY_TYPE_MAX

테스트를 위한 최대값입니다.

[in] filterKey

필터를 추가하거나 삭제하는 애플리케이션 또는 드라이버에서 지정한 대로 필터의 관리 식별자에 대한 포인터입니다. notifyType 매개 변수가 FWPS_CALLOUT_NOTIFY_DELETE_FILTER 설정된 경우 NULL이어야 합니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

[in, out] filter

FWPS_FILTER2 구조체에 대한 포인터입니다. 이 구조체는 필터 엔진에 추가되거나 필터 엔진에서 삭제되는 필터에 대해 설명합니다.

설명선 드라이버의 notifyFn2 함수는 필터가 필터 엔진에 추가되면 이 구조체의 컨텍스트 멤버를 설명선 드라이버 제공 컨텍스트 구조를 가리키도록 설정할 수 있습니다. 이 컨텍스트 구조는 필터 엔진에 대해 불투명하며 설명선 드라이버의 classifyFn2 설명선 함수에서 필터 엔진의 호출 간에 드라이버별 데이터 또는 상태 정보를 설명선 드라이버의 호출 간에 보존하는 데 사용할 수 있습니다.
classifyFn2 callout 함수입니다.

필터 엔진에서 필터를 삭제할 때 설명선 드라이버의 notifyFn2 함수는 필터와 연결된 컨텍스트를 클린 수 있습니다.

반환 값

설명선의 notifyFn2 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
설명선 드라이버는 필터 엔진의 알림을 수락합니다.
기타 상태 코드
오류가 발생했습니다. notifyType 매개 변수가 FWPS_CALLOUT_NOTIFY_ADD_FILTER 필터 엔진에 추가되지 않습니다. notifyType 매개 변수가 FWPS_CALLOUT_NOTIFY_DELETE_FILTER 필터 엔진에서 필터가 삭제됩니다.

설명

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

필터 엔진은 콜아웃 드라이버의 notifyFn2 함수를 호출하여 콜아웃 드라이버에 콜아웃과 연결된 이벤트에 대해 알립니다. callout 드라이버의 notifyFn2 함수가 notifyType 매개 변수에 전달된 알림 유형을 인식하지 못하는 경우 알림을 무시하고 STATUS_SUCCESS 반환해야 합니다.

필터 작업에 대한 설명선이 필터 엔진에 이미 추가된 후 설명선 드라이버가 필터 엔진에 설명선에 등록하는 경우 필터 엔진은 설명선 드라이버의 notifyFn2 함수를 호출하여 기존 필터에 대해 설명선에 알리지 않습니다. 필터 엔진은 필터 작업에 대한 설명선이 필터 엔진에 추가되면 설명선 드라이버의 notifyFn2 함수를 호출하여 설명선에 알립니다. 이 경우 필터 작업에 대한 콜아웃을 지정하는 필터 엔진의 모든 필터에 대해 callout의 notifyFn2 함수가 호출되지 않을 수 있습니다. 필터 엔진이 시작된 후 설명선 드라이버가 설명선에 등록하고 설명선이 필터 동작에 대한 설명선이 지정하는 필터 엔진의 모든 필터에 대해 알고 있어야 하는 경우 설명선 드라이버는 적절한 관리 함수를 호출하여 필터 엔진의 모든 필터를 열거하고 필터 작업의 설명선이 지정된 필터 목록을 정렬해야 합니다. 이러한 함수를 호출하는 방법에 대한 자세한 내용은 다른 Windows 필터링 플랫폼 함수 호출을 참조하세요.

필터의 작업에 대한 설명선이 필터 엔진에서 삭제되면 필터 엔진은 설명선 드라이버의 notifyFn2 함수를 호출하고 notifyType 매개 변수의 FWP_CALLOUT_NOTIFY_DELETE_FILTER 전달하고 filterKey 매개 변수의 NULL을 전달합니다. 자세한 내용은 알림 설명선 처리를 참조하세요.

이 함수는 기본적으로 이전 버전 notifyFn1과 동일합니다. 유일한 차이점은 필터 매개 변수가 가리키는 업데이트된 FWPS_FILTER2 구조체입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 사용하여 사용할 수 있습니다.
대상 플랫폼 Windows
헤더 fwpsk.h(Fwpsk.h 포함)
IRQL <= DISPATCH_LEVEL

추가 정보

설명선 드라이버 설명선 함수

FWPS_FILTER2

FwpsCalloutRegister2

notifyFn

notifyFn0

notifyFn1