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);
要求
要求 | 價值 |
---|---|
標頭 | scsiscan.h (包括 Scsiscan.h) |
另請參閱
在驅動程式 中建立IOCTL要求
WdfIoTargetSendInternalIoctlOthersSynchronously