IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL (hidclass.h)
La richiesta di IOCTL_HID_GET_SERIALNUMBER_STRING ottiene la stringa incorporata di una raccolta di primo livello che identifica il numero di serie del dispositivo. La stringa recuperata è una stringa di caratteri wide con terminazione NULL in un formato leggibile.
Per informazioni generali sui dispositivi HIDClass, vedere Raccolte HID.
Codice principale
Buffer di input
Parameters.DeviceIoControl.OutputBufferLength nella posizione dello stack I/O di IRP indica le dimensioni, in byte, del buffer di output. Se il buffer di output non è sufficientemente grande da contenere l'intera stringa incorporata con terminazione NULL, la richiesta non restituisce nulla nel buffer di output.
Lunghezza del buffer di input
Il numero massimo possibile di caratteri in una stringa incorporata è specifico del dispositivo. Per i dispositivi USB, la lunghezza massima della stringa è di 126 caratteri wide (non incluso il carattere NULL di terminazione).
Buffer di output
Irp->MdlAddress punta a un buffer per ricevere la stringa del numero di serie (stringa di caratteri wide con terminazione NULL).
Lunghezza del buffer di output
Lunghezza di una stringa di caratteri wide con terminazione NULL. Il buffer fornito deve essere <= 4093 byte (2^12 - 3).
Blocco dello stato
Il driver di classe HID imposta i campi seguenti di Irp-IoStatus>:
Le informazioni vengono impostate sul numero di byte trasferiti dal dispositivo.
Lo stato è impostato su STATUS_SUCCESS se il trasferimento è stato completato senza errori. In caso contrario, viene impostato su un codice di errore NTSTATUS appropriato.
Requisiti
Requisito | Valore |
---|---|
Intestazione | hidclass.h (include Hidclass.h) |