2

動作させようとしている機能があります。私の意図は、ファイルハンドル(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から取得したもので、私はそれを利用しようとしています。繰り返しますが、Win8ではなくWin7で作業しています。

ありがとう!

4

0 に答える 0