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


Функция NdisAllocateNetBufferList (ndis/nblapi.h)

Вызовите функцию NdisAllocateNetBufferList для выделения и инициализации структуры NET_BUFFER_LIST из пула структур NET_BUFFER_LIST.

Синтаксис

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateNetBufferList(
  [in] NDIS_HANDLE PoolHandle,
  [in] USHORT      ContextSize,
  [in] USHORT      ContextBackFill
);

Параметры

[in] PoolHandle

Дескриптор пула структуры NET_BUFFER_LIST, который ранее был возвращен из вызова NdisAllocateNetBufferListPool.

[in] ContextSize

Объем используемого пространства данных в структуре NET_BUFFER_LIST_CONTEXT резервировать для вызывающего объекта. ContextSize должен иметь несколько значений, определенных MEMORY_ALLOCATION_ALIGNMENT.

[in] ContextBackFill

Объем неиспользуемого пространства данных (резервное заполнение), которое требует вызывающий объект. NDIS добавляет это значение в ContextSize и выделяет дополнительное пространство. ContextBackFill должен иметь несколько значений, определенных MEMORY_ALLOCATION_ALIGNMENT.

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

NdisAllocateNetBufferList возвращает указатель на выделенную NET_BUFFER_LIST структуру. Если выделение было неудачным, этот указатель значение NULL.

Замечания

Можно вызвать NdisAllocateNetBufferList или функцию NdisAllocateNetBufferAndNetBufferList для выделения NET_BUFFER_LIST структуры из пула.

примечаниеNET_BUFFER и структуры NET_BUFFER_LIST должны быть выделены из буферного пула NDIS. Драйвер не должен выделять и инициализировать структуру NET_BUFFER_LIST или NET_BUFFER из своего частного пула памяти или стека.
 
При вызове NdisAllocateNetBufferList и пул структуры NET_BUFFER_LIST был выделен путем вызова функция NdisAllocateNetBufferListPool с элементом fAllocateNetBufferNET_BUFFER_LIST_POOL_PARAMETERStrue, NDIS выделяет NET_BUFFER_LIST, NET_BUFFER, MDL и данные.

Вызовите функцию NdisFreeNetBufferList, чтобы освободить NET_BUFFER_LIST структуру.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.0 и более поздних версиях.
целевая платформа Всеобщий
заголовка ndis/nblapi.h (include ndis.h)
библиотеки Ndis.lib
IRQL <= DISPATCH_LEVEL
правил соответствия DDI Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferList2(ndis), NdisAllocateNetBufferList2_InitFail(ndis)

См. также

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

NdisFreeNetBufferList