Поделиться через


IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)

Код элемента управления IOCTL_SCSISCAN_SET_TIMEOUT изменяет значение времени ожидания, используемое драйвером образа в режиме ядра для шин SCSI при доступе к устройству.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Расположение, содержащее значение времени ожидания в полсекунд.

Длина входного буфера

Размер входного буфера

Выходной буфер

задано значение NULL.

Длина выходного буфера

Задайте значение 0.

Блок состояния

Irp->IoStatus.Status имеет значение STATUS_SUCCESS, если запрос выполнен успешно. В противном случае — состояние соответствующего условия ошибки в виде кода NTSTATUS .

Комментарии

Когда драйвер образа SCSI в режиме ядра отправляет на устройство команду SCSI, по умолчанию драйвер ожидает 30 секунд перед истечением времени ожидания операции. Вы можете изменить значение времени ожидания для устройства, вызвав функцию DeviceloControl с IOCTL_SCSISCAN_CMD управляющего кода. Указанное значение времени ожидания остается в силе до закрытия устройства.

Значения времени ожидания указываются в половине секунд. Таким образом, указанное значение 100 заставляет драйвер подождать 50 секунд, прежде чем истечет время ожидания устройства.

Дополнительные сведения см. в статье Доступ к драйверам Kernel-Mode для устройств с неподвижным изображением.

Пример кода

ULONG timeout = 240;
fRet = DeviceIoControl( m_DeviceDataHandle,
        (DWORD)IOCTL_SCSISCAN_SET_TIMEOUT,
        &timeout,
        sizeof(ULONG),
        NULL, NULL, &dwBytesReturned, NULL);

Требования

Требование Значение
Заголовок scsiscan.h (включая Scsiscan.h)

См. также раздел

Создание запросов IOCTL в драйверах

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously