IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)
IOCTL_SCSISCAN_SET_TIMEOUT コントロール コードは、デバイスにアクセスするときに SCSI バスのカーネル モード静止イメージ ドライバーで使用されるタイムアウト値を変更します。
メジャー コード
[入力バッファー]
タイムアウト値を含む場所 (5 分の 1)。
入力バッファーの長さ
入力バッファーのサイズ
出力バッファー
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