Virtual Devices (3.1) (vdag31qh.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
List_Allocate
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vmm.inc
 
mov     esi, List       ; list handle
VMMcall List_Allocate
 
jc      not_allocated   ; carry set if error
mov     [Node], eax     ; address of new node
 
The List_Allocate service allocates a new node for the specified list. A
virtual device can attach the new node to the list using the List_Attach or
List_Insert service. The contents of the new node are undefined.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
List       Specifies the handle for the list.
 
Return Value
 
The EAX register contains the address of the new node if this service is
successful. For lists created using the LF_Alloc_Error value, the carry flag
is clear if the service is successful. For other lists, this service never
returns if the new node cannot be allocated.
 
Comments
 
This service normally allocates nodes from a pool of free nodes. This
prevents the overhead of calling the _HeapAlloc service for every node
allocation. If the list is created using the LF_Use_Heap value, this service
calls the _HeapAlloc service for each node.
 
Uses
 
EAX, Flags
 
See Also
 
List_Attach, List_Create, List_Deallocate, List_Insert