IOCTL_USBPRINT_GET_1284_ID IOCTL (usbprint.h)

Il codice di controllo IOCTL_USBPRINT_GET_1284_ID consente al software a livello superiore (ad esempio un monitoraggio del linguaggio), di richiedere e ottenere la stringa DI ID dispositivo IEEE 1284 della stampante.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Non usato in questa operazione; impostare questo parametro su NULL.

Lunghezza del buffer di input

Non usato in questa operazione; impostare questo parametro su 0.

Buffer di output

Il buffer di output conterrà dati UCHAR. In caso di esito positivo, questo buffer può contenere quanto segue: un prefisso a due byte che specifica le dimensioni, in byte, dell'ID dispositivo IEEE 1284 del dispositivo; ID dispositivo; e un terminatore Null. Un ID dispositivo IEEE 1284 può essere fino a 64 KB di dimensioni. In caso di errore, se GetLastError restituisce il codice di errore STATUS_BUFFER_TOO_SMALL, il buffer di output non era abbastanza grande per contenere i dati destinati.

Lunghezza del buffer di output

Il buffer di output deve essere abbastanza grande per contenere una quantità di due byte che contiene la lunghezza dell'ID dispositivo IEEE 1284 del dispositivo, l'ID del dispositivo (fino a 64 KB di dimensioni) e un valore Null terminante.

La lunghezza del buffer di output IOCTL_USBPRINT_GET_1284_ID viene inserita direttamente nel pacchetto USB. In alcuni dispositivi di stampa USB l'uso massimo di 65535 byte può causare l'errore 23 della chiamata. Ridurre il buffer a 4094 byte o meno per risolvere questo problema.

Blocco dello stato

Irp->IoStatus.Status è impostato su STATUS_SUCCESS se la richiesta ha esito positivo. In caso contrario, stato della condizione di errore appropriata come codice NTSTATUS .

Requisiti

Requisito Valore
Intestazione usbprint.h

Vedi anche

Creazione di richieste IOCTL nei driver

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously