次の方法で共有


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

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

[in] Status

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

[in] DataBuffer

I/O エラー ログ構造に追加するデータ バッファーへのポインター。

[in] DataBufferLength

I/O エラー ログ構造に追加するデータ バッファーの長さ。

[in] LineNumber

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

戻り値

何一つ

備考

RxLogEventDirect 内部で RxLogEventWithAnnotation ルーチンを呼び出して、Status パラメーターと LineNumber パラメーターを Annotations パラメーターとして渡して RxLogEventWithAnnotation するログ エントリを作成および書き込みます。

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

RxLogEventWithAnnotation ルーチンは、I/O エラー ログ エントリを作成するためにメモリを割り当てる必要があります。 その結果、RxLogEventWithBufferDirect 、メモリ割り当てが失敗すると自動的に失敗する可能性があります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー rxprocs.h (Rxprocs.h、Rxstruc.h を含む)
IRQL <= APC_LEVEL

関連項目

RxLogEventDirect

RxLogEventWithAnnotation

_RxLog