IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)
El código de control de IOCTL_SCSISCAN_SET_TIMEOUT modifica el valor de tiempo de espera usado por el controlador de imagen de modo kernel para los buses SCSI cuando accede a un dispositivo.
Código principal
Búfer de entrada
Ubicación que contiene un valor de tiempo de espera, en medio segundos.
Longitud del búfer de entrada
Tamaño del búfer de entrada
Búfer de salida
Definición en NULL
Longitud del búfer de salida
Establecer en 0.
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
Cuando el controlador SCSI en modo kernel sigue enviando un comando SCSI a un dispositivo, el controlador espera de forma predeterminada 30 segundos antes de agotar el tiempo de espera de la operación. Puede cambiar el valor de tiempo de espera de un dispositivo llamando a la función DeviceloControl con el código de control IOCTL_SCSISCAN_CMD . El valor de tiempo de espera especificado permanece en vigor hasta que se cierra el dispositivo.
Los valores de tiempo de espera se especifican en medio segundos. Por lo tanto, un valor especificado de 100 hace que el controlador espere 50 segundos antes de agotar el tiempo de espera del dispositivo.
Para obtener más información, consulte Acceso a controladores de Kernel-Mode para dispositivos de imagen fija.
Ejemplo de código
ULONG timeout = 240;
fRet = DeviceIoControl( m_DeviceDataHandle,
(DWORD)IOCTL_SCSISCAN_SET_TIMEOUT,
&timeout,
sizeof(ULONG),
NULL, NULL, &dwBytesReturned, NULL);
Requisitos
Requisito | Valor |
---|---|
Header | scsiscan.h (incluya Scsiscan.h) |
Consulte también
Creación de solicitudes IOCTL en controladores
WdfIoTargetSendInternalIoctlOthersSynchronously