winsmcrd.h header

This header is used by nfpdrivers. For more information, see:

winsmcrd.h contains the following programming interfaces:

IOCTLs

 
IOCTL_SMARTCARD_EJECT

The IOCTL_SMARTCARD_EJECT request ejects the currently inserted smart card from the smart card reader.
IOCTL_SMARTCARD_GET_ATTRIBUTE

The IOCTL_SMARTCARD_GET_ATTRIBUTE control code queries for smart card attribues.
IOCTL_SMARTCARD_GET_LAST_ERROR

The IOCTL_SMARTCARD_GET_LAST_ERROR request retrieves the error code of the most previous operation because there is no option to return an error code immediately after an overlapped operation is complete.
IOCTL_SMARTCARD_GET_STATE

The IOCTL_SMARTCARD_GET_STATE control code gets the current status of the smart card.
IOCTL_SMARTCARD_IS_ABSENT

The IOCTL_SMARTCARD_IS_ABSENT control code returns immediately with STATUS_SUCCESS if no smart card is currently detected.
IOCTL_SMARTCARD_IS_PRESENT

The IOCTL_SMARTCARD_IS_PRESENT control code detects whether a smart card is currently detected.
IOCTL_SMARTCARD_POWER

Windows may require a driver to have this IOCTL to be NOP and return success.
IOCTL_SMARTCARD_SET_ATTRIBUTE

The IOCTL_SMARTCARD_SET_ATTRIBUTE control code sets an attribute and returns STATUS_SUCCESS on SCARD_ATTR_DEVICE_IN_USE; otherwise, it returns STATUS_NOT_SUPPORTED.
IOCTL_SMARTCARD_SET_PROTOCOL

Sets the procotol the driver communicates to the smart card with after the card is detected.
IOCTL_SMARTCARD_SWALLOW

The IOCTL_SMARTCARD_SWALLOW request causes the smart card reader to swallow the card.
IOCTL_SMARTCARD_TRANSMIT

Transmits data from the client to the detected smart card in ISO7816-4 compliant APDU.

Structures

 
SCARD_IO_REQUEST

This structure is used to identify a smart card I/O request.