Information on new Windows 10 error: ERROR_CLOUD_FILE_ACCESS_DENIED
Information on new Windows 10 error: ERROR_CLOUD_FILE_ACCESS_DENIED
运行 进入一个新的 Windows 10 错误代码打开文件以使用 CreateFile()
读取。我们收到错误 395,但关于它的含义或如何解决的信息很少。 Windows 10 SDK报错详情如下
- 错误编号395
- 错误常量
ERROR_CLOUD_FILE_ACCESS_DENIED
- OS错误信息“访问
云文件被拒绝。"
有问题的机器是 Windows 10 Professional。它是 运行 OneDrive,但该文件不在 OneDrive 文件夹下。我们怀疑 OneDrive 可能正在使用它的 Known Folder Move 功能
用于打开文件的代码是:
HANDLE hnd = ::CreateFile(fname,
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_SEQUENTIAL_SCAN,
NULL);
if (hnd == INVALID_HANDLE_VALUE) {
DWORD exitcode = ::GetLastError();
printf("%d\n", exitcode);
}
如果有人遇到此问题,我们将非常感谢您分享任何见解。
经过仔细研究,我们发现这是由一个简单的权限问题引起的。执行 CreateFile()
调用的用户进程无权访问存储在云中的文件。 OneDrive 的 Known File Move
在我们没有意识到的情况下导致文件夹存储在云端。
一旦我们意识到这是一个云权限问题,修复云权限以允许用户进程打开文件是一件简单的事情。
在我们的特定情况下,我们安排 运行 我们的进程作为 管理员 ,这使我们对 CreateFile()
的调用能够成功。如果您尝试访问存储在另一用户所有的 OneDrive 共享中的文件,则您将无法使用此解决方案。您需要请求文件所有者授予您请求的访问权限。
运行 进入一个新的 Windows 10 错误代码打开文件以使用 CreateFile()
读取。我们收到错误 395,但关于它的含义或如何解决的信息很少。 Windows 10 SDK报错详情如下
- 错误编号395
- 错误常量
ERROR_CLOUD_FILE_ACCESS_DENIED
- OS错误信息“访问 云文件被拒绝。"
有问题的机器是 Windows 10 Professional。它是 运行 OneDrive,但该文件不在 OneDrive 文件夹下。我们怀疑 OneDrive 可能正在使用它的 Known Folder Move 功能
用于打开文件的代码是:
HANDLE hnd = ::CreateFile(fname,
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_SEQUENTIAL_SCAN,
NULL);
if (hnd == INVALID_HANDLE_VALUE) {
DWORD exitcode = ::GetLastError();
printf("%d\n", exitcode);
}
如果有人遇到此问题,我们将非常感谢您分享任何见解。
经过仔细研究,我们发现这是由一个简单的权限问题引起的。执行 CreateFile()
调用的用户进程无权访问存储在云中的文件。 OneDrive 的 Known File Move
在我们没有意识到的情况下导致文件夹存储在云端。
一旦我们意识到这是一个云权限问题,修复云权限以允许用户进程打开文件是一件简单的事情。
在我们的特定情况下,我们安排 运行 我们的进程作为 管理员 ,这使我们对 CreateFile()
的调用能够成功。如果您尝试访问存储在另一用户所有的 OneDrive 共享中的文件,则您将无法使用此解决方案。您需要请求文件所有者授予您请求的访问权限。