Поделиться через


Функция FwpmProviderContextSubscribeChanges0 (fwpmu.h)

Функция FwpmProviderContextSubscribeChanges0 используется для запроса доставки уведомлений об изменениях в определенном контексте поставщика.

Синтаксис

DWORD FwpmProviderContextSubscribeChanges0(
  [in]           HANDLE                                    engineHandle,
  [in]           const FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 *subscription,
  [in]           FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0    callback,
  [in, optional] void                                      *context,
  [out]          HANDLE                                    *changeHandle
);

Параметры

[in] engineHandle

Тип: HANDLE

Дескриптор открытого сеанса в обработчике фильтров. Вызовите FwpmEngineOpen0 , чтобы открыть сеанс для подсистемы фильтрации.

[in] subscription

Тип: const FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0*

Доставляемые уведомления.

[in] callback

Тип: FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0

Указатель функции, который будет вызываться, когда уведомление готово к доставке.

[in, optional] context

Тип: void*

Необязательный указатель контекста. Этот указатель передается в функцию обратного вызова вместе с подробными сведениями об изменении.

[out] changeHandle

Тип: HANDLE*

Дескриптор для созданной подписки.

Возвращаемое значение

Тип: DWORD

Возвращаемый код или значение Описание
ERROR_SUCCESS
0
Подписка успешно создана.
Код ошибки FWP_E_*
0x80320001 — 0x80320039
Ошибка, определяемая платформой фильтрации Windows (ПППП). Дополнительные сведения см. в разделе Коды ошибок МПП .
Код ошибки RPC_*
0x80010001 — 0x80010122
Сбой связи с удаленным или локальным обработчиком брандмауэра.

Комментарии

Подписчики не получают уведомления об изменениях, внесенных с помощью того же дескриптора сеанса, который используется для подписки. Это связано с тем, что подписчикам нужно только видеть изменения, внесенные другими пользователями, так как они уже знают, какие изменения они внесли сами.

Эту функцию нельзя вызвать из транзакции. Это приведет к сбою при FWP_E_TXN_IN_PROGRESS. Дополнительные сведения о транзакциях см. в разделе Управление объектами.

Вызывающему объекту требуется FWPM_ACTRL_SUBSCRIBE доступ к контейнеру контекста поставщика и FWPM_ACTRL_READ доступ к контексту поставщика. Подписчик будет получать уведомления только для контекстов поставщика, к которым у него есть доступ FWPM_ACTRL_READ . Дополнительные сведения см. в разделе контроль доступа.

FwpmProviderContextSubscribeChanges0 — это конкретная реализация FwpmProviderContextSubscribeChanges. Дополнительные сведения см. в разделах Имена Version-Independent и Выбор конкретных версий Windows .

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header fwpmu.h
Библиотека Fwpuclnt.lib
DLL Fwpuclnt.dll

См. также раздел

FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0

FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0