如何检查WINAPI文件路径是磁盘还是文件或目录?

时间:2010-08-20 08:03:33

标签: winapi

如何检查WINAPI文件路径是磁盘还是文件或目录?

3 个答案:

答案 0 :(得分:6)

使用GetFileAttributes

修改:您还可以查看SHGetFileInfo

答案 1 :(得分:2)

可以试试FindFirstFile:

http://msdn.microsoft.com/en-us/library/aa364418%28v=VS.85%29.aspx

获得查找数据后(作为该函数的第二个参数传递):

if(result->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
    //file is a directory
}
else
{
    //file is not a directory
}

另外,要查看某些内容是否为某个卷,可以尝试以下内容:

if(result->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)
{
    if(result->dwReserved0 == IO_REPARSE_TAG_MOUNT_POINT)
    {
        //path is a volume; try using GetVolumeNameForVolumeMountPoint for info
    }
}

HTH

答案 2 :(得分:1)

查看路径前面是否有驱动器号?所有UNC都采用“\\ server \ share \ file_path”形式没有驱动器号。

出于好奇,我抬头看了看。根据这篇MSDN文章Naming Files, Paths, and Namespaces,我的建议似乎就是它应该如何完成。