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 |