IOCTL_USBPRINT_GET_1284_ID IOCTL (usbprint.h)

El código de control IOCTL_USBPRINT_GET_1284_ID permite que el software de nivel superior (como un monitor de idioma) solicite y obtenga la cadena de identificador de dispositivo IEEE 1284 de la impresora.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

No se usa en esta operación; establezca este parámetro en NULL.

Longitud del búfer de entrada

No se usa en esta operación; establezca este parámetro en 0.

Búfer de salida

El búfer de salida contendrá datos UCHAR. Si se ejecuta correctamente, este búfer puede contener lo siguiente: un prefijo de dos bytes que especifica el tamaño, en bytes, del id. de dispositivo IEEE 1284 del dispositivo; el identificador del dispositivo; y un terminador nulo. Un identificador de dispositivo IEEE 1284 puede tener un tamaño de hasta 64 KB. Si se produce un error, si GetLastError devuelve el código de error STATUS_BUFFER_TOO_SMALL, el búfer de salida no era lo suficientemente grande como para contener los datos previstos para él.

Longitud del búfer de salida

El búfer de salida debe ser lo suficientemente grande como para contener una cantidad de dos bytes que contenga la longitud del identificador de dispositivo IEEE 1284 del dispositivo, el identificador de dispositivo (hasta 64 KB de tamaño) y un valor NULO de terminación.

La longitud del búfer de salida IOCTL_USBPRINT_GET_1284_ID se coloca directamente en el paquete USB. En algunos dispositivos de impresión USB, el uso del máximo de 65535 bytes puede hacer que la llamada produzca un error 23. Reduzca el búfer a 4094 bytes o menos para resolver este problema.

Bloque de estado

Irp->IoStatus.Status se establece en STATUS_SUCCESS si la solicitud se realiza correctamente. De lo contrario, estado de la condición de error adecuada como código NTSTATUS .

Requisitos

Requisito Valor
Header usbprint.h

Consulte también

Creación de solicitudes IOCTL en controladores

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously