当尝试执行特权系统服务操作时,PrivilegedServiceAuditAlarm函数会生成审核消息。当前版本的Windows NT不支持警报。
BOOL PrivilegedServiceAuditAlarm(
LPCTSTR 【SubsystemName】, | //子系统名称的字符串地址 |
LPCTSTR 【ServiceName】, | //服务名字串的地址 |
HANDLE 【ClientToken】, | //访问令牌的句柄 |
PPRIVILEGE_SET 【特权】, | //特权地址 |
BOOL 【AccessGranted】 | //标志为授权的访问权限 |
); |
参数
【SubsystemName】
指向一个以null结尾的字符串,指定调用该函数的子系统的名称,例如“DEBUG”或“WIN32”。
【ServiceName】
指向一个以空值终止的字符串,指定特权子系统服务的名称。例如,“RESET RUNTIME LOCAL SECURITY POLICY”可能由用于更新本地安全策略数据库的本地安全机构服务指定。
【ClientToken】
标识表示请求操作的客户端的访问令牌。必须通过打开假冒客户端的线程的令牌来获取此句柄。必须打开令牌才能进行TOKEN_QUERY访问。
【特权】
指向PRIVILEGE_SET结构,其中包含执行操作所需的权限。此结构中的信息通过调用PrivilegeCheck函数提供。
【AccessGranted】
指定一个标志,指示在前一次调用访问检查功能(例如PrivilegeCheck)中是否授予或拒绝访问。如果访问被授予,则该标志为TRUE。如果访问被拒绝,则为FALSE。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
PrivilegedServiceAuditAlarm功能要求呼叫进程具有SE_AUDIT_NAME特权。始终对调用进程的主令牌执行此特权的测试。这允许呼叫过程在呼叫期间模拟客户端。
也可以看看
AccessCheck, AccessCheckAndAuditAlarm, AreAllAccessesGranted, AreAnyAccessesGranted, MapGenericMask, ObjectCloseAuditAlarm, ObjectDeleteAuditAlarm, ObjectOpenAuditAlarm, ObjectPrivilegeAuditAlarm, PrivilegeCheck, PRIVILEGE_SET