函数 GetDriveTypeW 总是 returns DRIVE_NO_ROOT_DIR

Function GetDriveTypeW always returns DRIVE_NO_ROOT_DIR

如标题所说,标准 Windows GetDriveTypeW returns 值 1 (DRIVE_NO_ROOT_DIR) 用于所有传递的路径。

文档说

The root path is invalid; for example, there is no volume mounted at the specified path.

虽然我很确定提供的路径(例如“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;
        }
    }
}

文档还说参数必须是:

The root directory for the drive.
A trailing backslash is required...

也就是说,如果要检查 C: 驱动器,则应使用 C:\ 调用它,如果要检查安装在 C:\temp 的驱动器,则应使用 C:\temp\ 调用它。