IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)
Код элемента управления IOCTL_SCSISCAN_SET_TIMEOUT изменяет значение времени ожидания, используемое драйвером образа в режиме ядра для шин SCSI при доступе к устройству.
Основной код
Входной буфер
Расположение, содержащее значение времени ожидания в полсекунд.
Длина входного буфера
Размер входного буфера
Выходной буфер
задано значение 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