SetFileAttributes函数返回意外的错误代码ERROR_INVALID_PARAMETER

时间:2018-08-02 03:10:03

标签: c++ windows

我在Windows 10中执行功能SetFileAttributes后返回了意外错误代码,这是一个问题。

我的情况如下:

1。在具有只读权限的服务器上创建共享文件夹。
2.运行以下代码以在Windows 10,Windows Server 2012或更高版本上为共享文件夹设置隐藏属性

=>变量errCode具有ERROR_INVALID_PARAMETER值,而不是ERROR_ACCESS_DENIED

#include <Windows.h>
int main()
{
    const char * sharedFolder = "\\\\server\\sharedFolder";
    DWORD attFolder = GetFileAttributes(sharedFolder);
    DWORD errCode = 0;
    if( 0 == SetFileAttributes(sharedFolder, FILE_ATTRIBUTE_HIDDEN))
    {
        errCode = GetLastError();
    }
    return 0;
}

一旦我如上所述执行GetFileAttributes和SetFileAttributes的组合,就会返回意外的错误代码ERROR_INVALID_PARAMETER。如果我仅执行1个函数SetFileAttributes,则GetLastError()函数将返回正确的错误代码ERROR_ACCESS_DENIED。

在Windows 7上不会发生此问题,我也不知道新版本中Windows API发生了什么变化。

您能帮我解释一下我的问题吗?

预先感谢

0 个答案:

没有答案