共用方式為


記錄常式和宏

RDBSS 提供一些用於記錄的常式。 這些記錄設備一律存在。 定義 RDBSSLOG 宏時,會啟用已檢查組建上的記錄呼叫世代。 設定NO_RDBSSLOG時,會停用記錄呼叫。

記錄常式會建立儲存在迴圈緩衝區中的記錄檔記錄。 每筆記錄都會以記錄描述元系結在任一端。 此記錄描述元長度為四個位元組。

下表包含記錄常式。

常式傳回的值 描述

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 呼叫。