Win32API ドライブのタイプを取得する GetDriveType

ドライブのタイプを取得する


使用するAPI

  • GetDriveType
  • #include <windows.h>
    
    int main()
    {
    	switch (GetDriveType("E:\\")) {
    		case DRIVE_UNKNOWN:
    			//ドライブの種類を判別できませんでした。
    			puts("DRIVE_UNKNOWN");
    			break;
    
    		case DRIVE_NO_ROOT_DIR:
    			//指定のルートディレクトリが存在しません。
    			//たとえば、パスにボリュームがマウント
    			//されていません(未フォーマットや、
    			//メディアが挿入されていないなど)。
    			puts("DRIVE_NO_ROOT_DIR");
    			break;
    
    		case DRIVE_REMOVABLE:
    			//このディスクは、ドライブから
    			//取り出せます。
    			puts("DRIVE_NO_ROOT_DIR");
    			break;
    
    		case DRIVE_FIXED:
    			//このディスクは、ドライブから
    			//取り出せません。
    			puts("DRIVE_FIXED");
    			break;
    	
    		case DRIVE_REMOTE:
    			//このドライブは、リモート(ネットワーク)
    			//ドライブです。
    			puts("DRIVE_REMOTE");
    			break;
    
    		case DRIVE_CDROM:
    			//このドライブは、CD-ROM ドライブです。
    			puts("DRIVE_CDROM");
    			break;
    
    		case DRIVE_RAMDISK:
    			//このドライブは、RAM ディスクです。
    			puts("DRIVE_RAMDISK");
    			break;
    
    		default:
    			puts("Error");
    			break;
    	}
    
    	return 0;
    }