Функция FwpmBfeStateSubscribeChanges0 (fwpmk.h)
Функция FwpmBfeStateSubscribeChanges0 регистрирует функцию обратного вызова, которая вызывается всякий раз при изменении состояния обработчика фильтров.
Предупреждение
Не вызывайте
Синтаксис
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
);
Контекст
Указатель, переданный в параметре контекста
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. Аналогичным образом драйвер выноски может использовать уведомление FWPM_SERVICE_STOP_PENDING для выполнения любой очистки перед остановкой обработчика фильтров.
Драйвер выноски должен вызывать FwpmBfeStateSubscribeChanges0 перед вызовом функции FwpmBfeStateGet0, чтобы получить текущее состояние обработчика фильтров. После вызова FwpmBfeStateSubscribeChanges0 возвращается, драйвер выноски может вызывать FwpmBfeStateGet0 в любое время.
Драйвер выноски должен отменить регистрацию функции обратного вызова, вызвав функцию FwpmBfeStateUnsubscribeChanges0 перед выгрузкой драйвера выноски.
FwpmBfeStateSubscribeChanges0 — это определенная версия FwpmBfeStateSubscribeChanges. Дополнительные сведения см. в статье МПП Version-Independent имен и целевых версий Windows.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows Vista. |
целевая платформа | Всеобщий |
заголовка | fwpmk.h (include Fwpmk.h) |
библиотеки |
Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |