0

コンピュータの物理ドライブとパーティションを確実に識別するにはどうすればよいですか? GetVolumeInformation の VOLUME シリアル番号を使用してみましたが、英数字ではなく NUMBER が返されることにショックを受けました。

[DllImport("Kernel32.dll", SetLastError = true)]
extern static bool GetVolumeInformation(string vol, StringBuilder name, int nameSize, out uint serialNum, out uint maxNameLen, out uint flags, StringBuilder fileSysName, int fileSysNameSize);

USB サム ドライブ、CD、DVD、またはハード ドライブは、別のコンピューターに接続されている場合でも同じ物理デバイスであることを知っておく必要があります。また、ユーザーが名前を変更したり、ドライブ文字を変更したりした後でも、パーティションまたはボリュームが同じであることを知る必要があります。

4

2 に答える 2

1

あなたは2つの異なることを混同しています。ドキュメントには次のように記載されています。

lpVolumeSerialNumber [アウト、オプション]

この関数は、ハードディスクのフォーマット時にオペレーティング システムが割り当てるボリューム シリアル番号を返します。

つまり、これはOS が割り当てたシリアル番号です。それを割り当てました。それを返す正しい形式を知っていると確信しています。

続けて次のように述べています。

製造元が割り当てるハード ディスクのシリアル番号をプログラムで取得するには、Windows Management Instrumentation (WMI) の Win32_PhysicalMedia プロパティ SerialNumber を使用します。

于 2013-08-22T17:02:39.310 に答える