Share via


WDM Smart Card Driver Routines

Legacy smart card driver library routines that you can use to develop a WDM smart card reader driver.

In this section

Topic Description

SmartcardAcquireRemoveLock (WDM)

The SmartcardAcquireRemoveLock routine increments a counter of references to the driver.

SmartcardAcquireRemoveLockWithTag (WDM)

The SmartcardAcquireRemoveLockWithTag routine increments a counter of references to the driver, and saves the pointer to the current IRP as the tag. This tag is inspected when the lock is released to make sure that the same IRP was used to both obtain and release the lock.

SmartcardCreateLink (WDM)

The SmartcardCreateLink routine creates a device name that the smart card resource manager uses to access the device.

SmartcardDeleteLink (WDM)

The SmartcardDeleteLink (WDM) routine deletes the link that was created by SmartcardCreateLink (WDM).

SmartcardDeviceControl (WDM)

The SmartcardDeviceControl routine is the main entry routine for the smart card driver library. It performs parameter checking and completes calls that do not require I/O to or from the smart card reader.

SmartcardExit (WDM)

The SmartcardExit routine frees the buffers that were allocated during a call to SmartcardInitialize (WDM).

SmartcardGetDebugLevel (WDM)

The SmartcardGetDebugLevel routine gets the debug level.

SmartcardInitialize (WDM)

The SmartcardInitialize routine allocates internal buffers for the library.

SmartcardInvertData (WDM)

The SmartcardInvertData routine converts the data in the passed buffer from inverse to direct, or vice versa.

SmartcardLogError (WDM)

The SmartcardLogError routine writes an error message to the event log.

SmartcardRawReply (WDM)

The SmartcardRawReply routine transfers the data that was received from the smart card to the user buffer.

SmartcardRawRequest (WDM)

The SmartcardRawRequest routine copies data from the user buffer to the send buffer, which the driver uses to transmit data to the smart card reader.

SmartcardReleaseRemoveLock (WDM)

SmartcardReleaseRemoveLock decrements the driver's reference counter, which SmartcardAcquireRemoveLock (WDM) incremented.

SmartcardReleaseRemoveLockAndWait (WDM)

SmartcardReleaseRemoveLockAndWait makes sure that no unload code is executed while other driver code is executing.

SmartcardReleaseRemoveLockWithTag (WDM)

SmartcardReleaseRemoveLockWithTag decrements the driver's reference counter, which SmartcardAcquireRemoveLockWithTag (WDM) incremented. The current IRP is used as the tag. The tag is checked upon releasing the lock to make sure that the same IRP was used to both obtain and release the lock.

SmartcardSetDebugLevel

The SmartcardSetDebugLevel routine sets the debug level.

SmartcardT0Reply (WDM)

The SmartcardT0Reply routine transfers the data that was received from the smart card to the user buffer.

SmartcardT0Request (WDM)

The SmartcardT0Request routine copies the request data from the caller's buffer to the buffer that is managed by the smart card library routines, from which the data is transmitted to the card reader.

SmartcardT1Reply (WDM)

The SmartcardT1Reply routine copies the reply data from the buffer that is managed by the smart card library routines to the caller's buffer, and it checks the T=1 protocol status.

SmartcardT1Request (WDM)

The SmartcardT1Request routine copies the request data from the caller's buffer to the buffer that the smart card library routines manage, from which the data is transmitted to the smart card reader. SmartcardT1Request then checks the T=1 protocol status.

SmartcardUpdateCardCapabilities (WDM)

The SmartcardUpdateCardCapabilities routine translates an answer-to-reset (ATR) string into the SCARD_CARD_CAPABILITIES structure that the driver can use.

 

 

 

Send comments about this topic to Microsoft