AuditComputeEffectivePolicyBySid 函数 (ntsecapi.h)

AuditComputeEffectivePolicyBySid 函数计算指定安全主体的一个或多个子类别的有效审核策略。 函数通过将系统审核策略与每用户策略相结合来计算有效的审核策略。

语法

BOOLEAN AuditComputeEffectivePolicyBySid(
  [in]  const PSID                pSid,
  [in]  const GUID                *pSubCategoryGuids,
  [in]  ULONG                     dwPolicyCount,
  [out] PAUDIT_POLICY_INFORMATION *ppAuditPolicy
);

参数

[in] pSid

指向与要为其计算有效审核策略的主体关联的 SID 结构的指针。 目前不支持组 SID 的每用户策略。

[in] pSubCategoryGuids

指向 GUID 值数组的指针,这些值指定要为其计算有效审核策略的子类别。 有关定义的子类别的列表,请参阅 审核常量

[in] dwPolicyCount

每个 pSubCategoryGuidsppAuditPolicy 数组中的元素数。

[out] ppAuditPolicy

指向单个缓冲区的指针,该缓冲区包含指向 AUDIT_POLICY_INFORMATION 结构和结构本身的指针数组。 AUDIT_POLICY_INFORMATION 结构为 pSubCategoryGuids 数组指定的子类别指定有效的审核策略。

使用此缓冲区后,通过调用 AuditFree 函数释放它。

返回值

如果函数成功,则返回 TRUE

如果函数失败,则返回 FALSE。 要获得更多的错误信息,请调用 GetLastError。 GetLastError 可能会返回 WinError.h 中定义的以下错误代码之一。

返回代码/值 说明
ERROR_ACCESS_DENIED
5
调用方没有调用此函数所需的特权或访问权限。
ERROR_INVALID_PARAMETER
87 (0x57)
一个或多个参数无效。
ERROR_FILE_NOT_FOUND
2 (0x2)
pSid 参数指定的主体不存在每用户审核策略。

注解

若要成功调用此函数,调用方必须具有 SeSecurityPrivilege具有对Audit 安全对象的AUDIT_QUERY_SYSTEM_POLICY和AUDIT_QUERY_USER_POLICY访问权限。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 ntsecapi.h
Library Advapi32.lib
DLL Advapi32.dll