FwpmBfeStateSubscribeChanges0 함수(fwpmk.h)

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

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

경고

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

구문

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

매개 변수

[in, out] deviceObject

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

[in] callback

콜아웃 드라이버 제공 서비스 상태 변경 콜백 함수에 대한 포인터입니다. 필터 엔진은 필터 엔진의 상태가 변경되면 이 함수를 호출합니다.

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

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

Context

설명선 드라이버가 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
콜백 함수가 성공적으로 등록되었습니다.
기타 상태 코드
오류가 발생했습니다.

설명

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

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

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

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

요구 사항

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

추가 정보

FwpmBfeStateGet0

FwpmBfeStateUnsubscribeChanges0

FwpmEngineOpen0