IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL (hidclass.h)
A solicitação IOCTL_HID_GET_SERIALNUMBER_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o número de série do dispositivo. 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, consulte Coleções HID.
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 número de série (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 erros. Caso contrário, ele será definido como um código de erro NTSTATUS apropriado.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | hidclass.h (inclua Hidclass.h) |