次の方法で共有


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

ルーチンによって返される 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 はサイレントモードで失敗する可能性があります。

要件

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

こちらもご覧ください

RxLogEventDirect

RxLogEventWithBufferDirect

_RxLog