FwpmBfeStateSubscribeChanges0 함수(fwpmk.h)

FwpmBfeStateSubscribeChanges0 함수는 필터 엔진의 상태가 변경되면 호출되는 콜백 함수를 등록합니다.

경고

콜백 매개 변수에 전달한 콜백 함수에서 FwpmBfeStateUnsubscribeChanges0 호출하지 마세요. 이렇게 하면 교착 상태가 발생할 수 있습니다.

통사론

NTSTATUS FwpmBfeStateSubscribeChanges0(
  [in, out]      void                                *deviceObject,
  [in]           FWPM_SERVICE_STATE_CHANGE_CALLBACK0 callback,
  [in, optional] void                                *context,
  [out]          HANDLE                              *changeHandle
);

매개 변수

[in, out] deviceObject

설명선 드라이버에서 이전에 만든 디바이스 개체에 대한 포인터입니다. 설명선 드라이버가 디바이스 개체를 만드는 방법에 대한 자세한 내용은 Device Object만들기를 참조하세요.

[in] callback

설명선 드라이버 제공 서비스 상태 변경 콜백 함수에 대한 포인터입니다. 필터 엔진의 상태가 변경 될 때마다 필터 엔진이이 함수를 호출 합니다.

서비스 상태 변경 콜백 함수는 다음과 같이 선언됩니다.

VOID NTAPI
callback(
    IN OUT void  *context,
    IN FWPM_SERVICE_STATE  newState
    );

문맥

설명선 드라이버가 FwpmBfeStateSubscribeChanges0 함수를 호출할 때 Context 매개 변수에 전달된 포인터입니다.

newState

필터 엔진의 새 상태입니다. 이 매개 변수는 다음 값 중 하나를 포함합니다.

FWPM_SERVICE_STOPPED

필터 엔진이 실행되고 있지 않습니다.

FWPM_SERVICE_START_PENDING

필터 엔진이 시작됩니다.

FWPM_SERVICE_STOP_PENDING

필터 엔진이 중지됩니다.

FWPM_SERVICE_RUNNING

필터 엔진이 실행 중입니다.

[in, optional] context

콜백 매개 변수에 지정된 콜백 함수에 전달되는 설명선 드라이버 제공 컨텍스트에 대한 포인터입니다.

[out] changeHandle

콜백 함수 등록과 연결된 핸들을 수신하는 변수에 대한 포인터입니다. 설명선 드라이버는 이 핸들을 FwpmBfeStateUnsubscribeChanges0 함수에 전달하여 콜백 함수를 등록 취소합니다.

반환 값

FwpmBfeStateSubscribeChanges0 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 묘사
STATUS_SUCCESS 콜백 함수가 성공적으로 등록되었습니다.
다른 NTSTATUS 코드 오류가 발생했습니다.

발언

설명선 드라이버는 FwpmBfeStateSubscribeChanges0 함수를 호출하여 필터 엔진의 상태가 변경되면 호출되는 콜백 함수를 등록합니다.

예를 들어 설명선 드라이버는 필터 엔진이 현재 실행되고 있지 않으면 FwpmEngineOpen0 함수를 호출하여 필터 엔진에 대한 세션을 열 수 없습니다. 설명선 드라이버는 FWPM_SERVICE_RUNNING 알림을 사용하여 필터 엔진에 대한 세션을 열 수 있으므로 다른 Windows Filtering Platform 관리 함수를 호출할 수. 마찬가지로 설명선 드라이버는 필터 엔진이 중지되기 전에 FWPM_SERVICE_STOP_PENDING 알림을 사용하여 정리를 수행할 수 있습니다.

설명선 드라이버는 FwpmBfeStateGet0 함수를 호출하기 전에 FwpmBfeStateSubscribeChanges0 호출하여 필터 엔진의 현재 상태를 검색해야 합니다. FwpmBfeStateSubscribeChanges0 호출이 반환되면 설명선 드라이버는 언제든지 FwpmBfeStateGet0 호출할 수 있습니다.

설명선 드라이버는 콜아웃 드라이버를 언로드하기 전에 FwpmBfeStateUnsubscribeChanges0 함수를 호출하여 콜백 함수의 등록을 취소해야 합니다.

FwpmBfeStateSubscribeChanges0FwpmBfeStateSubscribeChanges특정 버전입니다. 자세한 내용은 WFP Version-Independent 이름 및 특정 버전의 Windows 대상으로 지정을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista부터 사용할 수 있습니다.
대상 플랫폼 보편적
헤더 fwpmk.h(Fwpmk.h 포함)
라이브러리 Fwpkclnt.lib
IRQL PASSIVE_LEVEL

참고 항목