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

IRP_MJ_DEVICE_CONTROL

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)

Consulte también

HidD_GetIndexedString

HidD_GetManufacturerString

HidD_GetPhysicalDescriptor

HidD_GetProductString

HidD_GetSerialNumberString

IOCTL_HID_GET_INDEXED_STRING

IOCTL_HID_GET_MANUFACTURER_STRING

IOCTL_HID_GET_PRODUCT_STRING