Funzione RxLogEventWithBufferDirect (rxprocs.h)
RxLogEventWithBufferDirect alloca una struttura di log degli errori di I/O, la riempie con informazioni e scrive la voce nel log degli errori di I/O.
Sintassi
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
);
Parametri
DeviceOrDriverObject
Puntatore all'oggetto dispositivo RDBSS.
[in] OriginatorId
Stringa che indica il chiamante che genera l'errore.
[in] EventId
Valore che indica il codice del log degli errori di I/O diverso da un valore NTSTATUS restituito da una routine. I valori del codice di log degli errori di I/O legali sono definiti nel file di intestazione ntiolog.h incluso nel Microsoft Windows SDK e Visual Studio.
[in] Status
Valore che indica il codice di stato di una routine che indica un errore.
[in] DataBuffer
Puntatore a un buffer di dati da aggiungere alla struttura del log degli errori di I/O.
[in] DataBufferLength
Lunghezza del buffer dei dati da aggiungere alla struttura del log degli errori di I/O.
[in] LineNumber
Numero di riga nel file del codice sorgente in cui si è verificato questo errore.
Valore restituito
nessuno
Osservazioni
RxLogEventDirect chiama internamente la routine RxLogEventWithAnnotation per creare e scrivere la voce di log passando i parametri Status e LineNumber come parametro Annotations a RxLogEventWithAnnotation.
Le dimensioni della voce del log degli errori di I/O sono limitate a una lunghezza di 255 caratteri. Quindi, se la lunghezza combinata dei parametri EventId, DataBuffer e Annotations più le dimensioni della parte fissa della voce del log degli errori di I/O superano il 255, non verrà creata alcuna voce del log degli errori di I/O.
La routine RxLogEventWithAnnotation deve allocare memoria per creare la voce del log degli errori di I/O . Di conseguenza, RxLogEventWithBufferDirect può non riuscire in modo automatico se l'allocazione della memoria ha esito negativo.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | rxprocs.h (includere Rxprocs.h, Rxstruc.h) |
IRQL | <= APC_LEVEL |