RxLogEventDirect-Funktion (rxprocs.h)

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

Es wird empfohlen, das RXLogEvent-Makro oder das RxLogFailure-Makro zu verwenden, 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 E/A-Fehlerprotokollcodewert 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] Line

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.

Die E/A-Fehlerprotokolleintragsgröße ist auf eine Länge von 255 Zeichen beschränkt. Wenn also die kombinierte Länge der OriginatorId und 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. Daher kann RxLogEventDirect 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

RxLogEventWithAnnotation

RxLogEventWithBufferDirect

_RxLog