次の方法で共有


IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)

IOCTL_SCSISCAN_SET_TIMEOUT コントロール コードは、デバイスにアクセスするときに SCSI バスのカーネル モード静止イメージ ドライバーで使用されるタイムアウト値を変更します。

メジャー コード

IRP_MJ_DEVICE_CONTROL

入力バッファー

タイムアウト値を含む場所 (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);

必要条件

要件 価値
ヘッダー scsiscan.h (Scsiscan.h を含む)

関連項目

ドライバー での IOCTL 要求の作成の

WdfIoTargetSendInternalIoctlOthersSynchronously する

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously する