Condividi tramite


IOCTL_SMARTCARD_SET_PROTOCOL IOCTL (winsmcrd.h)

La richiesta di IOCTL_SMARTCARD_SET_PROTOCOL imposta il protocollo che il driver userà per comunicare con la smart card dopo che la scheda è stata rilevata (inserita).

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

  • Irp->AssociatedIrp.SystemBuffer contiene una maschera di protocolli accettabili per le trasmissioni seguenti. La maschera può essere un OR bit per bit dei valori seguenti:

    • SCARD_PROTOCOL_RAW
    • SCARD_PROTOCOL_T0
    • SCARD_PROTOCOL_T1
    • SCARD_PROTOCOL_DEFAULT
    • SCARD_PROTOCOL_OPTIMAL

    Gli ultimi due valori sono definizioni di bit aggiuntive che indicano che il driver deve eseguire in modo esplicito la selezione del tipo di protocollo (PTS) con i parametri di comunicazione migliori possibili (SCARD_PROTOCOL_OPTIMAL) o usare il protocollo implicito della scheda con parametri standard (SCARD_PROTOCOL_DEFAULT). Se la scheda supporta un solo protocollo con un set di parametri di comunicazione, i bit vengono ignorati.

  • Parameters.DeviceIoControl.InputBufferLength Deve essere impostato su sizeof(ULONG). Il driver decide quale protocollo uscire dalla maschera da usare con la scheda inserita.

Buffer di output

  • Irp->AssociatedIrp.SystemBuffer Il driver archivia il protocollo selezionato, ad esempio SCARD_PROTOCOL_T1. È possibile impostare un solo bit fuori dalla maschera.

Lunghezza del buffer di output

  • Parameters.DeviceIoControl.OutputBufferLength Deve essere sizeof(ULONG).

Blocco dello stato

Irp->IoStatus.Information deve essere impostato su sizeof(ULONG).

Irp->IoStatus.Status è impostato su uno dei valori seguenti.

Valore Significato
STATUS_SUCCESS È stato selezionato un protocollo.
STATUS_NO_MEDIA Non viene rilevata alcuna smart card nel lettore.
STATUS_IO_TIMEOUT Timeout dell'operazione.
STATUS_NOT_SUPPORTED La smart card non supporta alcun protocollo richiesto.
STATUS_INVALID_DEVICE_REQUEST La maschera non contiene alcun protocollo noto.

Per altre informazioni, vedere Valori NTSTATUS.

Requisiti

Requisito Valore
Intestazione winsmcrd.h

Vedi anche

Guida alla progettazione NFC (Near Field Communication)

Guida alla progettazione di smart card