Функция FwpsAllocateNetBufferAndNetBufferList0 (fwpsk.h)
Функция FwpsAllocateNetBufferAndNetBufferList0 выделяет новую структуру NET_BUFFER_LIST.
Синтаксис
NTSTATUS FwpsAllocateNetBufferAndNetBufferList0(
[in] NDIS_HANDLE poolHandle,
[in] USHORT contextSize,
[in] USHORT contextBackFill,
[in, optional] MDL *mdlChain,
[in] ULONG dataOffset,
[in] SIZE_T dataLength,
[out] NET_BUFFER_LIST **netBufferList
);
Параметры
[in] poolHandle
Дескриптор пула NET_BUFFER_LIST, полученный из предыдущего вызова функции NdisAllocateNetBufferListPool.
[in] contextSize
Размер в байтах используемого пространства данных в структуре NET_BUFFER_LIST_CONTEXT для резервирования драйвера выноски. Значение этого параметра должно быть несколько значений, определенных MEMORY_ALLOCATION_ALIGNMENT.
[in] contextBackFill
Размер в байтах неиспользуемого пространства данных (резервного пространства), необходимого драйверу выноски. Функция FwpsAllocateNetBufferAndNetBufferList 0 добавляет это значение в значение, указанное в параметре ContextSize и выделяет дополнительное пространство. Значение этого параметра должно быть несколько значений, определенных MEMORY_ALLOCATION_ALIGNMENT.
[in, optional] mdlChain
Указатель на цепочку MDL, которая используется для инициализации предварительной NET_BUFFER структуры. Этот параметр является необязательным и может быть null.
[in] dataOffset
Начальное смещение в байтах с начала буфера до начала используемого пространства данных в цепочке MDL. Пространство данных перед этим смещением не используется. Таким образом, это значение также представляет начальное количество доступного резервного пространства в цепочке MDL.
[in] dataLength
Длина в байтах используемого пространства данных в цепочке MDL.
[out] netBufferList
Указатель на переменную, которая получает указатель на новую NET_BUFFER_LIST структуру.
Возвращаемое значение
Функция FwpsAllocateNetBufferAndNetBufferList0 возвращает один из следующих кодов NTSTATUS.
Возвращаемый код | Описание |
---|---|
|
Новая структура NET_BUFFER_LIST успешно выделена. |
|
Произошла ошибка. |
Замечания
Драйвер выноски вызывает функцию FwpsAllocateNetBufferAndNetBufferList0, чтобы выделить новую структуру NET_BUFFER_LIST.
Эта функция является оболочкой вокруг функция NdisAllocateNetBufferAndNetBufferList, но она специализирована для использования функциями внедрения пакетов ВПП .
После успешного внедрения данных, описанных новой структурой NET_BUFFER_LIST в сетевом стеке, драйвер выноски освобождает новую структуру NET_BUFFER_LIST путем вызова функцию FwpsFreeNetBufferList0.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows Vista. |
целевая платформа | Всеобщий |
заголовка | fwpsk.h (include Fwpsk.h) |
библиотеки | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |