Freigeben über


RxLogEventWithAnnotation-Funktion (rxprocs.h)

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

Syntax

void RxLogEventWithAnnotation(
  [in] IN PRDBSS_DEVICE_OBJECT DeviceObject,
       IN ULONG                EventId,
       IN NTSTATUS             Status,
       IN PVOID                DataBuffer,
       IN USHORT               DataBufferLength,
       IN PUNICODE_STRING      Annotation,
  [in] IN ULONG                AnnotationCount
);

Parameter

[in] DeviceObject

Ein Zeiger auf das RDBSS-Geräteobjekt.

EventId

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

Status

Der Wert, der den status Code einer Routine angibt, die einen Fehler angibt.

DataBuffer

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

DataBufferLength

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

Annotation

Ein Zeiger auf alle Anmerkungszeichenfolgen, die der E/A-Fehlerprotokollstruktur hinzugefügt werden sollen.

[in] AnnotationCount

Die Anzahl der Anmerkungszeichenfolgen, die der E/A-Fehlerprotokollstruktur hinzugefügt werden sollen.

Rückgabewert

Keine

Bemerkungen

Ein Netzwerk-Mini-Redirector ruft RxLogEventWithAnnotation auf, um einen E/A-Fehler zu protokollieren.

Die Größe des E/A-Fehlerprotokolleintrags ist auf eine Länge von 255 Zeichen beschränkt. Wenn also die kombinierte Länge der Parameter Id, RawDataBuffer und Annotations sowie die Größe des festen Teils des E/A-Fehlerprotokolleintrags 255 überschreitet, schlägt RxLogEventWithAnnotation im Hintergrund fehl, und es wird kein E/A-Fehlerprotokolleintrag erstellt.

Die RxLogEventWithAnnotation-Routine muss Arbeitsspeicher zuweisen, um den E/A-Fehlerprotokolleintrag zu erstellen. Daher kann RxLogEventWithAnnotation automatisch fehlschlagen, wenn die Speicherbelegung fehlschlägt.

Anforderungen

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

Weitere Informationen

RxLogEventDirect

RxLogEventWithBufferDirect

_RxLog