NdisCreateBlockPool function
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
NdisCreateBlockPool returns the handle to a block of memory pool.
Syntax
NDIS_HANDLE NdisCreateBlockPool(
_In_ USHORT BlockSize,
_In_ USHORT FreeBlockLinkOffset,
_In_ ULONG Tag,
_In_opt_ NDIS_BLOCK_INITIALIZER InitFunction
);
Parameters
BlockSize [in]
Specifies the size, in bytes, of the block to create.FreeBlockLinkOffset [in]
Specifies the offset, in bytes, to the block.Tag [in]
Specifies a value to identify the block.InitFunction [in, optional]
Specifies the entry point of a caller-supplied function that is called to initialize all or a portion of the block. Specifying this function is optional. The following describes the syntax of this function:VOID (__stdcall *NDIS_BLOCK_INITIALIZER) ( IN PUCHAR Block, IN SIZE_T NumberOfBytes );
Return value
Returns a handle to the block that NdisCreateBlockPool creates.
Remarks
After NdisCreateBlockPool creates a block of memory pool, the NdisAllocateFromBlockPool function can be called to allocate from the block. The NdisFreeToBlockPool function is subsequently called to release memory back to the block.
The NdisDestroyBlockPool function is called to release resources for the block.
Requirements
Target platform |
Desktop |
Version |
Not supported for NDIS 6.0 drivers in Windows Vista. Supported for NDIS 5.1 drivers in Windows Vista and Windows XP. |
Header |
Ndis.h (include Ndis.h) |
Library |
Ndis.lib |
IRQL |
<= DISPATCH_LEVEL. |
See also