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.
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 fino a quando 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
Un DWORD che indica le dimensioni della struttura SECURE_ELEMENT_EVENT_INFO più il relativo payload, seguito immediatamente dalla struttura SECURE_ELEMENT_EVENT_INFO stessa.
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_INVALID_DEVICE_STATE | Questo codice viene restituito quando questo IOCTL viene chiamato su un handle di dispositivo con un nome di file diverso da SEEvents o quando è già presente un'altra richiesta in sospeso che non è ancora stata completata. |
| STATUS_INVALID_PARAMETER | Questo codice viene restituito quando il buffer di output è diverso da zero o quando il GUID dell'elemento sicuro non corrisponde ad alcun ID enumerato. |
Osservazioni
Di seguito sono riportati i requisiti che il driver deve rispettare.
- Questo IOCTL deve essere chiamato su un handle con un SEEvents nome file relativo; 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 sicuro ricevuti che corrispondono al tipo di sottoscrizione.
-
Quando questo IOCTL viene ricevuto nel driver, è necessario soddisfare le condizioni seguenti:
- Se la coda ricevuta è vuota, il driver deve eseguire la penna dell'IOCTL per il completamento successivo.
- Se la coda ricevuta non è vuota, il driver deve annullare la coda di un evento, copiare il buffer dei messaggi nel buffer di output di IOCTL e completare immediatamente l'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 sull'evento dell'elemento sicuro ricevuto sono troppo grandi da copiare nel buffer di questo IOCTL, il driver deve copiare le dimensioni del buffer necessarie nei primi 4 byte del buffer di output, impostare il campo informazioni di IOCTL su sizeof(DWORD) e completare IOCTL con STATUS_BUFFER_OVERFLOW. L'evento deve quindi essere lasciato nella coda ricevuta.
Fabbisogno
| Requisito | Valore |
|---|---|
| intestazione | nfcsedev.h |