C#作为UNC路径访问磁盘驱动器(Windows 8)

时间:2013-01-14 20:02:08

标签: c# winapi windows-8 createfile

我有一个功能,我正在努力工作。我的目的是能够获取文件句柄(IntPtr)对象,以便我可以对它调用“Win32.DeviceIoControl”。它在Windows 7中工作正常,但是当我在Windows 8上测试时,我从对象变量返回-1。

也许在Windows 8中有不同的方法可以做到这一点?或者更好的方式来做到这一点。

以下是代码:

    public bool OpenHandle()
    {
        string filename = "\\\\.\\D:";

        hFile = Win32.CreateFile(filename, Win32.GENERIC_READ | Win32.GENERIC_WRITE,
            Win32.FILE_SHARE_READ | Win32.FILE_SHARE_WRITE, IntPtr.Zero, Win32.OPEN_EXISTING, 0, IntPtr.Zero);

        if (hFile.ToInt32() == Win32.INVALID_HANDLE)
        {
            return false;
        }
        return true;
    }

此代码取自https://stackoverflow.com/a/9579881/1607306,我只是想利用它。再次,在Win7中工作,而不是Win8。

谢谢!

0 个答案:

没有答案