Функция 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
Указатель на объект устройства, ранее созданный драйвером выноски. Дополнительные сведения о том, как драйвер выноски создает объект устройства, см. в разделе Создание объекта устройства.
[in] callback
Указатель на функцию обратного вызова изменения состояния службы, предоставляемую драйвером выноски. Подсистема фильтров вызывает эту функцию всякий раз, когда происходит изменение состояния подсистемы фильтрации.
Функция обратного вызова service-state-change объявляется следующим образом.
VOID NTAPI
callback(
IN OUT void *context,
IN FWPM_SERVICE_STATE newState
);
Контекст
Указатель, переданный в параметре Context , когда драйвер выноски вызывал функцию FwpmBfeStateSubscribeChanges0 .
Новое_состояние
Новое состояние подсистемы фильтров. Этот параметр содержит одно из следующих значений:
FWPM_SERVICE_STOPPED
Подсистема фильтров не запущена.
FWPM_SERVICE_START_PENDING
Подсистема фильтров запускается.
FWPM_SERVICE_STOP_PENDING
Подсистема фильтров останавливается.
FWPM_SERVICE_RUNNING
Подсистема фильтров запущена.
[in, optional] context
Указатель на предоставленный драйвером выноски контекст, передаваемый в функцию обратного вызова, указанную в параметре Callback .
[out] changeHandle
Указатель на переменную, получающую дескриптор, связанный с регистрацией функции обратного вызова. Драйвер выноски передает этот дескриптор функции FwpmBfeStateUnsubscribeChanges0 , чтобы отменить регистрацию функции обратного вызова.
Возвращаемое значение
Функция FwpmBfeStateSubscribeChanges0 возвращает один из следующих кодов NTSTATUS:
Код возврата | Описание |
---|---|
|
Функция обратного вызова успешно зарегистрирована. |
|
Произошла ошибка. |
Комментарии
Драйвер выноски вызывает функцию FwpmBfeStateSubscribeChanges0 , чтобы зарегистрировать функцию обратного вызова, которая вызывается при изменении состояния подсистемы фильтрации.
Например, драйвер выноски не может открыть сеанс для подсистемы фильтрации, вызвав функцию FwpmEngineOpen0 , если только подсистема фильтров не запущена в данный момент. Драйвер выноски может использовать уведомление FWPM_SERVICE_RUNNING , чтобы открыть сеанс для обработчика фильтров, чтобы он смог выполнять вызовы других функций управления платформой фильтрации Windows. Аналогичным образом драйвер выноски может использовать уведомление FWPM_SERVICE_STOP_PENDING для выполнения любой очистки перед остановкой обработчика фильтров.
Драйвер выноски должен вызвать FwpmBfeStateSubscribeChanges0 перед вызовом функции FwpmBfeStateGet0 , чтобы получить текущее состояние подсистемы фильтров. После возврата вызова FwpmBfeStateSubscribeChanges0 драйвер выноски может в любое время вызвать FwpmBfeStateGet0 .
Драйвер выноски должен отменить регистрацию функции обратного вызова путем вызова Функция FwpmBfeStateUnsubscribeChanges0 перед выгрузкой драйвера выноски.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Vista. |
Целевая платформа | Универсальное |
Верхняя часть | fwpmk.h (включая Fwpmk.h) |
Библиотека | Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |
См. также раздел
FwpmBfeStateUnsubscribeChanges0Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по