日志记录例程和宏
RDBSS 提供了许多用于日志记录的例程。 这些日志记录设施始终存在。 定义 RDBSSLOG 宏后,将启用对已检查的生成进行一代日志记录调用。 设置NO_RDBSSLOG时,将禁用日志记录调用。
日志记录例程创建存储在循环缓冲区中的日志记录。 每条记录都由记录描述符绑定在两侧。 此记录描述符的长度为 4 个字节。
下表包含日志记录例程。
例程所返回的值 | 说明 |
---|---|
调用此例程将错误记录到 I/O 错误日志。 建议使用 RxLogFailure 或 RxLogEvent 宏,而不是直接调用此例程。 |
|
此例程分配 I/O 错误日志记录,填写日志记录,并将此记录写入 I/O 错误日志。 |
|
此例程分配 I/O 错误日志记录,填写日志记录,并将此记录写入 I/O 错误日志。 此例程将行号和状态编码为存储在 I/O 错误日志记录中的原始数据缓冲区。 建议使用 RxLogFailureWithBuffer 宏,而不是直接调用此例程。 |
|
如果启用了日志记录,此例程采用格式字符串和可变数量的参数,并将用于记录的输出字符串格式化为 I/O 错误日志条目。 建议使用 RxLog 宏,而不是直接调用此例程。 此例程仅适用于 Windows Server 2003、Windows XP 和 Windows 2000 上经过检查的 RDBSS 版本。 |
以下宏在调用上表中列出的例程的 rxlog.h 和 rxprocs.h 头文件中定义。 通常使用这些宏,而不是直接调用这些例程。
宏 | 说明 |
---|---|
RxLog (Args) |
在选中的生成中,此宏调用 _RxLog 例程。 在零售版本上,此宏不执行任何作用。 请注意, RxLog 的参数必须用一对额外的括号括起来,以便在应关闭日志记录时转换为 null 调用。 |
RxLogEvent (_DeviceObject、_OriginatorId、_EventId、_Status) |
此宏调用 RxLogEventDirect 例程。 |
RxLogFailure (_DeviceObject、_OriginatorId、_EventId、_Status) |
此宏调用 RxLogEventDirect 例程。 |
RxLogFailureWithBuffer (_DeviceObject、_OriginatorId、_EventId、_Status、_Buffer、_Length) |
此宏调用 RxLogEventWithBufferDirect 例程。 |
RxLogRetail (Args) |
在选中的生成中,此宏调用 _RxLog 例程。 在零售版本上,此宏不执行任何作用。 请注意, RxLogRetail 的参数必须用一对额外的括号括起来,以便在关闭日志记录时转换为 null 调用。 |