Функция 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
Размер неиспользуемого пространства данных (пространства обратного заполнения), необходимого драйверу выноски (в байтах). Функция FwpsAllocateNetBufferAndNetBufferList0 добавляет это значение к значению, указанному в параметре 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 (включая Fwpsk.h) |
Библиотека | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |