IOCTL_USBPRINT_GET_1284_ID IOCTL (usbprint.h)
O código de controle IOCTL_USBPRINT_GET_1284_ID permite que o software de camada superior (como um monitor de idioma) solicite e obtenha a cadeia de caracteres de ID do dispositivo IEEE 1284 da impressora.
Código principal
Buffer de entrada
Não usado nesta operação; defina esse parâmetro como NULL.
Comprimento do buffer de entrada
Não usado nesta operação; defina esse parâmetro como 0.
Buffer de saída
O buffer de saída conterá dados UCHAR. Com êxito, esse buffer pode conter o seguinte: um prefixo de dois bytes que especifica o tamanho, em bytes, da ID do dispositivo IEEE 1284 do dispositivo; a ID do dispositivo; e um terminador nulo. Uma ID de dispositivo IEEE 1284 pode ter até 64 KB de tamanho. Em caso de falha, se GetLastError retornar o código de erro STATUS_BUFFER_TOO_SMALL, o buffer de saída não era grande o suficiente para manter os dados destinados a ele.
Comprimento do buffer de saída
O buffer de saída deve ser grande o suficiente para conter uma quantidade de dois bytes que contém o comprimento da ID do dispositivo IEEE 1284 do dispositivo, a ID do dispositivo (até 64 KB de tamanho) e um nulo de terminação.
O tamanho do buffer de saída IOCTL_USBPRINT_GET_1284_ID é colocado diretamente no pacote USB. Em alguns dispositivos de impressão USB, usar o máximo de 65535 bytes pode fazer com que a chamada falhe com o erro 23. Reduza o buffer para 4.094 bytes ou menos para resolve esse problema.
Bloco de status
Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, Status para a condição de erro apropriada como um código NTSTATUS .
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | usbprint.h |
Confira também
Criando solicitações IOCTL em drivers
WdfIoTargetSendInternalIoctlOthersSynchronously