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


структура 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
Драйвер выноски может указать этот флаг при регистрации выноски, которая будет добавлена на уровне, поддерживающем потоки данных. Если этот флаг указан, подсистема фильтров вызывает функцию выноски классифицироватьFn1 только в том случае, если с потоком данных связан контекст. Драйвер выноски связывает контекст с потоком данных путем вызова функции FwpsFlowAssociateContext0.
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD
0x00000002
Драйвер выноски указывает этот флаг, чтобы указать, что драйвера выноски классифицируетFn1 функцию выноски не влияет на разгрузку сетевой обработки данных для отключенных сетевых интерфейсных карт (сетевых адаптеров). Если этот флаг не указан, разгрузка обработки сетевых данных отключена для всего трафика, обрабатываемого любыми фильтрами, которые указывают выноску для действия фильтра.
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY
0x00000004
Драйвер выноски указывает этот флаг, указывающий, что он может получать уведомления об объектах и фильтрах, добавленных в транзакцию. Модуль фильтров отправляет уведомление после фиксации транзакции.
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION
0x00000008
Драйвер выноски указывает этот флаг, чтобы указать, что он может выполнять динамическую проверку потоков данных на уровне потока. См. проверки потока.
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY
0x00000010
Драйвер выноски указывает этот флаг для регистрации самого себя при переклассифицировании существующей операции сокета.

classifyFn

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

notifyFn

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

flowDeleteFn

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

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

Замечания

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 7.
заголовка fwpsk.h (include Fwpsk.h)

См. также

FWPS_CALLOUT0

FWPS_CALLOUT2

FwpsCalloutRegister1

классифицироватьFn1

flowDeleteFn

уведомлениеFn1