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


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

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

Синтаксис

DWORD FwpmCalloutSubscribeChanges0(
  [in]           HANDLE                           engineHandle,
  [in]           const FWPM_CALLOUT_SUBSCRIPTION0 *subscription,
  [in]           FWPM_CALLOUT_CHANGE_CALLBACK0    callback,
  [in, optional] void                             *context,
  [out]          HANDLE                           *changeHandle
);

Параметры

[in] engineHandle

Тип: HANDLE

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

[in] subscription

Тип: FWPM_CALLOUT_SUBSCRIPTION0*

Уведомления, которые будут доставлены.

[in] callback

Тип: FWPM_CALLOUT_CHANGE_CALLBACK0

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

[in, optional] context

Тип: void*

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

[out] changeHandle

Тип: HANDLE*

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

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

Тип: DWORD

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

Комментарии

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

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

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

FwpmCalloutSubscribeChanges0 — это конкретная реализация FwpmCalloutSubscribeChanges. Дополнительные сведения см. в разделах ИМЕНА Version-Independent ВПП и Выбор конкретных версий Windows .

Требования

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

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

FWPM_CALLOUT_CHANGE_CALLBACK0

FWPM_CALLOUT_SUBSCRIPTION0

FwpmCalloutUnsubscribeChanges0