Share via


CreateTraceInstanceId, fonction (evntrace.h)

Un fournisseur d’événements basé sur RegisterTraceGuids (« Classique ») peut utiliser la fonction CreateTraceInstanceId pour créer un identificateur de transaction unique et le mapper à un handle d’inscription. Le fournisseur utilise ensuite l’identificateur de transaction lors de l’appel de la fonction TraceEventInstance pour marquer les événements comme appartenant à la transaction spécifiée. L’identificateur de transaction peut être utilisé par les outils d’analyse des traces pour regrouper des événements.

Syntaxe

ULONG WMIAPI CreateTraceInstanceId(
  [in]  HANDLE               RegHandle,
  [out] PEVENT_INSTANCE_INFO InstInfo
);

Paramètres

[in] RegHandle

Gérez une classe de trace d’événement inscrite. La fonction RegisterTraceGuids retourne ce handle dans le membre RegHandle de la structure TRACE_GUID_REGISTRATION .

[out] InstInfo

Pointeur vers une structure EVENT_INSTANCE_INFO . Le membre InstanceId de cette structure contient l’identificateur de transaction.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour est l’un des codes d’erreur système. Voici quelques erreurs courantes et leurs causes.

  • ERROR_INVALID_PARAMETER

    Une des conditions suivantes est vraie :

    • RegHandle a la valeur NULL.
    • pInstInfo a la valeur NULL.

Remarques

Les fournisseurs basés sur RegisterTraceGuids (« Classic ») appellent cette fonction. Utilisez EventActivityIdControl pour des fonctionnalités similaires avec un fournisseur basé sur EventRegister (« Crimson »).

ETW crée l’identificateur dans le processus en mode utilisateur, de sorte qu’il peut retourner le même nombre pour différentes instances dans différents processus. La valeur démarre à partir du 1 moment où InstanceId atteint la valeur maximale pour un ULONG. Seuls les fournisseurs en mode utilisateur peuvent appeler la fonction CreateTraceInstanceId (les pilotes ne peuvent pas appeler cette fonction).

Exemples

Pour obtenir un exemple qui utilise CreateTraceInstanceId, consultez Tracing Event Instances.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête evntrace.h
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

RegisterTraceGuids

TraceEventInstance