Partager via


Fonction EtwWriteTransfer (wdm.h)

La fonction EtwWriteTransfer marque un événement qui lie deux activités ; ce type d’événement est appelé d’é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, 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. Le ActivityId permet de regrouper les é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 à l’événement. L'RelatedActivityID permet de regrouper les événements associés 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 de retour

EtwWriteTransfer retourne STATUS_SUCCESS si l’événement a été publié avec succès.

Remarques

Vous pouvez appeler EtwWriteTransfer à n’importe quel IRQL. Toutefois, quand IRQL est supérieur à APC_LEVEL, toutes les données transmises au EtwWrite, EtwWriteString, fonctions EtwWriteTransfer ne doivent pas être paginables. Autrement dit, toute routine en mode noyau qui s’exécute à IRQL supérieure à APC_LEVEL ne peut pas accéder à la mémoire paginable. Les données transmises au EtwWrite, EtwWriteString, fonctions EtwWriteTransfer doivent résider dans la mémoire de l’espace système, quel que soit l’irQL.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête wdm.h (include 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