ObjectOpenAuditAlarmA 函数 (winbase.h)

当客户端应用程序尝试获取对象的访问权限或创建新对象时, ObjectOpenAuditAlarm 函数会生成审核消息。 目前不支持警报。

语法

BOOL ObjectOpenAuditAlarmA(
  [in]           LPCSTR               SubsystemName,
  [in]           LPVOID               HandleId,
  [in]           LPSTR                ObjectTypeName,
  [in, optional] LPSTR                ObjectName,
  [in]           PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [in]           HANDLE               ClientToken,
  [in]           DWORD                DesiredAccess,
  [in]           DWORD                GrantedAccess,
  [in, optional] PPRIVILEGE_SET       Privileges,
  [in]           BOOL                 ObjectCreation,
  [in]           BOOL                 AccessGranted,
  [out]          LPBOOL               GenerateOnClose
);

参数

[in] SubsystemName

指向以 null 结尾的字符串的指针,该字符串指定调用函数的子系统的名称。 此字符串显示在函数生成的任何审核消息中。

[in] HandleId

指向表示客户端对 对象的句柄的唯一值的指针。 如果拒绝访问,则忽略此参数。

为了实现跨平台兼容性,此指针寻址的值的大小必须为 (LPVOID) 字节长。

[in] ObjectTypeName

指向以 null 结尾的字符串的指针,该字符串指定客户端请求访问的对象的类型。 此字符串显示在函数生成的任何审核消息中。

[in, optional] ObjectName

指向以 null 结尾的字符串的指针,该字符串指定客户端请求访问的对象的名称。 此字符串显示在函数生成的任何审核消息中。

[in] pSecurityDescriptor

指向所访问对象的 SECURITY_DESCRIPTOR 结构的指针。

[in] ClientToken

标识表示请求操作的客户端 的访问令牌 。 必须通过打开模拟客户端的线程的令牌来获取此句柄。 必须打开令牌才能TOKEN_QUERY访问。

[in] DesiredAccess

指定所需的 访问掩码。 此掩码必须以前由 MapGenericMask 函数映射,以不包含泛型访问权限。

[in] GrantedAccess

指定一个 访问掩码 ,指示授予了哪些访问权限。 此访问掩码应与访问检查函数之一在其 GrantedAccess 参数中设置的值相同。 访问检查函数的示例包括 AccessCheckAndAuditAlarmAccessCheck

[in, optional] Privileges

指向 PRIVILEGE_SET 结构的指针,该结构指定访问尝试所需的 权限 集。 此参数可以为 NULL。

[in] ObjectCreation

指定一个标志,该标志确定应用程序是否在授予访问权限时创建新对象。 当此值为 TRUE 时,应用程序将创建一个新的 对象;如果为 FALSE,则应用程序将打开一个现有对象。

[in] AccessGranted

指定一个标志,该标志指示在上一次调用访问检查函数(如 AccessCheck)中是授予访问权限还是拒绝访问。 如果已授予访问权限,则此值为 TRUE。 如果没有,则为 FALSE

[out] GenerateOnClose

指向函数返回时由审核生成例程设置的标志的指针。 关闭对象句柄时,必须将此值传递给 ObjectCloseAuditAlarm 函数。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

ObjectOpenAuditAlarm 函数要求调用应用程序启用SE_AUDIT_NAME特权。 此特权的测试始终针对调用进程的主令牌执行,而不是针对线程的模拟令牌执行。 这允许调用进程在调用期间模拟客户端。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Advapi32.lib
DLL Advapi32.dll

另请参阅

AccessCheck

AccessCheckAndAuditAlarm

AreAllAccessesGranted

AreAnyAccessesGranted

客户端/服务器访问控制

客户端/服务器访问控制函数

MapGenericMask

ObjectCloseAuditAlarm

ObjectDeleteAuditAlarm

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR