This function registers a callback function that is called by Card Services when a specified socket event occurs. The callback function notifies the driver of the event, such as card insertion, so that the driver can take the appropriate action.
CARD_CLIENT_HANDLE CardRegisterClient(
CLIENT_CALLBACK CallBackFn PCARD_REGISTER_PARMS pParms );
A driver handle indicates success. NULL indicates failure, and GetLastError returns one of the following values:
This function turns on power to any unpowered sockets containing PC Cards so that the cards can be used by the newly registered PC Card driver. A driver can request artificial insertion notifications to check if a card that it controls has already been inserted.
Card Services sends a CE_CARD_INSERTION callback event code for every function on PC Cards that are currently inserted. If the driver does not require artificial insertion notices, it can clear the CLIENT_ATTR_NOTIFY_SHARED and CLIENT_ATTR_NOTIFY_EXCLUSIVE bits in the fAttributes member of CARD_REGISTER_PARMS.
Because the CE_CARD_INSERTION callbacks can occur before this function returns, the Parm2 member of the CARD_EVENT_PARMS structure contains the registering client’s CARD_CLIENT_HANDLE. For the same reason, Parm1 also contains the registering client’s handle on the CE_REGISTRATION_COMPLETE callback.
When the driver is unloaded, it must call CardDeregisterClient to free any PC Card resources allocated to the driver.
PCMCIA
CARD_CLIENT_HANDLE, CARD_EVENT, CARD_REGISTER_PARMS, CARD_EVENT_PARMS, CardDeregisterClient