IOCTL_SMARTCARD_SET_PROTOCOL IOCTL (winsmcrd.h)

Die IOCTL_SMARTCARD_SET_PROTOCOL-Anforderung legt das Protokoll fest, das der Treiber für die Kommunikation mit dem intelligenten Karte verwendet, nachdem die Karte erkannt (eingefügt) wurde.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

  • Irp->AssociatedIrp.SystemBuffer Enthält eine Maske von Protokollen, die für die folgenden Übertragungen akzeptabel sind. Die Maske kann ein bitweises OR der folgenden Werte sein:

    • SCARD_PROTOCOL_RAW
    • SCARD_PROTOCOL_T0
    • SCARD_PROTOCOL_T1
    • SCARD_PROTOCOL_DEFAULT
    • SCARD_PROTOCOL_OPTIMAL

    Die letzten beiden Werte sind zusätzliche Bitdefinitionen, die angeben, dass der Treiber entweder explizit die Protokolltypauswahl (PTS) mit den bestmöglichen Kommunikationsparametern (SCARD_PROTOCOL_OPTIMAL) oder das implizite Protokoll des Karte mit Standardparametern (SCARD_PROTOCOL_DEFAULT) verwenden muss. Wenn die Karte nur ein Protokoll mit einem Satz von Kommunikationsparametern unterstützt, werden die Bits ignoriert.

  • Parameters.DeviceIoControl.InputBufferLength muss auf sizeof(ULONG) festgelegt werden. Der Treiber entscheidet, welches Protokoll aus der Maske mit dem eingefügten Karte verwendet werden soll.

Ausgabepuffer

  • Irp->AssociatedIrp.SystemBuffer Der Treiber speichert das ausgewählte Protokoll hier (z. B. SCARD_PROTOCOL_T1). Es kann nur ein Bit aus der Maske festgelegt werden.

Länge des Ausgabepuffers

  • Parameters.DeviceIoControl.OutputBufferLength muss sizeof(ULONG) sein.

Statusblock

Irp->IoStatus.Information muss auf sizeof(ULONG) festgelegt werden.

Irp->IoStatus.Status ist auf einen der folgenden Werte festgelegt.

Wert Bedeutung
STATUS_SUCCESS Ein Protokoll wurde erfolgreich ausgewählt.
STATUS_NO_MEDIA Im Reader wird keine intelligente Karte erkannt.
STATUS_IO_TIMEOUT Timeout für den Vorgang.
STATUS_NOT_SUPPORTED Die intelligente Karte unterstützt keines der angeforderten Protokolle.
STATUS_INVALID_DEVICE_REQUEST Die Maske enthält kein bekanntes Protokoll.

Weitere Informationen finden Sie unter NTSTATUS-Werte.

Anforderungen

Anforderung Wert
Header winsmcrd.h

Weitere Informationen

Entwurfsleitfaden für Near Field Communication (NFC)

Entwurfsleitfaden für intelligente Karte