wchar_t *szSD = _T("D:")//设置DACL
_T("(D;OICI;GA;;;BG)") //拒绝访客用户的所有权限
_T("(A;OICI;GA;;;SY)") //同意系统用户的所有操作
_T("(A;OICI;GA;;;BA)") //同意管理员用户的所有操作
_T("(A;OICI;GA;;;AU)");//同意登录用户的所有操作
if(ConvertStringSecurityDescriptorToSecurityDescriptor( szSD,
SDDL_REVISION_1,
&sa.lpSecurityDescriptor, nullptr))
{
CreateDirectoryA("abc", &sa);
HANDLE hFile = CreateFile(_T(""), GENERIC_WRITE, FILE_SHARE_READ, &sa,CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr);
CloseHandle(hFile);
}
LocalFree(sa.lpSecurityDescriptor);
https://docs.microsoft.com/en-us/windows/win32/secauthz/security-descriptor-string-format