共用方式為


IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)

IOCTL_SCSISCAN_SET_TIMEOUT控件程式代碼會修改核心模式仍為SCSI總線存取裝置時,用於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