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 |