CardRequestExclusive

The CardRequestExclusive function requests exclusive access to a specified socket and function pair.

Syntax

STATUS CardRequestExclusive( CARD_CLIENT_HANDLE hCardClient CARD_SOCKET_HANDLE hSocket );

Parameters

hCardClient
Specifies the client handle obtained from CardRegisterClient.
hSocket
Specifies a handle to a socket and function pair.

Return Values

If the function succeeds, the return value is CERR_SUCCESS; otherwise, it is one of the following:

Value Description
CERR_BAD_HANDLE Indicates the driver handle specified for hCardClient is invalid.
CERR_BAD_SOCKET Indicates the socket identifier specified for hSocket is invalid or the PC Card not inserted.
CERR_IN_USE Indicates exclusive access is owned by another driver.

Remarks

CardRequestExclusive causes Card Services to issue a series of callback events services as it negotiates for approval with each registered driver. First, all registered drivers are queried with a CE_EXCLUSIVE_REQUEST event code to determine if they will allow exclusive use. If they all approve, each driver is sent a CE_CARD_REMOVAL event code. Finally a CE_CARD_INSERTION event code is sent to the requesting driver followed by a CE_EXCLUSIVE_COMPLETE event code. If any of the drivers do not approve, the requesting driver is sent a CE_EXCLUSIVE_COMPLETE event code with a failing status in Parm1 member of the CARD_EVENT_PARMS structure.

See Also

CardReleaseExclusive