Win32API 論理ドライブ名を文字列で取得する GetLogicalDriveStrings

使用するAPI

  • GetLogicalDriveStrings

  • GetLogicalDriveStringsを呼び出すと、szLogicalDrivesにヌル文字区切りで存在するドライブ名が格納される。GetLogicalDriveStringsを呼び出した後は、格納されたドライブ名を解析しながら表示している。




  • GetLogicalDriveStrings()の呼び出しで、szLogicalDrivesに格納された文字列の例:
    C:\\0D:\\0E:\\0
  • #include <windows.h>
    
    int main()
    {
    	char szLogicalDrives[64];
    	char *p;
    	DWORD dwBuffSize; 
    
    	dwBuffSize = 
    		sizeof(szLogicalDrives)/sizeof(szLogicalDrives[0]);
    
    	if (GetLogicalDriveStrings(dwBuffSize, szLogicalDrives) <= 0) {
    		printf("GetLogicalDriveStrings failed");
    		return 1;
    	}
    
    	for (p = szLogicalDrives; *p != '\0'; p += strlen(p) + 1) {
    		puts(p);
    	}
    	
    	return 0;
    }