如何检查文件是否在Windows网络共享上?

时间:2011-10-19 06:41:28

标签: c++ windows

我需要检查文件是否通过网络访问。我正在检查的价值 GetFileAttributes("\\\\Foo\\Bar\\foobar.txt") & FILE_ATTRIBUTE_OFFLINE但它从未设定过。实现这一目标的更有力的方法是什么?

2 个答案:

答案 0 :(得分:1)

离线是一种特殊的文件状态,您也可以在网络文件上设置,但您必须自己设置。并非每个脱机文件都会自动标记为脱机使用。我认为浏览器上有一个特殊的叠加图标用于离线文件(黑色时钟?)。

我认为使用PathIsNetworkPath(),您可以检查该文件是否在网络上。

答案 1 :(得分:1)

调用GetVolumePathName,然后调用GetDriveType。

如果指定了网络共享,GetVolumePathName将返回GetDriveType返回DRIVE_REMOTE的最短路径。