Condividi tramite


IOCTL_SMARTCARD_IS_PRESENT IOCTL (winsmcrd.h)

Il codice di controllo IOCTL_SMARTCARD_IS_PRESENT rileva se una smart card è attualmente rilevata. Se è presente una scheda, viene restituita immediatamente con STATUS_SUCCESS. Se non viene rilevata alcuna smart card, sottoscrive l'evento di arrivo della smart card e rimane in sospeso. La chiusura dell'handle di file annulla la sottoscrizione dell'evento.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Nessuno.

Buffer di output

Nessuno.

Blocco di stato

Irp->IoStatus.Status è impostato su STATUS_SUCCESS se la richiesta ha esito positivo. I codici di errore possibili sono:

Codice restituito Descrizione
STATUS_PENDING Questo codice viene restituito se l'operazione è in attesa che la smart card si avvicini al campo di opzione.
STATUS_DEVICE_BUSY Questo codice viene restituito se l'operazione è già in attesa dell'evento presente.
STATUS_INVALID_DEVICE_STATE Questo codice viene restituito se il dispositivo non può accettare la richiesta.
STATUS_INVALID_PARAMETER Questo codice viene restituito quando i buffer di input o di output non sono validi.
STATUS_DEVICE_POWERED_OFF Questo codice viene restituito quando il controllo radio di prossimità è disattivato.

Osservazioni

Quando si usa questo IOCTL, sono necessarie le azioni seguenti:

  • Il driver deve supportare CancelIo su questo IOCTL pended.

  • Si tratta di una richiesta gestita dall'alimentazione. L'IOCTL pended manterrà il driver in uno stato di alimentazione D0.
  • Il driver deve restituire STATUS_SUCCESS solo per il tipo supportato.

Fabbisogno

Requisito Valore
intestazione winsmcrd.h

Vedere anche

guida alla progettazione NFC (Near Field Communication)

guida alla progettazione di smart card