Partager via


Fonction TraceLoggingSetInformation (traceloggingprovider.h)

Configure un fournisseur TraceLogging en appelant EventSetInformation.

Syntaxe

TLG_STATUS TraceLoggingSetInformation(
  TraceLoggingHProvider hProvider,
  EVENT_INFO_CLASS      informationClass,
  PVOID                 pvInformation,
  ULONG                 cbInformation
);

Paramètres

hProvider

Gérez le fournisseur TraceLogging à configurer. Le fournisseur doit être dans l’état inscrit .

informationClass

EVENT_INFO_CLASS du paramètre à configurer.

pvInformation

Mémoire tampon d’entrée avec la valeur du paramètre à configurer. Le format de cette mémoire tampon dépend de la valeur du paramètre informationClass .

cbInformation

Taille, en octets, des données dans la mémoire tampon d’entrée.

Valeur retournée

Si vous appelez cette fonction à partir du code du mode utilisateur, la fonction retourne un HRESULT. Utilisez la SUCCEEDED() macro pour déterminer si la fonction réussit.

Si vous appelez cette fonction à partir du code en mode noyau, la fonction retourne un NTSTATUS. Utilisez la NT_SUCCESS() macro pour déterminer si la fonction réussit.

Remarques

Cette fonction sert de wrapper autour de la fonction EventSetInformation .

La fonction EventSetInformation n’est pas disponible sur toutes les versions de Windows. Le comportement par défaut de TraceLoggingSetInformation dépend des valeurs de compilation des WINVER macros (mode utilisateur) ou NTDDI_VERSION (mode noyau) :

  • Si la version cible de Windows (comme spécifié par WINVER ou NTDDI_VERSION) est connue pour prendre en charge EventSetInformation , TraceLoggingSetInformation appelle directement EventSetInformation.
  • Sinon, TraceLoggingSetInformation utilise GetProcAddress (mode utilisateur) ou MmGetSystemRoutineAddress (mode noyau) pour localiser et appeler EventSetInformation. En cas d’échec, TraceLoggingSetInformation retourne HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) (mode utilisateur) ou STATUS_NOT_SUPPORTED (mode noyau).

Pour remplacer le comportement par défaut de cette fonction, définissez la TLG_HAVE_EVENT_SET_INFORMATION macro avant #include <TraceLoggingProvider.h>de :

  • Si vous #define TLG_HAVE_EVENT_SET_INFORMATION 0 alors TraceLoggingSetInformation ne fait rien et retourne HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) (mode utilisateur) ou STATUS_ENTRYPOINT_NOT_FOUND (mode noyau).
  • Si vous #define TLG_HAVE_EVENT_SET_INFORMATION 1 alors TraceLoggingSetInformation appellera directement EventSetInformation.
  • Si vous #define TLG_HAVE_EVENT_SET_INFORMATION 2 alors TraceLoggingSetInformation appelleRa EventSetInformation via GetProcAddress (mode utilisateur) ou MmGetSystemRoutineAddress (mode noyau).

Pour plus d’informations, reportez-vous aux commentaires de l’en-tête TraceLoggingProvider.h concernant la TLG_HAVE_EVENT_SET_INFORMATION macro.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
En-tête traceloggingprovider.h
Bibliothèque Advapi32.lib

Voir aussi

TraceLoggingRegister

EventSetInformation

EVENT_INFO_CLASS