Freigeben über


RxLogEventDirect-Funktion (rxprocs.h)

RxLogEventDirect- wird aufgerufen, um einen Fehler im E/A-Fehlerprotokoll zu protokollieren.

Es wird empfohlen, dass das RXLogEvent-Makro oder das RxLogFailure-Makro verwendet werden, anstatt diese Routine direkt aufzurufen.

Syntax

void RxLogEventDirect(
  [in] IN PRDBSS_DEVICE_OBJECT DeviceObject,
  [in] IN PUNICODE_STRING      OriginatorId,
  [in] IN ULONG                EventId,
  [in] IN NTSTATUS             Status,
  [in] IN ULONG                Line
);

Parameter

[in] DeviceObject

Ein Zeiger auf das RDBSS-Geräteobjekt.

[in] OriginatorId

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

[in] EventId

Der Wert, der den I/O-Fehlerprotokollcodewert 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] Line

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.

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

Die RxLogEventWithAnnotation Routine muss Arbeitsspeicher zuweisen, um den E/A-Fehlerprotokolleintrag zu erstellen. Folglich kann RxLogEventDirect 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

RxLogEventWithAnnotation

RxLogEventWithBufferDirect

_RxLog