Partager via


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)

Voir aussi

EtwWrite

EtwWriteString