日志记录例程和宏

RDBSS 提供了许多用于日志记录的例程。 这些日志记录设施始终存在。 定义 RDBSSLOG 宏后,将启用对已检查的生成进行一代日志记录调用。 设置NO_RDBSSLOG时,将禁用日志记录调用。

日志记录例程创建存储在循环缓冲区中的日志记录。 每条记录都由记录描述符绑定在两侧。 此记录描述符的长度为 4 个字节。

下表包含日志记录例程。

例程所返回的值 说明

RxLogEventDirect

调用此例程将错误记录到 I/O 错误日志。

建议使用 RxLogFailureRxLogEvent 宏,而不是直接调用此例程。

RxLogEventWithAnnotation

此例程分配 I/O 错误日志记录,填写日志记录,并将此记录写入 I/O 错误日志。

RxLogEventWithBufferDirect

此例程分配 I/O 错误日志记录,填写日志记录,并将此记录写入 I/O 错误日志。 此例程将行号和状态编码为存储在 I/O 错误日志记录中的原始数据缓冲区。

建议使用 RxLogFailureWithBuffer 宏,而不是直接调用此例程。

_RxLog

如果启用了日志记录,此例程采用格式字符串和可变数量的参数,并将用于记录的输出字符串格式化为 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 调用。