Partager via


RxLogEventWithBufferDirect, fonction (rxprocs.h)

RxLogEventWithBufferDirect alloue une structure de journal des erreurs d’E/S, la remplit avec des informations et écrit l’entrée dans le journal des erreurs d’E/S.

Syntaxe

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
);

Paramètres

DeviceOrDriverObject

Pointeur vers l’objet d’appareil RDBSS.

[in] OriginatorId

Chaîne indiquant l’appelant qui génère l’erreur.

[in] EventId

Valeur indiquant le code du journal des erreurs d’E/S qui est différent d’une valeur NTSTATUS retournée par une routine. Les valeurs de code du journal des erreurs d’E/S légales sont définies dans le fichier d’en-tête ntiolog.h inclus avec le Microsoft Windows SDK et Visual Studio.

[in] Status

Valeur indiquant le code status d’une routine indiquant un échec.

[in] DataBuffer

Pointeur vers une mémoire tampon de données à ajouter à la structure du journal des erreurs d’E/S.

[in] DataBufferLength

Longueur de la mémoire tampon de données à ajouter à la structure du journal des erreurs d’E/S.

[in] LineNumber

Numéro de ligne dans le fichier de code source où cet échec s’est produit.

Valeur de retour

None

Remarques

RxLogEventDirect appelle en interne la routine RxLogEventWithAnnotation pour créer et écrire l’entrée de journal en passant les paramètres Status et LineNumber en tant que paramètre Annotations à RxLogEventWithAnnotation.

La taille d’entrée du journal des erreurs d’E/S est limitée à une longueur de 255 caractères. Par conséquent, si la longueur combinée des paramètres EventId, DataBuffer et Annotations , plus la taille de la partie fixe de l’entrée du journal des erreurs d’E/S dépasse 255, aucune entrée de journal des erreurs d’E/S n’est créée.

La routine RxLogEventWithAnnotation doit allouer de la mémoire pour créer l’entrée du journal des erreurs d’E/S . Par conséquent, RxLogEventWithBufferDirect peut échouer en mode silencieux si l’allocation de mémoire échoue.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête rxprocs.h (inclure Rxprocs.h, Rxstruc.h)
IRQL <= APC_LEVEL

Voir aussi

RxLogEventDirect

RxLogEventWithAnnotation

_RxLog