IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL (hidclass.h)
La solicitud IOCTL_HID_GET_SERIALNUMBER_STRING obtiene una cadena incrustada de la colección de nivel superior que identifica el número de serie del dispositivo. La cadena recuperada es una cadena de caracteres anchos terminada en NULL en un formato legible.
Para obtener información general sobre los dispositivos HIDClass, consulte Colecciones HID.
Código principal
Búfer de entrada
Parameters.DeviceIoControl.OutputBufferLength en la ubicación de la pila de E/S del IRP indica el tamaño, en bytes, del búfer de salida. Si el búfer de salida no es lo suficientemente grande como para contener toda la cadena insertada terminada en NULL, la solicitud no devuelve nada en el búfer de salida.
Longitud del búfer de entrada
El número máximo posible de caracteres en una cadena incrustada es específico del dispositivo. En el caso de los dispositivos USB, la longitud máxima de la cadena es de 126 caracteres anchos (sin incluir el carácter NULL de terminación).
Búfer de salida
Irp->MdlAddress apunta a un búfer para recibir la cadena de número de serie (una cadena de caracteres anchos terminada en NULL).
Longitud del búfer de salida
Longitud de una cadena de caracteres anchos terminada en NULL. El búfer proporcionado debe ser <= 4093 bytes (2^12 – 3).
Bloque de estado
El controlador de clase HID establece los siguientes campos de Irp-IoStatus>:
La información se establece en el número de bytes transferidos desde el dispositivo.
El estado se establece en STATUS_SUCCESS si la transferencia se completó sin error. De lo contrario, se establece en un código de error NTSTATUS adecuado.
Requisitos
Requisito | Valor |
---|---|
Header | hidclass.h (include Hidclass.h) |