"Access is Denied" U 盘上的 CreateFile()

"Access is Denied" CreateFile() on Usb stick

我的目标是读取 U 盘的所有字节。

我尝试用 CreateFile()fopen() 打开 "D:" 但出现错误:

"Access is Denied"

HANDLE disk = CreateFile("D:", 
                         GENERIC_READ,
                         FILE_SHARE_READ,        
                         NULL,
                         OPEN_EXISTING,
                         FILE_ATTRIBUTE_NORMAL,
                         NULL);

    if (disk == INVALID_HANDLE_VALUE) {
        printf ("%d\n", GetLastError());
        return -1;
    }

此代码打印 5 (="Access is Denied")。

我正在使用 Windows 8 和 C++。

有人可以向我解释为什么会出现错误吗?

您的文件路径无效。

要打开字母为D的设备,您应该使用以下路径:

"\.\D:"

这在the docs

中有解释