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 文字の長さに制限されています。 そのため、 Id、 RawDataBuffer、 Annotations パラメーターの合計長に I/O エラー ログ エントリの固定部分のサイズが 255 を超えた場合、 RxLogEventWithAnnotation はサイレントモードで失敗し、I/O エラー ログ エントリは作成されません。
RxLogEventWithAnnotation ルーチンは、I/O エラー ログ エントリ を作成するためにメモリを割り当てる必要があります。 その結果、メモリ割り当てが失敗した場合、 RxLogEventWithAnnotation はサイレントモードで失敗する可能性があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | rxprocs.h (Rxprocs.h、Rxstruc.h を含む) |
IRQL | <= APC_LEVEL |