Функция FwpsQueryPacketInjectionState0 (fwpsk.h)
Функция FwpsQueryPacketInjectionState0 вызывается выноской для запроса состояния внедрения данных пакета.
Синтаксис
FWPS_PACKET_INJECTION_STATE FwpsQueryPacketInjectionState0(
[in] HANDLE injectionHandle,
[in] const NET_BUFFER_LIST *netBufferList,
[out, optional] HANDLE *injectionContext
);
Параметры
[in] injectionHandle
Дескриптор внедрения, созданный ранее при вызовеФункция FwpsInjectionHandleCreate0.
[in] netBufferList
Указатель на структуру NET_BUFFER_LIST , описывающую классифицированные данные пакетов. Пакет может поступать из сетевого стека или быть внедрен в сетевой стек с помощью драйвера выноски ВПП.
[out, optional] injectionContext
Необязательный дескриптор контекста внедрения. Если указан указатель и состояние внедрения пакета FWPS_PACKET_INJECTION_STATE , связанное с дескриптором внедрения, FWPS_PACKET_INJECTED_BY_SELF или FWPS_PACKET_PREVIOUSLY_INJECTED_BY_SELF, возвращается контекст внедрения, предоставленный при внедрении пакета.
Возвращаемое значение
Функция FwpsQueryPacketInjectionState0 возвращает одно из значений константы перечисления FWPS_PACKET_INJECTION_STATE .
Комментарии
Так как внедренные данные пакета можно переклассифицировать по внедренной выноске, эта функция позволяет выноске проверять журнал внедрения данных пакетов при необходимости, тем самым избегая повторной проверки уже проверяемых данных пакетов.
Выноска может отслеживать другие сведения, относящиеся к выноске, задав необязательный дескриптор injectionContext в одной из функций внедрения пакетов во время внедрения данных пакета. Если функция FwpsQueryPacketInjectionState0 возвращает FWPS_PACKET_INJECTED_BY_SELF или FWPS_PACKET_PREVIOUSLY_INJECTED_BY_SELF, предоставленный параметр injectionContext будет возвращен в качестве параметра completionContext функции, которая выполнила внедрение.
Если возвращаемое значение равно FWPS_PACKET_INJECTED_BY_SELF или FWPS_PACKET_PREVIOUSLY_INJECTED_BY_SELF, список сетевого буфера, на который указывает netBufferList , не следует дополнительно изменять или добавлять в процессе клонирования и внедрения. В этом случае выноска должна задать элемент actionTypeструктуры FWPS_CLASSIFY_OUT0 , на которую указывает параметр classifyOut функции classifyFn , как FWP_ACTION_CONTINUE или FWP_ACTION_PERMIT. Это позволяет пакету перейти к следующей выноске.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Vista. |
Целевая платформа | Универсальное |
Верхняя часть | fwpsk.h (включая Fwpsk.h) |
Библиотека | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |