ドライブレターからボリューム名を取得します。 ボリューム名を取得するには、GetVolumeNameForVolumeMountPoint()関数を利用します。
#include <stdio.h> #include <tchar.h> #include <windows.h> #include <iostream> int _tmain ( int argc , _TCHAR* argv[] ) { TCHAR szDriveLetter[ 4 ] = _T("A:¥¥"); TCHAR szVolumeName[ MAX_PATH ]; BOOL bRet; for ( int i = 0; i < 25; i++ ) { szDriveLetter[ 0 ] = _T('A') + i; // ドライブレターからボリューム名を取得 bRet = GetVolumeNameForVolumeMountPoint( szDriveLetter, szVolumeName, sizeof( szVolumeName ) / sizeof( TCHAR ) ); // 取得成功 if ( bRet ) { // 結果の出力 std::wcout << L"GetVolumeNameForVolumeMountPoint()" << std::endl; std::wcout << L"¥t" << L"szDriveLetter : " << szDriveLetter << std::endl; std::wcout << L"¥t" << L"szVolumeName : " << szVolumeName << std::endl; } } return 0; }
GetVolumeNameForVolumeMountPoint() szDriveLetter : A:\ szVolumeName : \\?\Volume{6e367b87-881f-11df-bc12-806e6f6e6963}\ GetVolumeNameForVolumeMountPoint() szDriveLetter : C:\ szVolumeName : \\?\Volume{6e367b82-881f-11df-bc12-806e6f6e6963}\ GetVolumeNameForVolumeMountPoint() szDriveLetter : D:\ szVolumeName : \\?\Volume{6e367b81-881f-11df-bc12-806e6f6e6963}\