IOCTL_HID_GET_PRODUCT_STRING IOCTL (hidclass.h)
A solicitação IOCTL_HID_GET_PRODUCT_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o produto do fabricante. A cadeia de caracteres recuperada é uma cadeia de caracteres largos terminada em NULL em um formato legível por humanos.
Para obter informações gerais sobre dispositivos HIDClass [Coleções HID(/windows-hardware/drivers/hid/hid-collections).
Código principal
Buffer de entrada
Parameters.DeviceIoControl.OutputBufferLength no local da pilha de E/S do IRP indica o tamanho, em bytes, do buffer de saída. Se o buffer de saída não for grande o suficiente para manter toda a cadeia de caracteres inserida terminada em NULL, a solicitação não retornará nada no buffer de saída.
Comprimento do buffer de entrada
O número máximo possível de caracteres em uma cadeia de caracteres inserida é específico do dispositivo. Para dispositivos USB, o comprimento máximo da cadeia de caracteres é de 126 caracteres largos (sem incluir o caractere NULL de terminação).
Buffer de saída
Irp->MdlAddress aponta para um buffer para receber a cadeia de caracteres de ID do produto (uma cadeia de caracteres largos terminada em NULL).
Comprimento do buffer de saída
O comprimento de uma cadeia de caracteres largos terminada em NULL. O buffer fornecido deve ser <= 4093 bytes (2^12 – 3).
Bloco de status
O driver de classe HID define os seguintes campos de Irp-IoStatus>:
As informações são definidas como o número de bytes transferidos do dispositivo.
O status será definido como STATUS_SUCCESS se a transferência for concluída sem erro. Caso contrário, ele será definido como um código de erro NTSTATUS apropriado.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | hidclass.h (inclua Hidclass.h) |