IOCTL_READ_REGISTERS IOCTL (usbscan.h)
Lee los registros del dispositivo USB mediante la canalización de control.
Código principal
Búfer de entrada
Puntero a una estructura de IO_BLOCK .
Longitud del búfer de entrada
Tamaño del búfer de entrada.
Búfer de salida
Puntero a un búfer para recibir el contenido del registro.
Longitud del búfer de salida
Tamaño del búfer de salida. El valor debe coincidir con el contenido del miembro uLength de la estructura IO_BLOCK.
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 .
Comentarios
Parámetros deviceIoControl
Cuando se llama a la función DeviceloControl con el código de control de E/S de IOCTL_READ_REGISTERS, el autor de la llamada debe especificar la dirección de una estructura de IO_BLOCK como parámetro lpInBuffer de la función.
Con el contenido IO_BLOCK, el controlador en modo kernel crea un URB que contiene una estructura _URB_CONTROL_VENDOR_OR_CLASS_REQUEST .
En la tabla siguiente se indican los valores asignados a _URB_CONTROL_VENDOR_OR_CLASS_REQUEST miembros de la estructura.
Miembro de estructura | Valor asignado |
---|---|
TransferFlags | 1 |
TransferBufferLength | pIoBlock-uLength> |
TransferBuffer | Argumento lpOutBuffer de DeviceIoControl. |
TransferBufferMDL | NULL |
RequestTypeReservedBits | 0xC0 |
Solicitud | (pIoBlock->uLength> 1) ? 0x04 : 0x0C |
Valor | (SHORT) pIoBlock-uOffset> |
Index | pIoBlock-uIndex> |
Para obtener más información, consulte Acceso a controladores de Kernel-Mode para dispositivos de imagen fija.
Requisitos
Requisito | Valor |
---|---|
Header | usbscan.h (incluya Usbscan.h) |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de