我使用SetFileAttributes API重置文件的FILE_ATTRIBUTE_ARCHIVE
属性。我需要它的应用程序充当备份软件。以下是我的表现方式:
DWORD dwAtt = ::GetFileAttributes(strSrcFilePath);
if(dwAtt != INVALID_FILE_ATTRIBUTES)
{
if(!::SetFileAttributes(strSrcFilePath, dwAtt & ~FILE_ATTRIBUTE_ARCHIVE))
{
//Error
int error = ::GetLastError();
}
}
我的流程运行的用户帐户属于Backup Operators
组:
根据this document,我应该授予我的进程修改文件的权限,无论他们的权限如何。
但是当我运行上面的代码时,SetFileAttributes
会因ERROR_ACCESS_DENIED
而失败。
我错过了什么吗?
我是否需要授予我对该文件的进程写入权限以重置其FILE_ATTRIBUTE_ARCHIVE
属性?