RxLogEventWithBufferDirect 函式 (rxprocs.h)

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

語法

void RxLogEventWithBufferDirect(
       IN PVOID           DeviceOrDriverObject,
  [in] IN PUNICODE_STRING OriginatorId,
  [in] IN ULONG           EventId,
  [in] IN NTSTATUS        Status,
  [in] IN PVOID           DataBuffer,
  [in] IN USHORT          DataBufferLength,
  [in] IN ULONG           LineNumber
);

參數

DeviceOrDriverObject

RDBSS 裝置物件的指標。

[in] OriginatorId

表示產生錯誤的呼叫端的字串。

[in] EventId

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

[in] Status

值,指出例程的狀態代碼,指出失敗。

[in] DataBuffer

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

[in] DataBufferLength

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

[in] LineNumber

發生此失敗之原始碼檔案中的行號。

傳回值

備註

RxLogEventDirect 會在內部呼叫 RxLogEventWithAnnotation 例程,以建立和寫入將 StatusLineNumber 參數傳遞為 Annotations 參數的記錄專案給 RxLogEventWithAnnotation

I/O 錯誤記錄檔專案大小限制為 255 個字元的長度。 因此,如果 EventIdDataBufferAnnotations 參數的合併長度加上 I/O 錯誤記錄專案固定部分的大小超過 255,則不會建立任何 I/O 錯誤記錄檔專案。

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

規格需求

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

另請參閱

RxLogEventDirect

RxLogEventWithAnnotation

_RxLog