2.2.3.10 Status_Return

The Status_Return structure defines return information about the status of the smart card reader (for more information, see sections 3.1.4.33 and 3.1.4.34).

 typedef struct _Status_Return {
   long ReturnCode;
   [range(0,65536)] unsigned long cBytes;
   [unique] [size_is(cBytes)] byte *mszReaderNames;
   unsigned long dwState;
   unsigned long dwProtocol;
   byte pbAtr[32];
   [range(0,32)] unsigned long cbAtrLen;
 } Status_Return;

ReturnCode: HRESULT or Win32 Error code. Zero indicates success; any other value indicates failure.

cBytes: The number of bytes in the mszReaderNames field.

mszReaderNames: A multistring containing the names that the reader is known by. The value of this is dependent on the context (IOCTL) that it is used.

Value

Meaning

SCARD_IOCTL_STATUSA

0x000900C8

ASCII multistring

SCARD_IOCTL_STATUSW

0x000900CC

Unicode multistring

dwState: The current state of the smart card in the reader. Possible values are specified in section 2.2.4.

dwProtocol: The current protocol, if any. Possible values are specified in section 2.2.5.

pbAtr: A pointer to a buffer that receives the ATR string from the currently inserted card, if available.

cbAtrLen: The number of bytes in the ATR string.