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


Функция FwpsInjectvSwitchEthernetIngressAsync0 (fwpsk.h)

Функция FwpsInjectvSwitchEthernetIngressAsync0 (была FwpsInjectvSwitchIngressAsync0) повторно выполняет переключение ранее поглощаемого пакета виртуальных коммутаторов (не изменено) обратно в путь данных входящего трафика виртуального коммутатора, в котором он был перехвачен. Эта функция также может внедрить пакет, созданный с помощью функции FwpsAllocateNetBufferAndNetBufferList0.

ПримечаниеFwpsInjectvSwitchEthernetIngressAsync 0 — это определенная версия FwpsInjectvSwitchEthernetIngressAsync. Дополнительные сведения см. в статье МПП Version-Independent имен и целевых версий Windows.
 

Синтаксис

NTSTATUS FwpsInjectvSwitchEthernetIngressAsync0(
  [in]           HANDLE                injectionHandle,
  [in, optional] HANDLE                injectionContext,
  [in]           UINT32                flags,
  [in, optional] void                  *reserved,
  [in]           const FWP_BYTE_BLOB   *vSwitchId,
  [in]           NDIS_SWITCH_PORT_ID   vSwitchSourcePortId,
  [in]           NDIS_SWITCH_NIC_INDEX vSwitchSourceNicIndex,
                 NET_BUFFER_LIST       *netBufferLists,
  [in]           FWPS_INJECT_COMPLETE  completionFn,
  [in, optional] HANDLE                completionContext
);

Параметры

[in] injectionHandle

Дескриптор внедрения, созданный ранее вызовом функции FwpsInjectionHandleCreate 0 с флагами параметром FWPS_INJECTION_TYPE_L2.

Параметр addressFamily не используется и должен иметь значение AF_UNSPEC.

[in, optional] injectionContext

Необязательный дескриптор контекста внедрения, который можно получить с помощью функции FwpsQueryPacketInjectionState0.

[in] flags

Скрытный. Должно быть задано равно нулю.

[in, optional] reserved

Скрытный. Необходимо задать значение NULL.

[in] vSwitchId

Идентификатор виртуального коммутатора, передаваемый модулем фильтрации в структуре FWPS_INCOMING_VALUES0драйвера выноски, классифицирует функцию выноски. Это GUID виртуального коммутатора, предоставленного в поле xxx_VSWITCH_ID.

[in] vSwitchSourcePortId

Идентификатор исходного порта виртуального коммутатора.

[in] vSwitchSourceNicIndex

Индекс исходного сетевого адаптера виртуального коммутатора.

netBufferLists

Цепочка NET_BUFFER_LIST структур, которые необходимо внедрить в путь к данным виртуального коммутатора.

[in] completionFn

Указатель на функцию выноски завершенияFn, предоставляемую драйвером выноски. Модуль фильтров вызывает эту функцию после передачи данных пакета в параметре netBufferLists, был внедрен в путь к данным исходящего трафика виртуального коммутатора. Функция завершенияFn будет вызываться один раз для каждого NET_BUFFER_LIST в цепочке. завершения необходимо указать при внедрении клонированных или созданных структур NET_BUFFER_LIST. Этот параметр может иметь значение NULL при внедрении исходных неуправляемых NET_BUFFER_LIST структур, полученных от обработчика фильтров.

[in, optional] completionContext

Указатель на драйвер выноски, предоставленный контекстом, передаваемым в функцию выноски, на которую указывает параметр завершенияFn. Этот параметр является необязательным и может быть null.

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

Функция FwpsInjectvSwitchEthernetIngressAsync 0 возвращает один из следующих кодов NTSTATUS.

Возвращаемый код Описание
STATUS_SUCCESS
Виртуальная цепочка NET_BUFFER_LIST успешно внедрена.
Другие коды состояния
Произошла ошибка.

Замечания

Когда выноска внедряет пакеты с FwpsInjectvSwitchEthernetIngressAsync0, внедренные пакеты можно классифицировать снова, если пакеты соответствуют тому же фильтру, что и они были первоначально классифицированы. Таким образом, как выноски на уровне IP, выноски виртуального коммутатора должны вызывать функцию FwpsQueryPacketInjectionState0 для защиты от бесконечных проверок пакетов.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 8.
целевая платформа Всеобщий
заголовка fwpsk.h (include Fwpsk.h)
библиотеки Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

См. также

FWPS_INCOMING_VALUES0

FwpsAllocateNetBufferAndNetBufferList0

FwpsInjectionHandleCreate0

FwpsQueryPacketInjectionState0

NET_BUFFER_LIST

завершенияFn