IOCTL_SMARTCARD_POWER control code
The IOCTL_SMARTCARD_POWER request consists of three minor IOCTL codes: SCARD_COLD_RESET, SCARD_WARM_RESET and SCARD_POWER_DOWN.
SCARD_COLD_RESET
Turn off the smart card, and then turn it on again.SCARD_WARM_RESET
Perform a warm reset (a reset of the card that does not require a power cycle) of the smart card.SCARD_POWER_DOWN
Turn off power to the smart card.
Input Parameters
Irp->AssociatedIrp.SystemBuffer
Contains the minor IOCTL code.Parameters.DeviceIoControl.InputBufferLength
Contains the size of the output buffer. Must be at least 33 bytes to hold the answer-to-request (ATR) data.
Output Parameters
- Irp->AssociatedIrp.SystemBuffer
Used by SCARD_COLD_RESET and SCARD_WARM_RESET to store the ATR data that comes from the smart card.
I/O Status Block
TheInformation member is set to the length of the ATR that is returned by the smart card.
The Status member is set to one of the values in the following table.
| Value | Meaning |
|---|---|
STATUS_SUCCESS |
Successful operation. |
STATUS_UNRECOGNIZED_MEDIA |
Unknown or unsupported smart card inserted. |
STATUS_NO_MEDIA |
No smart card is inserted in the reader. |
STATUS_IO_TIMEOUT |
The operation timed out. |
Requirements
Header |
Winsmcrd.h (include Winsmcrd.h) |