IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)
IOCTL_SCSISCAN_SET_TIMEOUT控制代码修改内核模式静态映像驱动程序在访问设备时用于 SCSI 总线的超时值。
主要代码
输入缓冲区
包含超时值的位置(以半秒为单位)。
输入缓冲区长度
输入缓冲区的大小
输出缓冲区
设置为 NULL。
输出缓冲区长度
设置为 0。
状态块
Irp->如果请求成功,IoStatus.Status 设置为 STATUS_SUCCESS。 否则, 状态 为相应的错误条件作为 NTSTATUS 代码。
注解
当内核模式 SCSI 仍为映像驱动程序向设备发送 SCSI 命令时,默认情况下,驱动程序会在超时操作之前等待 30 秒。 可以通过使用IOCTL_SCSISCAN_CMD控制代码调用 DeviceloControl 函数来更改设备的超时值。 指定的超时值一直有效,直到设备关闭。
超时值以半秒为单位指定。 因此,指定的值 100 会导致驱动程序等待 50 秒,然后设备超时。
有关详细信息,请参阅 访问静态映像设备的 Kernel-Mode 驱动程序。
代码示例
ULONG timeout = 240;
fRet = DeviceIoControl( m_DeviceDataHandle,
(DWORD)IOCTL_SCSISCAN_SET_TIMEOUT,
&timeout,
sizeof(ULONG),
NULL, NULL, &dwBytesReturned, NULL);
要求
要求 | 值 |
---|---|
Header | scsiscan.h (包括 Scsiscan.h) |
另请参阅
WdfIoTargetSendInternalIoctlOthersSynchronously