Compartir a través de


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

IRP_MJ_DEVICE_CONTROL

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

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously