C/C++を使用してWindowsコンピュータ上のすべての物理ドライブパス(\\。\ PhysicalDriveX)を取得するにはどうすればよいですか?すべての物理ドライブの一覧表示(Windows)
回答はthisです。論理ドライブ文字を取得し、そのマウントされたドライブに対応する物理ドライブを取得することをお勧めします。問題は、マウントされていないドライブを含め、すべて 物理ドライブがコンピュータに接続されている状態です。
他の回答は0〜15の値をインクリメントし、ドライブが存在するかどうかをチェックする(\\。\ PHYSICALDRIVE0を、\\。\ PhysicalDrive1、...)、またはWMICはすべてのドライブを一覧表示する呼び出すことをお勧めします。[
これらは機能するように見えるので、取るには最良のアプローチではないようです。 GetPhysicalDrives
のような単純な関数ではなく、すべての物理ドライブのパスを含むstd::string
のベクトルを単に返しますか?
'boost :: filesystem'があなたを助けることができましたか? – AxelOmega
私はまだ 'boost'を見ていません。すぐに別の図書館を必要としない答えが出てこない場合は、それを見ていきます。 – hetelek
論理ドライブのドライブ文字は、マウントされているかどうかにかかわらず存在します。論理ドライブ(認識されたパーティション)を持たない物理ディスクについては、依然として懸念があります。 –