The set protocol callback function selects a transmission protocol for the currently inserted card.
NTSTATUS
(*ReaderFunction[RDF_SET_PROTOCOL])(
PSMARTCARD_EXTENSION SmartcardExtension
);
| Value | Meaning |
|---|---|
| SCARD_PROTOCOL_RAW | Selects raw protocol. |
| SCARD_PROTOCOL_T0 | Selects the ISO T = 0 protocol. |
| SCARD_PROTOCOL_T1 | Selects the ISO T = 1 protocol. |
This function returns an NTSTATUS value. Possible values are the following.
| Value | Meaning |
|---|---|
| STATUS_SUCCESS | A protocol was successfully selected. |
| STATUS_NO_MEDIA | No card is in the reader. |
| STATUS_IO_TIMEOUT | The request has timed out. |
| STATUS_BUFFER_TOO_SMALL | The user buffer is not large enough to hold a ULONG value. |
| STATUS_INVALID_DEVICE_STATE | The reader is not in the correct state to select a protocol. This is the case when a card is inserted, but not reset. |
| STATUS_INVALID_DEVICE_REQUEST | The mask contains an unknown protocol. |
Declared in smclib.h. Include smclib.h.
It is mandatory for card reader drivers to implement this callback function.
The caller can supply a mask of protocols that it accepts. The driver’s set protocol callback routine selects one of the protocols in the mask and returns the selected protocol in SmartcardExtension->IoRequest.ReplyBuffer.