Question: How to check with WINAPI file path is disk or file or directory?

Answer: 
Use [GetFileAttributes](http://msdn.microsoft.com/en-us/library/aa364944(v=VS.85).aspx).

**Edit:** You can also check [SHGetFileInfo](http://msdn.microsoft.com/en-us/library/bb762179(v=VS.85).aspx)
Could try FindFirstFile:

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

Once you have the find data (passed as the 2nd argument to that function):

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

```

Also, to see if something is a volume, could try something like:

```
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