структура FWPS_CLASSIFY_OUT0 (fwpstypes.h)
Структура FWPS_CLASSIFY_OUT0 определяет данные, возвращаемые вызывающей функции выноски classifyFn выноски.
Синтаксис
typedef struct FWPS_CLASSIFY_OUT0_ {
FWP_ACTION_TYPE actionType;
UINT64 outContext;
UINT64 filterId;
UINT32 rights;
UINT32 flags;
UINT32 reserved;
} FWPS_CLASSIFY_OUT0;
Члены
actionType
Значение FWP_ACTION_TYPE , указывающее предлагаемое действие, которое необходимо выполнить, как определено функцией выноски classifyFn драйвера выноски. Драйвер выноски задает для этой переменной одно из следующих значений:
FWP_ACTION_BLOCK
Блокировать передачу или получение данных.
FWP_ACTION_CONTINUE
Передайте решение о блокировке или разрешении передачи или получения данных следующему фильтру в подсистеме фильтров.
FWP_ACTION_NONE
Не выполняйте никаких действий с данными.
FWP_ACTION_NONE_NO_MATCH
Не выполняйте никаких действий с данными, так как они не соответствуют перечисленным типам данных фильтра.
FWP_ACTION_PERMIT
Разрешить передачу или получение данных.
Доступ на запись к этому элементу контролируется флагом FWPS_RIGHT_ACTION_WRITE в элементе прав . Если установлен флаг FWPS_RIGHT_ACTION_WRITE , драйвер выноски может записать любое из указанных выше значений в этот элемент. Если флаг FWPS_RIGHT_ACTION_WRITE не установлен, драйвер выноски не должен записывать данные в этот элемент, если он не наложен вето на действие FWP_ACTION_PERMIT , которое ранее было возвращено фильтром с более высоким весом в подсистеме фильтрации. В такой ситуации драйвер выноски задает этому члену значение FWP_ACTION_BLOCK.
outContext
Зарезервировано для системного использования. Драйверы выносок не должны использовать этот элемент.
filterId
Зарезервировано для системного использования. Драйверы выносок не должны использовать этот элемент.
rights
Флаги, управляющие доступом на запись к другим членам в этой структуре. Возможные флаги:
FWPS_RIGHT_ACTION_WRITE
Если этот флаг установлен, драйвер выноски может записывать данные в элемент actionType этой структуры. Если этот флаг не установлен, драйвер выноски может записывать данные только в элемент actionType этой структуры, если он наложен вето на действие FWP_ACTION_PERMIT , которое ранее было возвращено фильтром с более высоким весом в подсистеме фильтров.
flags
Флаги, влияющие на действие, выполняемое с данными. Возможные флаги:
FWPS_CLASSIFY_OUT_FLAG_ABSORB
Заблокированные данные удаляются автоматически без ведения журнала событий или аудита. Обычно это используется для изменения пакета, когда исходный пакет должен быть поглощен, а измененный пакет должен быть обработан далее.
Этот флаг применяется на следующих уровнях, если для элемента actionType задано значение FWP_ACTION_BLOCK:
- FWPS_LAYER_INBOUND_MAC_FRAME_NATIVE
- FWPS_LAYER_OUTBOUND_MAC_FRAME_NATIVE
- FWPS_LAYER_INBOUND_MAC_FRAME_ETHERNET
- FWPS_LAYER_OUTBOUND_MAC_FRAME_ETHERNET
- FWPS_LAYER_INGRESS_VSWITCH_ETHERNET
- FWPS_LAYER_EGRESS_VSWITCH_ETHERNET
- FWPS_LAYER_INBOUND_IPPACKET_V4
- FWPS_LAYER_INBOUND_IPPACKET_V6
- FWPS_LAYER_OUTBOUND_IPPACKET_V4
- FWPS_LAYER_OUTBOUND_IPPACKET_V6
- FWPS_LAYER_INBOUND_TRANSPORT_V4
- FWPS_LAYER_INBOUND_TRANSPORT_V6
- FWPS_LAYER_OUTBOUND_TRANSPORT_V4
- FWPS_LAYER_OUTBOUND_TRANSPORT_V6
- FWPS_LAYER_INBOUND_ICMP_ERROR_V4
- FWPS_LAYER_INBOUND_ICMP_ERROR_V6
- FWPS_LAYER_OUTBOUND_ICMP_ERROR_V4
- FWPS_LAYER_OUTBOUND_ICMP_ERROR_V6
- FWPS_LAYER_DATAGRAM_DATA_V4
- FWPS_LAYER_DATAGRAM_DATA_V6
- FWPS_LAYER_STREAM_PACKET_V4
- FWPS_LAYER_STREAM_PACKET_V6
- FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V4
- FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V6
- FWPS_LAYER_ALE_AUTH_CONNECT_V4
- FWPS_LAYER_ALE_AUTH_CONNECT_V6
Этот флаг также можно установить на уровнях FWPS_LAYER_ALE_FLOW_ESTABLISHED_V4 и FWPS_LAYER_ALE_FLOW_ESTABLISHED_V6. Но делать это не рекомендуется, так как эти уровни предназначены для связи контекста с потоками.
Если этот флаг не установлен, действие блокировки будет подлежать обычному ведению журнала событий и аудиту.
FWPS_CLASSIFY_OUT_FLAG_BUFFER_LIMIT_REACHED
Модуль фильтрации устанавливает этот флаг, когда буфер данных подсистемы фильтров для потоковой передачи данных заполнен. Это может произойти, если функция выноски classifyFn многократно запрашивает дополнительные данные, задав члену streamActionструктуры FWPS_STREAM_CALLOUT_IO_PACKET0значение FWPS_STREAM_ACTION_NEED_MORE_DATA до достижения предела буфера. Если этот флаг установлен, функция выноски classifyFn драйвера выноски должна разрешать или блокировать все потоковые данные.
Этот флаг применим только на уровнях потока.
FWPS_CLASSIFY_OUT_FLAG_NO_MORE_DATA
Stream данные запрашивались после отключения потока.
reserved
Зарезервировано для системного использования. Драйверы выносок не должны использовать этот элемент.
Комментарии
Модуль фильтров передает указатель на FWPS_CLASSIFY_OUT0 структуру функции выноски classifyFn выноски. Драйвер выноски использует эту структуру для возврата данных вызывающей объекту.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Vista. |
Верхняя часть | fwpstypes.h (включая Fwpsk.h, Fwpmtypes.h, Fwpmk.h) |
См. также раздел
FWPS_STREAM_CALLOUT_IO_PACKET0