Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Es folgt eine Beispielsequenz von IOCTLs im SmartCard-Ressourcen-Manager:
Startsequenz
Verwenden Sie die DevObj- oder CfgMgr-API mit der Schnittstellen-GUID des SmartCard-Zugriffsgeräts, um den Namen des NFC-Gerätetreibers zu ermitteln und mit CreateFile ein Gerätehandle zu öffnen.
Initialisieren Sie den Threadpool.
Bestimmen Sie den Lesernamen.
- IOCTL_SMARTCARD_GET_ATTRIBUTE für SCARD_ATTR_VENDOR_NAME, SCARD_ATTR_VENDOR_IFD_TYPE und SCARD_ATTR_DEVICE_UNIT
Bestimmen sie die Lesermerkmale.
- IOCTL_SMARTCARD_GET_ATTRIBUTE bei SCARD_ATTR_CHARACTERISTICS
Starten Sie den Kartenzustandsmonitor.
IOCTL_SMARTCARD_IS_PRESENT – Warten auf das Eintreffen einer Smartcard.
IOCTL_SMARTCARD_IS_ABSENT – Warten auf den Abgang der Smartcard.
Der Neustart ist irrelevant, da wir die Zustände SCARD_SWALLOWED und SCARD_POWERED nicht unterstützen.
Sequenz verbinden
Anfang der Schleife.
IOCTL_SMARTCARD_GET_STATE
Bei SCARD_UNKNOWN und SCARD_ABSENT nichts tun
Bei SCARD_PRESENT Karte behalten
Bei SCARD_SWALLOWED Kaltstart
Bei SCARD_POWERED Warmstart
Bei SCARD_NEGOTIABLE den Karten-ATR bestimmen
Bei SCARD_SPECIFIC den Karten-ATR und das Protokoll bestimmen
IOCTL_SMARTCARD_SET_PROTOCOL
Trennungssequenz
Power-Down-Timeout beginnt.
Anfang der Schleife.
IOCTL_SMARTCARD_GET_STATE
Bei SCARD_SPECIFIC, SCARD_NEGOTIABLE, SCARD_POWERED Ausschalten festlegen
Bei SCARD_SWALLOWED, SCARD_PRESENT nichts tun
Bei SCARD_ABSENT, SCARD_UNKNOWN nichts tun