C FindFirstFile和连接
我使用此命令获取目录foo:C FindFirstFile和连接,c,windows,winapi,C,Windows,Winapi,我使用此命令获取目录foo:FindFirstFile(L“foo\\\*”,&findData)的内容。当foo是一个常规目录时,它非常有效。但是,当foo是指向另一个目录(使用mklink/j foo C:\gah创建)的连接时,FindFirstFile会失败 文档中有这样一句话:“如果路径指向一个符号链接,那么WIN32查找数据缓冲区包含有关符号链接的信息,而不是目标。”但当我运行调试器时,我只得到一个无效的句柄值,findData保持不变 那么,我该如何解决这个问题呢?陈雷蒙有一个好主
FindFirstFile(L“foo\\\*”,&findData)
的内容。当foo是一个常规目录时,它非常有效。但是,当foo是指向另一个目录(使用mklink/j foo C:\gah
创建)的连接时,FindFirstFile会失败
文档中有这样一句话:“如果路径指向一个符号链接,那么WIN32查找数据缓冲区包含有关符号链接的信息,而不是目标。”但当我运行调试器时,我只得到一个无效的句柄值,findData保持不变
那么,我该如何解决这个问题呢?陈雷蒙有一个好主意要告诉你
函数,如GetFileAttributes
和FindFirstFile
,当要求
提供有关符号链接的信息,返回有关符号链接的信息
链接本身,而不是链接目标。如果你使用
FindFirstFile
函数,可以看出您有一个符号链接
因为文件属性将具有
FILE\u ATTRIBUTES\u resparse\u POINT
标志集,以及dwReserved0
成员
将包含特殊值IO\u repasse\u TAG\u SYMLINK
好的,很好,现在我知道我有一个符号链接,但是如果我想要呢
关于链接目标的信息?例如,我想知道
链接目标的大小、上次修改时间及其名称
要执行此操作,请打开符号链接。I/O管理器取消引用
符号链接,并提供指向链接目标的句柄。你
然后可以调用函数,如GetFileSize
,
GetFileInformationByHandleEx
,或GetFinalPathNameByHandle
获取
有关符号链接目标的信息