IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)
Код элемента управления IOCTL_SCSISCAN_SET_TIMEOUT изменяет значение времени ожидания, используемое в режиме ядра, по-прежнему драйвер образа для автобусов SCSI при доступе к устройству.
Основной код
Входной буфер
Расположение, содержащее значение времени ожидания, в течение половины секунд.
Длина входного буфера
Размер входного буфера
Выходной буфер
Задайте значение NULL.
Длина выходного буфера
Установите значение 0.
Блок состояния
Irp->IoStatus.Status STATUS_SUCCESS, если запрос выполнен успешно. В противном случае состояние соответствующего условия ошибки в качестве кода NTSTATUS.
Замечания
Когда драйвер образа в режиме ядра по-прежнему отправляет команду 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 (include Scsiscan.h) |
См. также
создание запросов IOCTL в драйверах
WdfIoTargetSendInternalIoctlOthersSynchronously