gpt4 book ai didi

c++ - 当 lpFileName 为卷时,FindFirstFile 返回 INVALID_HANDLE_VALUE

转载 作者:行者123 更新时间:2023-11-28 06:02:18 26 4
gpt4 key购买 nike

有一个简短的例子:

WIN32_FIND_DATA fd;
HANDLE h = FindFirstFile(L"C:", &fd);
if (h == INVALID_HANDLE_VALUE)
{
wprintf(L"Err = %d\n", GetLastError());
return 1;
}

do {
std::wstring fullPath(fd.cFileName);
wprintf(L"FullPath = %s\n", fullPath.c_str());
} while (FindNextFile(h, &fd));

FindClose(h);

我很困惑

HANDLE h = FindFirstFile(L"C:", &fd); // OK

HANDLE h = FindFirstFile(L"E:", &fd); // INVALID_HANDLE_VALUE

HANDLE h = FindFirstFile(L"F:", &fd); // INVALID_HANDLE_VALUE

但是 EF 是真实存在的体积。

我这样做是因为我需要来自 WIN32_FIND_DATA 结构的所有信息,这些信息将被传递到内核模式。

最佳答案

这个问题好像是基于一个误解。你说:

I do not want to examine the files and directories in "E:*", I want to get information about this volume.

I need all information from the WIN32_FIND_DATA structure.

嗯,查找数据信息对文件和目录对象有意义,但对卷对象没有意义。

您需要使用其他一些方法来获取卷信息。可能是 GetVolumeInformation、WMI 或其他内容,具体取决于您的需要。

关于c++ - 当 lpFileName 为卷时,FindFirstFile 返回 INVALID_HANDLE_VALUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33013391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com