NTFS 文件夹属性权限编程

cs_luxey cs_luxey 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
通过调用API实现NTFS 文件夹属性里面权限设置

一个用户可以设置允许和拒绝的2种权限~~?
拒绝:AddAccessDeniedAceEx
允许: AddAccessAllowedAceEx
为什么我的程序不能同时添加允许和拒绝的权限


//allowed_denied判断变量
//dwAccessMask允许的具体权限信息
//dwAccessMask_1拒绝的具体权限信息
if(allowed_denied)//允许
{
if (_AddAccessAllowedAceEx)
{
if (!_AddAccessAllowedAceEx(pNewACL, ACL_REVISION2,
dwtemp,dwAccessMask, pUserSID))
{
m_ErrorCode = GetLastError();
_tcscpy(m_ErrorInfo, _T("AddAccessRights: AddAccessAllowedAceEx () failed!"));
__leave;
}
}
}
else//拒绝
{
if (_AddAccessDeniedAceEx)
{
if (!_AddAccessDeniedAceEx(pNewACL, ACL_REVISION2,
dwtemp,dwAccessMask_1, pUserSID))
{
m_ErrorCode = GetLastError();
_tcscpy(m_ErrorInfo, _T("AddAccessRights: AddAccessDeniedAceEx () failed!"));
__leave;
}
}
}


上面的代码在Class中

我的思路是:
1 界面上如果添加允许的权限 设置allowed_denied=1就调用AddAccessAllowedAceEx
2 界面上如果添加拒绝的权限 设置allowed_denied=0就调用AddAccessDeniedAceEx
3 如果添加拒绝和允许的权限 先设置allowed_denied=0就调用AddAccessDeniedAceEx
再设置设置allowed_denied=1就调用AddAccessAllowedAceEx

1 和2 能实现
但是3就出问题了 前面添加的拒绝就没了,只把允许的加进去了!!!

有人晓得么回事么?
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
cs_luxey
VC/MFC 16,550 成员 421,606 内容