IOCTL_HID_GET_MANUFACTURER_STRING IOCTL (hidclass.h)
La solicitud de IOCTL_HID_GET_MANUFACTURER_STRING obtiene una cadena incrustada de la colección de nivel superior que identifica al fabricante 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 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 incrustada 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 el identificador del fabricante (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) |