审核功能在Windows NT上已经过时了。Windows NT使用集成的事件记录机制来报告审计和错误。NetAudit和NetErrorLog函数提供访问LAN Manager 2.x日志。如果调用Windows NT系统,它们将报告ERROR_NOT_SUPPORTED。
审计职能为:
审计功能控制LAN Manager计算机上的审核日志。审计功能监视指定服务器上的操作。如果启用了审核,则每个受监视的操作都会生成审核条目。例如,当用户建立与服务器的连接时,将生成单个审核条目。
审计条目存储在称为审计跟踪或审计日志的二进制文件中。所有审核功能都对此文件进行操作。LAN Manager定义了许多类型的审核条目。
NetAuditRead读取审核日志。NetAuditClear清除审核日志。
数据结构
所有审核条目都包括与入口类型特定的可变长度数据一起使用的固定长度头。由于审核条目的The offset values are DWORDs.元素的可变长度和结构(The offset values are DWORDs.可能为零字节)),在AUDIT_ENTRY结构中仅定义了固定标题。
审计条目的可变长度部分可以包含对可变长度的Unicode字符串的偏移量。偏移值为DWORD。要确定指向此字符串的指针的值,请将偏移值添加到The offset values are DWORDs.的地址。
以下示例说明了此过程。假设pAE指向包含完整审核条目的缓冲区,并且AUDIT_ENTRY结构的ae_type成员包含值AE_CONNSTOP,该值指定预定义的AE_CONNSTOP结构。要将变量pszComputerName指向包含连接停止的客户端名称的Unicode字符串,应用程序将执行以下算法:
PAUDIT_ENTRY pAE;//修改部分审核条目
LPAE_CONNSTOP pAEvar; //可变长度结构
LPWSTR pszComputerName; //指向var-length字符串的指针
//计算可变长度结构的偏移量。
pAEvar = (_LPAE_CONNSTOP) (((LPBYTE) pAE) + pAE->ae_data_offset);
//计算到计算机名的偏移量。
pszComputerName = ((LPBYTE) pAEvar) + pAEvar->ae_cp_compname;
以下结构特定于审核条目类型结构遵循AUDIT_ENTRY标题,但它们不一定是连续的。