Long-Term Internal Driver Buffers

The long-term buffer management routines are called by kernel-mode drivers to allocate long-term driver-internal buffers.


Allocates a range of physically contiguous, cache-aligned memory in nonpaged pool.


Releases a range of physically contiguous memory when the driver unloads.


Allocates a virtual address range of noncached and cache-aligned memory in nonpaged system space (pool).


Releases a virtual address range of noncached memory in nonpaged system space when the driver unloads.


Reserves a range of virtual address space that can later be mapped with MmMapLockedPagesWithReservedMapping.


Frees a reserved memory address reserved by MmAllocateMappingAddress.


Allocates and maps a logically contiguous region of memory that is simultaneously accessible both from the processor and from a device, given access to an adapter object, the requested length of the memory region to allocate, and access to variables where the starting logical and virtual addresses of the allocated region are returned. Returns TRUE if the requested length was allocated. Can be used for continuous bus-master DMA or for system DMA using the autoinitialize mode of a system DMA controller.


Releases an allocated common buffer and unmaps it, given access to the adapter object, the length, and the starting logical and virtual addresses of the region to be freed when the driver unloads. Arguments must match those passed in the call to AllocateCommonBuffer.



Send comments about this topic to Microsoft