Freigeben über


RxLogEventWithBufferDirect-Funktion (rxprocs.h)

RxLogEventWithBufferDirect weist eine E/A-Fehlerprotokollstruktur zu, füllt sie mit Informationen aus und schreibt den Eintrag in das E/A-Fehlerprotokoll.

Syntax

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
);

Parameter

DeviceOrDriverObject

Ein Zeiger auf das RDBSS-Geräteobjekt.

[in] OriginatorId

Die Zeichenfolge, die den Aufrufer angibt, der den Fehler generiert.

[in] EventId

Der Wert, der den E/A-Fehlerprotokollcode angibt, der sich von einem NTSTATUS-Wert unterscheidet, der von einer Routine zurückgegeben wird. Die Werte des gültigen E/A-Fehlerprotokolls werden in der ntiolog.h Headerdatei definiert, die im Microsoft Windows SDK und Visual Studio enthalten ist.

[in] Status

Der Wert, der den Statuscode einer Routine angibt, der einen Fehler angibt.

[in] DataBuffer

Ein Zeiger auf einen Datenpuffer, der der E/A-Fehlerprotokollstruktur hinzugefügt werden soll.

[in] DataBufferLength

Die Länge des Datenpuffers, der der E/A-Fehlerprotokollstruktur hinzugefügt werden soll.

[in] LineNumber

Die Zeilennummer in der Quellcodedatei, in der dieser Fehler aufgetreten ist.

Rückgabewert

Nichts

Bemerkungen

RxLogEventDirect ruft intern die RxLogEventWithAnnotation Routine auf, um den Protokolleintrag zu erstellen und zu schreiben, der die Status und LineNumber Parameter als Annotations Parameter an RxLogEventWithAnnotation.

Die Eingabegröße des E/A-Fehlerprotokolls ist auf eine Länge von 255 Zeichen beschränkt. Wenn also die kombinierte Länge der EventId, DataBuffer-und Anmerkungen Parameter sowie die Größe des festen Teils des E/A-Fehlerprotokolleintrags 255 überschreitet, wird kein E/A-Fehlerprotokolleintrag erstellt.

Die RxLogEventWithAnnotation Routine muss Arbeitsspeicher zuweisen, um den E/A-Fehlerprotokolleintrag zu erstellen. Folglich kann RxLogEventWithBufferDirect- im Hintergrund fehlschlagen, wenn die Speicherzuweisung fehlschlägt.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- rxprocs.h (include Rxprocs.h, Rxstruc.h)
IRQL- <= APC_LEVEL

Siehe auch

RxLogEventDirect-

RxLogEventWithAnnotation

_RxLog