WMI を使用して、Windows がインストールされているドライブのボリューム シリアル番号を取得するサービス (SYSTEM ユーザーとして実行) があります。ただし、WMI セキュリティの制限が厳しすぎるクライアントがあり、この方法ではボリューム シリアル番号を照会できません。
WMI セキュリティ アクセス許可の詳細を学習するのではなく、ネイティブの Win32 関数GetVolumeInformationを使用してこの情報を取得したいと考えました。ただし、この呼び出しが WMI を使用してドライブからこの情報を取得するのか、それとも通常のユーザーが変更できるレジストリ (またはその他の簡単にアクセスできる場所) に設定されているものを使用するだけなのかはわかりません (あなたが本当に方法を知っていれば、ボリュームシリアルはまだ変更できることを知っています)。
GetVolumeInformation は、WMI を回避するための実行可能な回避策ですか? そうでない場合、WMI 呼び出しを使用せずに C# でこの情報を取得する最善の方法は何ですか?