GetVolumeInformationを使ってボリューム情報を取得することで、ファイルシステムも取得できる。 ファイルシステムは"NTFS"や"FAT"などの文字列で取得できる。
// ボリューム情報を取得して、ファイルシステム名を取得する
char* drive = "C:\\";
char buffer[0x80];
if ( GetVolumeInformation( drive, NULL, 0, NULL, NULL, NULL, buffer, sizeof( buffer ) ) )
{
// 取得したファイルシステム名を検証する
printf( "%sのファイルシステムは", drive );
if ( 0 == strcmp( "NTFS", buffer ) )
{
printf( "NTFSです\n" );
}
else if ( 0 == strcmp( "FAT", buffer ) )
{
printf( "FATです\n" );
}
else if ( 0 == strcmp( "CDFS", buffer ) )
{
printf( "CDFSです\n" );
}
else if ( 0 == strcmp( "UDF", buffer ) )
{
printf( "UDFです\n" );
}
else
{
printf( "未知のファイルシステムです\n" );
}
}