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


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

Функция FwpsCloneStreamData0 выделяет клон существующего потока данных FWPS_STREAM_DATA0.

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

Синтаксис

NTSTATUS FwpsCloneStreamData0(
  [in, out]      FWPS_STREAM_DATA0 *calloutStreamData,
  [in, optional] NDIS_HANDLE       netBufferListPoolHandle,
  [in, optional] NDIS_HANDLE       netBufferPoolHandle,
  [in]           ULONG             allocateCloneFlags,
  [out]          NET_BUFFER_LIST   **netBufferListChain
);

Параметры

[in, out] calloutStreamData

Указатель на исходную структуру FWPS_STREAM_DATA0, которая заключается в том, чтобы клонировать ее NET_BUFFER_LIST структуру.

[in, optional] netBufferListPoolHandle

Дескриптор пула NET_BUFFER_LIST, полученный из предыдущего вызова функции NdisAllocateNetBufferListPool. Этот параметр является необязательным и может быть null.

[in, optional] netBufferPoolHandle

Дескриптор пула NET_BUFFER, полученный из предыдущего вызова функция NdisAllocateNetBufferPool. Этот параметр является необязательным и может быть null.

[in] allocateCloneFlags

В настоящее время для этой функции нет флагов. Драйверы выноски должны задать этот параметр равным нулю.

[out] netBufferListChain

Указатель на расположение, которое получает указатель на цепочку NET_BUFFER_LIST структур, описывающих все клонированные данные потока.

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

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

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

Замечания

Клонированные данные потока можно внедрить драйвером выноски в стек сети TCP/IP позже.

Функция FwpsCloneStreamData0 клонирует всю цепочку структур NET_BUFFER_LIST, содержащихся в существующем потоке данных FWPS_STREAM_DATA0. Функция обрезает неиспользуемые данные таким образом, что драйвер выноски может успешно передать клонированную цепочку в клонированную цепочку функцию FwpsStreamInjectAsync0.

После успешного внедрения потоковых данных в цепочку структуры клона NET_BUFFER_LIST в сетевой стек завершениеFn вызывается для каждой NET_BUFFER_LIST структуры клона, а выноска должна вызываться FwpsFreeCloneNetBufferList0, чтобы освободить структуру NET_BUFFER_LIST клона.

Выноска должна вызывать функцию FwpsDiscardClonedStreamData0, если клонированные данные потока должны быть удалены без повторного ввода.

Требования

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

См. также

FWPS_STREAM_DATA0

FwpsDiscardClonedStreamData0

FwpsFreeCloneNetBufferList0

FwpsStreamInjectAsync0

NET_BUFFER

NET_BUFFER_LIST