Freigeben über


RxLogEventWithBufferDirect-Funktion (rxprocs.h)

RxLogEventWithBufferDirect weist eine E/A-Fehlerprotokollstruktur zu, füllt sie mit Informationen 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 für das E/A-Fehlerprotokoll werden in der Headerdatei ntiolog.h definiert, die im Microsoft Windows SDK und Visual Studio enthalten ist.

[in] Status

Der Wert, der den status Code einer Routine angibt, die 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

Keine

Bemerkungen

RxLogEventDirect ruft intern die RxLogEventWithAnnotation-Routine auf, um den Protokolleintrag zu erstellen und zu schreiben, der die Parameter Status und LineNumber als Anmerkungsparameter an RxLogEventWithAnnotation übergeben wird.

Die E/A-Fehlerprotokolleintragsgröße ist auf eine Länge von 255 Zeichen beschränkt. Wenn also die kombinierte Länge der Parameter EventId, DataBuffer und Annotations 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. Daher kann RxLogEventWithBufferDirect automatisch fehlschlagen, wenn die Speicherzuordnung fehlschlägt.

Anforderungen

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

Weitere Informationen

RxLogEventDirect

RxLogEventWithAnnotation

_RxLog