c00*_*0fd 4 c++ windows winapi ntfs
我正在使用以下代码来获取有关文件系统目录的信息:
LPCTSTR pStrPath = L"D:\\1";
WIN32_FIND_DATA wfd;
HANDLE hDummy = ::FindFirstFile(pStrPath, &wfd);
if(hDummy != INVALID_HANDLE_VALUE)
{
//Use 'wfd' info
//...
::FindClose(hDummy);
}
else
{
int error = ::GetLastError();
}
Run Code Online (Sandbox Code Playgroud)
该代码可以正常工作,除非我指定了根路径:
D:\ - 错误代码 ERROR_FILE_NOT_FOUNDD: - 错误代码 ERROR_FILE_NOT_FOUND\\SRVR-1\share - 错误代码 ERROR_BAD_NET_NAME\\SRVR-1\share\ - 错误代码 ERROR_BAD_NET_NAME\\SRVR-1\HiddenShare$ - 错误代码 ERROR_BAD_NET_NAME但是它在以下情况下有效:
D:\1 -没有错误\\SRVR-1\share\1 -没有错误\\SRVR-1\HiddenShare$\1 -没有错误知道为什么吗?
FindFirstFile()旨在用于枚举目录的内容。因此,它意在与文件模式(例如)一起使用D:\*。
使用时,D:\1您只是使用限制性很强的文件模式(1)来过滤中的文件D:\,但是当您仅使用D:\或D:根本不使用任何模式时!
共享资源也是如此。请注意,\\SRV-1\share这不能算作模式,因为\\SRV-1不能将其视为目录。
| 归档时间: |
|
| 查看次数: |
2016 次 |
| 最近记录: |