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 |