GetVolumeNameForVolumeMountPoint

GetVolumeNameForVolumeMountPointで、ボリュームマウントポイントからボリューム名を取得できる。

GetVolumeNameForVolumeMountPointW 関数 (fileapi.h) - Win32 apps | Microsoft Learn
ドライブレターからボリューム名を取得 - わびさびサンプルソース

ボリュームマウントポイントなんだが、基本的にはドライブレターでいいのだが、デバイスパスでも取得できる。
GVNFVMP.cppで、

バイスパスは、末尾に"\"を追加しないと失敗するので注意。

XP対応してるのにSDKインクルード追加しないと関数が見つかりません。
XP対応してるのにSDKインクルード追加しないと関数が見つかりません。

XP対応してるのにSDKインクルード追加しないと関数が見つかりません。
(なんでだろ・・・。)

Libも追加
Libも追加

Libも追加。

赤いのがメインのCドライブ、青いのがUSBHDD。
赤いのがメインのCドライブ、青いのがUSBHDD。

赤いのがメインのCドライブ、青いのがUSBHDD。
どちらも、ドライブレターから取得しても、デバイスパスから取得しても、同じ。
ただ、Google Driveとかは、片方にしか出てこないな。
これで、ドライブレターとボリューム名とデバイスパスは1対1対1の関係とわかった。
つまり、ドライブレターからボリューム名、またはその逆が導ける。

Sample/winapi/GetVolumeNameForVolumeMountPoint/GVNFVMP/src/GVNFVMP at master · bg1bgst333/Sample · GitHub