正如標題所說,標準 Windows GetDriveTypeW為所有傳遞的路徑回傳值 1 (DRIVE_NO_ROOT_DIR)。
檔案說
根路徑無效;例如,指定路徑上沒有安裝卷。
雖然我很確定提供的路徑(例如“C:\\temp”、“c:\\temp”)是有效的并且是固定驅動器(硬碟)。
我錯過了什么嗎?什么可能導致這種情況?任何幫助將不勝感激 - 我對 WinAPI 不是很熟悉。
bool FileAttributesRetriever::IsExternalPath(const std::filesystem::path& path)
{
uint32_t driveType = GetDriveTypeW(path.wstring().c_str()); // Always 1 / DRIVE_NO_ROOT_DIR
switch (driveType)
{
case DRIVE_REMOTE: // Network storage.
case DRIVE_REMOVABLE: // External drive.
{
return true;
}
default:
{
return false;
}
}
}
uj5u.com熱心網友回復:
該檔案還說,論點必須是:
驅動器的根目錄。
尾隨反斜杠是必需的...
也就是說,C:\
如果要檢查 C: 驅動器,或者C:\temp\
要檢查安裝在C:\temp
.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/470852.html
上一篇:為什么這個紋理顯示全黑?