Fonction EtwWriteTransfer (wdm.h)
La fonction EtwWriteTransfer marque un événement qui lie deux activités ensemble ; ce type d’événement est appelé événement de transfert. Un événement de transfert peut contenir les mêmes données définies par l’utilisateur, les mêmes champs et est soumis aux mêmes règles que d’autres événements.
Syntaxe
NTSTATUS EtwWriteTransfer(
[in] REGHANDLE RegHandle,
[in] PCEVENT_DESCRIPTOR EventDescriptor,
[in, optional] LPCGUID ActivityId,
[in, optional] LPCGUID RelatedActivityId,
[in] ULONG UserDataCount,
[in, optional] PEVENT_DATA_DESCRIPTOR UserData
);
Paramètres
[in] RegHandle
Pointeur vers le handle d’inscription du fournisseur d’événements, qui est retourné par la fonction EtwRegister si l’inscription du fournisseur d’événements réussit.
[in] EventDescriptor
Pointeur vers la structure EVENT_DESCRIPTOR.
[in, optional] ActivityId
Identificateur qui indique l’activité associée à l’événement. L’Id d’activité fournit un moyen de regrouper des événements associés et est utilisé dans le suivi de bout en bout. Cet identificateur est facultatif et peut être NULL.
[in, optional] RelatedActivityId
Identificateur qui indique l’activité associée associée à l’événement. RelatedActivityID permet de regrouper des événements connexes et est utilisé dans le suivi de bout en bout.
[in] UserDataCount
Nombre d’éléments dans un tableau de structures EVENT_DATA_DESCRIPTOR.
[in, optional] UserData
Pointeur vers le premier élément d’un tableau de structures EVENT_DATA_DESCRIPTOR.
Valeur retournée
EtwWriteTransfer retourne STATUS_SUCCESS si l’événement a été correctement publié.
Remarques
Vous pouvez appeler EtwWriteTransfer à n’importe quel IRQL. Toutefois, lorsque la valeur IRQL est supérieure à APC_LEVEL, les données transmises aux fonctions EtwWrite, EtwWriteString et EtwWriteTransfer ne doivent pas être paginables. Autrement dit, toute routine en mode noyau qui s’exécute sur IRQL supérieure à APC_LEVEL ne peut pas accéder à la mémoire paginable. Les données transmises aux fonctions EtwWrite, EtwWriteString et EtwWriteTransfer doivent résider dans la mémoire de l’espace système, quel que soit l’IRQL.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe ; Ntdll.dll |
IRQL | N’importe quel niveau (voir la section Commentaires) |