Partager via


Fonction RxLogEventDirect (rxprocs.h)

RxLogEventDirect est appelé pour consigner une erreur dans le journal des erreurs d’E/S.

Il est recommandé d’utiliser la macro RXLogEvent ou la macro RxLogFailure au lieu d’appeler cette routine directement.

Syntaxe

void RxLogEventDirect(
  [in] IN PRDBSS_DEVICE_OBJECT DeviceObject,
  [in] IN PUNICODE_STRING      OriginatorId,
  [in] IN ULONG                EventId,
  [in] IN NTSTATUS             Status,
  [in] IN ULONG                Line
);

Paramètres

[in] DeviceObject

Pointeur vers l’objet d’appareil RDBSS.

[in] OriginatorId

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

[in] EventId

Valeur indiquant la valeur du code du journal des erreurs d’E/S qui est différente 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 dans le Microsoft Windows SDK et Visual Studio.

[in] Status

Valeur indiquant le code status d’une routine indiquant une défaillance.

[in] Line

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.

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 de l’OriginatorId plus la taille de la partie fixe du journal des erreurs d’E/S dépasse 255, aucune entrée du 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, RxLogEventDirect 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

RxLogEventWithAnnotation

RxLogEventWithBufferDirect

_RxLog