Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Di seguito è riportata una sequenza di esempio di IOCTLs in Gestione risorse smart card:
Sequenza di avvio
Usare l'API DevObj o CfgMgr con il GUID dell'interfaccia del dispositivo di accesso smart card per individuare il nome del driver di dispositivo NFC e quindi utilizzarlo con CreateFile per aprire un handle del dispositivo.
Inizializzare il pool di thread.
Determinare il nome del lettore.
- IOCTL_SMARTCARD_GET_ATTRIBUTE su SCARD_ATTR_VENDOR_NAME, SCARD_ATTR_VENDOR_IFD_TYPE e SCARD_ATTR_DEVICE_UNIT
Determinare le caratteristiche del lettore.
- IOCTL_SMARTCARD_GET_ATTRIBUTE su SCARD_ATTR_CHARACTERISTICS
Avviare il monitoraggio dello stato della scheda.
IOCTL_SMARTCARD_IS_PRESENT: per attendere l'arrivo di una smart card.
IOCTL_SMARTCARD_IS_ABSENT : per attendere la partenza della smart card.
Il reset dell'alimentazione è irrilevante perché lo stato SCARD_SWALLOWED, stato SCARD_POWERED non è supportato.
Sequenza di connessione
Inizio del ciclo.
IOCTL_SMARTCARD_GET_STATE
Nel caso di SCARD_UNKNOWN e SCARD_ABSENT, non eseguire alcuna operazione
Case SCARD_PRESENT, inghiottire la carta
Caso SCARD_SWALLOWED, reimpostazione a freddo
Caso SCARD_POWERED, reset a caldo
Caso SCARD_NEGOTIABLE, determinare la carta ATR
Case SCARD_SPECIFIC, determinare l'ATR della scheda e il protocollo
ImpostaProtocolloSmartcard_IOCTL
Sequenza di disconnessione
Viene avviato il timeout di risparmio energia.
Inizio del ciclo.
IOCTL_SMARTCARD_GET_STATE
Case SCARD_SPECIFIC, SCARD_NEGOTIABLE, SCARD_POWERED, imposta lo spegnimento dell'alimentazione
Nel caso di SCARD_SWALLOWED, SCARD_PRESENT, non eseguire alcuna operazione
Caso SCARD_ABSENT, SCARD_UNKNOWN, non eseguire alcuna operazione