include vmm.inc mov esi, List ; list handle mov eax, NewNode ; address of node to insert mov ecx, Node ; address of node to insert after (0 to attach to head) VMMcall List_Insert
Inserts a node immediately after the specified node in a list. A virtual device can insert a node into any list that has a matching node size and was created with the same flags. (It is an error, for example, to attach a node allocated from a list created as LF_Use_Heap to a list created without that flag, even if the node sizes agree.) This can be used, for example, to move a node from one list to another. Uses Flags.
List
Handle of the list. The handle must have been previously created using the List_Create service.
NewNode
Address of the node to insert. The node must have been previously created using the List_Allocate service.
Node
Address of a node in the list. The address must have been previously retrieved using the List_Get_First or List_Get_Next service. If this parameter is zero, the service attaches the new node to the head of the list.
This service inserts the new node between the specified node and the node immediately following the specified node. A virtual device can retrieve the address of the new node by calling the List_Get_Next service, and specifying the Node parameter.
See also List_Attach, List_Attach_Tail