1.4.2 Long-Term Internal Driver Buffers
-
MmAllocateContiguousMemory
-
Allocates a range of physically contiguous, cache-aligned memory in nonpaged
pool.
-
MmFreeContiguousMemory
-
Releases a range of physically contiguous memory when the driver unloads.
-
MmAllocateNonCachedMemory
-
Allocates a virtual address range of noncached and cache-aligned memory in
nonpaged system space (pool).
-
MmFreeNonCachedMemory
-
Releases a virtual address range of noncached memory in nonpaged system space
when the driver unloads.
-
HalAllocateCommonBuffer
-
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. This routine returns TRUE if
the requested length was allocated. It can be used for continuous busmaster
DMA or for system DMA using the autoinitialize mode of a system DMA
controller.
-
HalFreeCommonBuffer
-
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 HalAllocateCommonBuffer.