0

私の質問は次のとおりです。Windows マシンにオフライン ディスクが接続されている場合、そのボリューム文字を取得するにはどうすればよいですか?

シナリオ: DeviceIoControl 関数 (SCSI 予約を実行する必要がある) で使用するために、(CreateFile 関数を使用して) 共有ストレージへのハンドラーを作成する必要があります。

「CreateFile」関数は、物理ドライブ名 (つまり、\.\PhysicalDisk1) またはディスクのボリューム文字 (つまり、\.\E:) を取得します。

私の問題は、物理ドライブ名を使用したくないことです。ディスク文字だけを使用します。これは、ディスクがオンラインのときは正常に機能しますが、ディスクがオフラインのときもサポートする必要があります。

デバイス/ディスクがオフラインのときに文字を特定する方法はありますか? ディスクをオンラインにすると、Windowsが自動的に正しい文字を与えるので、あると思います。したがって、オペレーティング システムが文字を認識しているのであれば、私も使用できる API またはツールが存在するはずです。

ありがとう、ダニエル。

4

1 に答える 1

0

残念ながら、ドライブがオフラインの場合、ドライブ文字は挿入された別のドライブで使用できます。そのため、Windows は特定のドライブに使用されていたドライブ文字を記憶しており、再挿入時に同じ文字を再利用しようとしますが、記憶された文字を使用する別のドライブが挿入された場合、古いドライブは別の文字を取得します。それが挿入された場合。

ただし、物理ドライブが現在接続されていない場合、名前または文字で物理ドライブを開くことはできません。「ファイルが見つかりません」と同等の結果が得られます。

于 2016-06-12T07:39:14.650 に答える