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 文字の長さに制限されています。 そのため、EventId、DataBuffer、および Annotations パラメーターと I/O エラー ログ エントリの固定部分のサイズの合計が 255 を超える場合、I/O エラー ログ エントリは作成されません。
RxLogEventWithAnnotation ルーチンは、I/O エラー ログ エントリを作成するためにメモリを割り当てる必要があります。 その結果、RxLogEventWithBufferDirect 、メモリ割り当てが失敗すると自動的に失敗する可能性があります。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | rxprocs.h (Rxprocs.h、Rxstruc.h を含む) |
IRQL | <= APC_LEVEL |
関連項目
RxLogEventDirect の
RxLogEventWithAnnotation の