GDI Memory Services

GDI provides several memory-related services to driver writers, including the ability to allocate and deallocate system memory, user memory, private user memory, and video memory, as well as the ability to lock and unlock a range of memory. The following table lists the GDI memory services.

Function Description

EngAllocMem

Allocates a block of memory, and inserts a caller-supplied tag before the allocation.

EngAllocPrivateUserMem

Allocates a block of private user memory from the address space of a specified process, and inserts a caller-supplied tag before the allocation.

EngAllocUserMem

Allocates a block of memory from the address space of the current process, and inserts a caller-supplied tag before the allocation.

EngFreeMem

Deallocates a block of system memory allocated by EngAllocMem.

EngFreePrivateUserMem

Deallocates a block of private user memory allocated by EngAllocPrivateUserMem.

EngFreeUserMem

Deallocates a block of user memory allocated by EngAllocUserMem.

EngSecureMem

Locks down the specified address range in memory.

EngUnsecureMem

Unlocks a memory address range that is locked down.

HeapVidMemAllocAligned

Allocates off-screen memory for a display driver by using the DirectDraw video memory heap manager.

VidMemFree

Frees off-screen memory allocated for a display driver by HeapVidMemAllocAligned.