AccessCheckAndAuditAlarm

【勇芳软件工作室】汉化HomePreviousNext

AccessCheckAndAuditAlarm功能执行访问验证并生成相应的审核消息。应用程序还可以使用此函数来确定客户端进程是否拥有必需的权限。此函数通常由模拟客户端进程的服务器应用程序使用。当前版本的Windows NT不支持警报。

BOOL AccessCheckAndAuditAlarm(

LPCTSTR 【SubsystemName】,//子系统名称的字符串地址
LPVOID 【HandleId】,//句柄标识符的地址
LPTSTR 【ObjectTypeName】,//对象类型的字符串地址
LPTSTR 【ObjectName】,//对象名称的字符串地址
PSECURITY_DESCRIPTOR 【SecurityDescriptor】,//安全描述符的地址
DWORD 【DesiredAccess】,//屏蔽所请求的访问权限
PGENERIC_MAPPING 【GenericMapping】,// GENERIC_MAPPING的地址
BOOL 【ObjectCreation】,//对象创建标志
LPDWORD 【GrantedAccess】,//掩码的地址授予权限
LPBOOL 【AccessStatus】,//结果标志的地址
LPBOOL 【pfGenerateOnClose】//指向用于审计生成的标志的指针
); 

参数

【SubsystemName】

指向以null结尾的字符串,指定调用函数__的子系统的名称,例如“DEBUG”或“WIN32”。

【HandleId】

指向一个唯一的32位值,表示客户端对象的句柄。如果访问被拒绝,该值将被忽略,并可能被重用。

【ObjectTypeName】

指向一个以null结束的字符串,指定正在创建或访问的对象的类型。此字符串显示在该对象的审核日志中。

【ObjectName】

指向一个以null结束的字符串,指定正在创建或访问的对象的名称。此字符串显示在该对象的审核日志中。

【SecurityDescriptor】

指向SECURITY_DESCRIPTOR结构,以检查哪个访问。

【DesiredAccess】

指定给出请求的访问权限的访问掩码。此掩码必须已映射为不包含MapGenericMask功能的通用访问权限。

【GenericMapping】

指向与正在检查的对象类型相关联的GENERIC_MAPPING结构。

【ObjectCreation】

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

【GrantedAccess】

如果功能成功,则指向接收访问掩码的缓冲区,指示哪些访问权限被授予。

【AccessStatus】

指向功能设置为指示访问检查的成功或失败的标志。如果访问被授予,则该标志为TRUE;否则,它是FALSE。

【pfGenerateOnClose】

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

返回值

如果函数成功,返回值不为零。

如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.

备注

AccessCheckAndAuditAlarm功能将指定的安全描述符与调用进程的模拟访问令牌进行比较,并指示访问是否被授予或拒绝。如果访问被授予,请求的访问掩码将成为该对象的授权访问掩码。此函数还会由于访问尝试而生成任何必要的审核消息。

此函数要求呼叫进程具有SE_AUDIT_NAME特权。针对该权限的测试针对调用进程的主令牌执行,而不是线程的模拟令牌。

也可以看看

AccessCheck, AreAllAccessesGranted, AreAnyAccessesGranted, GENERIC_MAPPING, MapGenericMask, ObjectCloseAuditAlarm, ObjectOpenAuditAlarm, ObjectPrivilegeAuditAlarm, PrivilegeCheck, PrivilegedServiceAuditAlarm, SECURITY_DESCRIPTOR