次の方法で共有


RxLogEventDirect 関数 (rxprocs.h)

RxLogEventDirect は、エラーを I/O エラー ログに記録するために呼び出されます。

このルーチンを直接呼び出す代わりに、RXLogEvent マクロまたは RxLogFailure マクロを使用することをお勧めします。

構文

void RxLogEventDirect(
  [in] IN PRDBSS_DEVICE_OBJECT DeviceObject,
  [in] IN PUNICODE_STRING      OriginatorId,
  [in] IN ULONG                EventId,
  [in] IN NTSTATUS             Status,
  [in] IN ULONG                Line
);

パラメーター

[in] DeviceObject

RDBSS デバイス オブジェクトへのポインター。

[in] OriginatorId

エラーを生成する呼び出し元を示す文字列。

[in] EventId

ルーチンによって返される NTSTATUS 値とは異なる入出力エラー・ログ・コード値を示す値。 有効な I/O エラー ログ コード値は、Microsoft Windows SDKと Visual Studio に含まれる ntiolog.h ヘッダー ファイルで定義されています。

[in] Status

エラーを示すルーチンの状態コードを示す値。

[in] Line

このエラーが発生したソース コード ファイルの行番号。

戻り値

なし

解説

RxLogEventDirect はRxLogEventWithAnnotation ルーチンを内部的に呼び出して、ログ エントリを作成および書き込みます。

I/O エラー・ログ・エントリー・サイズは、255 文字の長さに制限されています。 そのため、 OriginatorId の合計長と I/O エラー ログの固定部分のサイズが 255 を超える場合、I/O エラー ログ エントリは作成されません。

RxLogEventWithAnnotation ルーチンは、I/O エラー ログ エントリ を作成するためにメモリを割り当てる必要があります。 その結果、メモリ割り当てが失敗した場合、 RxLogEventDirect はサイレントモードで失敗する可能性があります。

要件

要件
対象プラットフォーム デスクトップ
Header rxprocs.h (Rxprocs.h、Rxstruc.h を含む)
IRQL <= APC_LEVEL

こちらもご覧ください

RxLogEventWithAnnotation

RxLogEventWithBufferDirect

_RxLog