共用方式為


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 秒。 您可以使用 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

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously