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.
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. |
_VCOMM_Get_Contention_Handler, VCOMM_Map_Name_To_Resource