IOCTL_NFCSE_GET_NEXT_EVENT IOCTL (nfcsedev.h)
Il codice di controllo IOCTL_NFCSE_GET_NEXT_EVENT restituisce l'evento successivo disponibile nel buffer oppure se non sono presenti altri eventi memorizzati nel buffer rimane in sospeso finché non è disponibile un evento di elemento sicuro. I dettagli dell'evento devono quindi essere restituiti al chiamante.
Codice principale
Buffer di input
Nessuno
Lunghezza del buffer di input
Nessuno
Buffer di output
DWORD che indica le dimensioni della struttura SECURE_ELEMENT_EVENT_INFO più il relativo payload, immediatamente seguito dalla struttura SECURE_ELEMENT_EVENT_INFO stessa.
Blocco dello stato
Irp->IoStatus.Status è impostato su STATUS_SUCCESS se la richiesta ha esito positivo. I codici di errore possibili sono:
Codice restituito | Descrizione |
---|---|
STATUS_INVALID_DEVICE_STATE | Questo codice viene restituito quando questo IOCTL viene chiamato su un handle del dispositivo con un nome file diverso da SEEvents o quando è già presente un'altra richiesta in sospeso non ancora completata. |
STATUS_INVALID_PARAMETER | Questo codice viene restituito quando il buffer di output non è zero o quando il GUID dell'elemento sicuro non corrisponde a nessuno degli ID enumerati. |
Commenti
Di seguito sono riportati i requisiti che il driver deve rispettare.
- Questo IOCTL deve essere chiamato su un handle con un nome di file relativo SEEvents ; in caso contrario, il driver restituisce STATUS_INVALID_DEVICE_STATE
- Questo driver deve supportare CancelIO per questo IOCTL in sospeso.
- Questo driver deve mantenere una coda ricevuta degli eventi di elemento sicuri ricevuti che corrispondono al tipo di sottoscrizione.
-
Le condizioni seguenti devono essere soddisfatte quando questo IOCTL viene ricevuto nel driver:
- Se la coda ricevuta è vuota, il driver deve pennare L'IOCTL per il completamento successivo.
- Se la coda ricevuta non è vuota, il driver deve de-accodare un evento, copiare il buffer del messaggio nel buffer di output di IOCTL e completare immediatamente IOCTL con STATUS_SUCCESS .
- Se il driver completa questo IOCTL con STATUS_SUCCESS, il primo DWORD [4 byte] del buffer di output deve contenere le dimensioni della struttura SECURE_ELEMENT_EVENT_INFO più il relativo payload.
- Se le informazioni sugli eventi degli elementi sicuri ricevuti sono troppo grandi da copiare nel buffer di IOCTL, il driver deve copiare le dimensioni del buffer necessarie nei primi 4 byte del buffer di output, impostare il campo informazioni IOCTL su sizeof(DWORD) e completare IOCTL con STATUS_BUFFER_OVERFLOW. L'evento deve quindi essere lasciato nella coda ricevuta.
Requisiti
Requisito | Valore |
---|---|
Intestazione | nfcsedev.h |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per