In order to allocate, free and reallocate memory, virtual device drivers use the virtual device helper (VDH) memory management services. These services help the virtual device driver maintain a linear heap for each VDM. This heap is maintained as a linked list; each entry in this linked list refers to a linear region with attributes such as:
Memory allocation is always done in chunks of 4KB (page granular), but byte granular services are provided for handling instance data reservations and for memory allocation in the DOS environment.