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 |