RxLogEventWithAnnotation 函式 (rxprocs.h)

RxLogEventWithAnnotation 會配置 I/O 錯誤記錄結構、填入其中的資訊,並將專案寫入 I/O 錯誤記錄檔。

語法

void RxLogEventWithAnnotation(
  [in] IN PRDBSS_DEVICE_OBJECT DeviceObject,
       IN ULONG                EventId,
       IN NTSTATUS             Status,
       IN PVOID                DataBuffer,
       IN USHORT               DataBufferLength,
       IN PUNICODE_STRING      Annotation,
  [in] IN ULONG                AnnotationCount
);

參數

[in] DeviceObject

RDBSS 裝置物件的指標。

EventId

值,指出 I/O 錯誤記錄檔碼,與例程所傳回的 NTSTATUS 值不同。 合法的 I/O 錯誤記錄檔代碼值定義於隨附於 Microsoft Windows SDK 和 Visual Studio 的 ntiolog.h 頭檔中。

Status

值,表示例程的狀態代碼,表示失敗。

DataBuffer

要加入 I/O 錯誤記錄結構之原始數據緩衝區的指標。

DataBufferLength

要加入 I/O 錯誤記錄結構的原始數據緩衝區長度。

Annotation

要加入至 I/O 錯誤記錄結構之任何批注字串的指標。

[in] AnnotationCount

要加入至 I/O 錯誤記錄結構之批注字串數目的計數。

傳回值

備註

網路迷你重新導向器會呼叫 RxLogEventWithAnnotation 來記錄 I/O 錯誤。

I/O 錯誤記錄檔專案大小限制為 255 個字元的長度。 因此,如果 IdRawDataBufferAnnotations 參數的合併長度加上I/O錯誤記錄專案固定部分的大小超過255, 則 RxLogEventWithAnnotation 會以無訊息方式失敗,而且不會建立任何 I/O 錯誤記錄專案。

RxLogEventWithAnnotation 例程必須配置記憶體,才能建立 I/O 錯誤記錄專案 。 因此,如果記憶體配置失敗, RxLogEventWithAnnotation 可能會以無訊息方式失敗。

規格需求

需求
目標平台 桌面
標頭 rxprocs.h (包含 Rxprocs.h、Rxstruc.h)
IRQL <= APC_LEVEL

另請參閱

RxLogEventDirect

RxLogEventWithBufferDirect

_RxLog