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
ouNTDDI_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) ouSTATUS_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 retourneHRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
(mode utilisateur) ouSTATUS_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 |