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

Vedi anche

RxLogEventDirect

RxLogEventWithAnnotation

_RxLog