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


структура FWPS_CALLOUT1 (fwpsk.h)

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

ПримечаниеFWPS_CALLOUT1 — это конкретная версия FWPS_CALLOUT , используемая в Windows 7 и более поздних версиях. Дополнительные сведения см. в разделах Имена Version-Independent и Выбор конкретных версий Windows . Для Windows 8 доступно FWPS_CALLOUT2. Для Windows Vista доступно FWPS_CALLOUT0 .
 

Синтаксис

typedef struct FWPS_CALLOUT1_ {
  GUID                                calloutKey;
  UINT32                              flags;
  FWPS_CALLOUT_CLASSIFY_FN1           classifyFn;
  FWPS_CALLOUT_NOTIFY_FN1             notifyFn;
  FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT1;

Члены

calloutKey

Guid, определенный драйвером выноски, который однозначно идентифицирует выноску.

flags

Флаги, указывающие параметры, относящиеся к выноске. Возможные флаги:

Значение Значение
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW
0x00000001
Драйвер выноски может указать этот флаг при регистрации выноски, которая будет добавлена на уровне, поддерживающем потоки данных. Если этот флаг указан, подсистема фильтров вызывает функцию выноски classifyFn1 драйвера выноски только при наличии контекста, связанного с потоком данных. Драйвер выноски связывает контекст с потоком данных, вызывая функцию FwpsFlowAssociateContext0 .
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD
0x00000002
Драйвер выноски задает этот флаг, чтобы указать, что функция выноски classifyFn1 драйвера выноски не влияет на разгрузку сетевой обработки данных на сетевые карты (NIC) с поддержкой разгрузки. Если этот флаг не указан, разгрузка обработки сетевых данных отключается для всего трафика, обрабатываемого любыми фильтрами, указывающими выноску для действия фильтра.
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY
0x00000004
Драйвер выноски задает этот флаг, чтобы указать, что он может получать уведомления об объектах и фильтрах, добавленных в транзакцию. Модуль фильтров отправляет уведомление после фиксации транзакции.
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION
0x00000008
Драйвер выноски задает этот флаг, чтобы указать, что он может выполнять динамическую проверку потоков данных на уровне потока. См. раздел Проверка Stream.
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY
0x00000010
Драйвер выноски указывает этот флаг для регистрации для вызова при переклассифицировании существующей операции сокета.

classifyFn

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

notifyFn

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

flowDeleteFn

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

Если драйвер выноски не связывает контекст с потоками данных, которые обрабатывает выноска, этот член должен иметь значение NULL.

Комментарии

Драйвер выноски передает указатель на инициализированную структуру FWPS_CALLOUT1 функции FwpsCalloutRegister1 при регистрации выноски в подсистеме фильтрации.

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

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

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 7.
Верхняя часть fwpsk.h (включая Fwpsk.h)

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

FWPS_CALLOUT0

FWPS_CALLOUT2

FwpsCalloutRegister1

classifyFn1

flowDeleteFn

notifyFn1