NdisAllocateNetBufferListContext (Compact 7)
3/12/2014
Call this function to allocate more context space in the NET_BUFFER_LIST_CONTEXT structure of a NET_BUFFER_LIST structure.
Syntax
NDIS_STATUS
NdisAllocateNetBufferListContext(
IN PNET_BUFFER_LIST NetBufferList,
IN USHORT ContextSize,
IN USHORT ContextBackFill,
IN ULONG PoolTag
);
Parameters
- NetBufferList
A pointer to a previously allocated NET_BUFFER_LIST structure.
- ContextSize
The amount of context space to allocate in the NET_BUFFER_LIST_CONTEXT structure. This amount must be a multiple of the value that is defined by MEMORY_ALLOCATION_ALIGNMENT.
- ContextBackFill
The amount of memory, in addition to the value of ContextSize, to allocate if NDIS must allocate memory to satisfy the request. This amount must be a multiple of the value that is defined by MEMORY_ALLOCATION_ALIGNMENT.
- PoolTag
A kernel pool tag that NDIS uses to allocate the memory for the NET_BUFFER_LIST_CONTEXT structure, if allocation is required. The tag is a string, delimited by single quotation marks, with up to four characters, usually specified in reversed order. The kernel pool tag helps NDIS to identify the owner of the memory.
Return Value
NdisAllocateNetBufferListContext returns one of the following:
Value | Description |
---|---|
NDIS_STATUS_SUCCESS |
NdisAllocateNetBufferListContext successfully allocated context space either by reducing the value of the Offset member of the NET_BUFFER_LIST_CONTEXT structure or by allocating new memory. |
NDIS_STATUS_RESOURCES |
NdisAllocateNetBufferListContext failed because of insufficient resources. |
NDIS_STATUS_FAILURE |
NdisAllocateNetBufferListContext failed for reasons other than insufficient resources. |
Remarks
If there is enough unused context space that is available in the NET_BUFFER_LIST_CONTEXT structure to satisfy the request, NdisAllocateNetBufferListContext just reduces the value of the Offset member in the NET_BUFFER_LIST_CONTEXT structure. Otherwise, NDIS allocates new memory for context space. You can specify ContextBackFill to allocate extra memory so that the next call to NdisAllocateNetBufferListContext does not have to allocate memory.
Call the NdisFreeNetBufferListContext function to release the context space in the NET_BUFFER_LIST_CONTEXT structure that was allocated with NdisAllocateNetBufferListContext.
Requirements
Header |
ndis.h |
See Also
Reference
NDIS NET_BUFFER Functions
NdisFreeNetBufferListContext
NET_BUFFER_LIST
NET_BUFFER_LIST_CONTEXT