Share via


RDF_SET_PROTOCOL (Windows CE 5.0)

Send Feedback

The RDF_SET_PROTOCOL callback function selects a transmission protocol for the currently inserted card. This callback function is mandatory.

NTSTATUS (*ReaderFunction[RDF_SET_PROTOCOL])(PSMARTCARD_EXTENSION SmartcardExtension);

Parameters

  • SmartcardExtension
    [in] Points to the smart card extension of the device. SmartcardExtension->MajorIoControlCode must be set to IOCTL_SMARTCARD_SET_PROTOCOL. SmartcardExtension->MinorIoControlCode contains a mask of protocols combined with the bitwise OR operator that the caller accepts for further transmissions.

    Value Description
    SCARD_PROTOCOL_RAW Selects raw protocol.
    SCARD_PROTOCOL_T0 Selects the ISO T=0 protocol.
    SCARD_PROTOCOL_T1 Selects the ISO T=1 protocol.
    SCARD_PROTOCOL_DEFAULT Do not do PTS selection even if the card only supports one protocol.
    SCARD_PROTOCOL_OPTIMAL Do PTS selection.

    SmartcardExtension->IoRequest.ReplyBufferLength contains the length of the reply buffer. On output SmartcardExtension->IoRequest.ReplyBuffer receives the selected protocol, and SmartcardExtension->IoRequest.Information must be set to sizeof(ULONG).

Return Values

This function returns an NTSTATUS value. Possible values are the following.

Value Description
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.
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.

Remarks

The caller can supply a mask of protocols that it accepts. It is the driver's decision to select one protocol out of the mask. After the driver has selected a protocol, it must return the selected protocol in SmartcardExtension->IoRequest.ReplyBuffer.

Requirements

OS Versions: Windows CE 3.0 and later.
Header: Smclib.h.

See Also

IOCTL_SMARTCARD_SET_PROTOCOL

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.