include vcomm.inc cCall dwContentionHandler<ACQUIRE_RESOURCE, dwResourceHandle, dwNotify, dwRefData, fSteal> or eax, eax jz error_handler mov dwAcquireHandle, eax
Requests access to a VCOMM resource, stealing from a current owner if necessary.
dwResourceHandle
Handle returned by VCOMM_Map_Name_To_Resource for the resource.
dwNotify
Address of a callback function that receives steal and return notifications.
dwRefData
Address of data that is private to the caller and passed to the notification function.
fSteal
One of the following flags:
ACQUIRE_STEAL | Attempt to steal from current owner, if any. |
ACQUIRE_NO_STEAL | Acquire only if there is no current owner. |
ACQUIRE_RESOURCE fails if there are already two clients sharing the resource, one active and one waiting.
A client's callback function is called as follows:
cCall [<e>dwNotify</e>],<[<e>dwRefData</e>],<e>dwNotification</e>
A client's callback function may receive any of the following notifications, specified in dwNotification:
0 = RESOURCE_STEAL_REQUEST | Notifies the client that another client is attempting to acquire or steal the resource specified in dwRefData. The client should save the resource state, if necessary, and return TRUE to allow the resource to be stolen. Otherwise, it should return FALSE to prevent it from being stolen. A client can optionally release the resource before returning TRUE. |
1 = RESOURCE_STEAL_NOTIFY | Notifies the client that a previously stolen resource has been returned to it. The client must restore the state of the device, if necessary. |
See also _VCOMM_Get_Contention_Handler, VCOMM_Map_Name_To_Resource