Share via


Configuration et démarrage d’une session d’enregistreur d’événements privés

Une session de suivi d’événements privée est une session de suivi d’événements en mode utilisateur qui s’exécute dans le même processus que ses fournisseurs de trace d’événements. La session privée et les fournisseurs qu’elle active doivent tous se trouver dans le même processus. L’avantage de l’utilisation d’une session privée est que la session privée ne compte pas sur le nombre maximal de 64 sessions de suivi d’événements qui s’exécutent simultanément.

La configuration et le démarrage d’une session privée sont similaires au démarrage d’une session de suivi d’événements normale. La différence est que le membre Wnode.Guid de la structure EVENT_TRACE_PROPERTIES doit contenir le GUID du fournisseur, et non la session, et que le fournisseur doit déjà avoir inscrit le GUID. Notez que si vous définissez également le mode de journalisation EVENT_TRACE_PRIVATE_IN_PROC, vous pouvez utiliser un GUID différent pour la session et le fournisseur. Pour plus d’informations sur le démarrage d’une session de suivi d’événements normale, consultez Configuration et démarrage d’une session de suivi d’événements.

Notez que vous ne pouvez pas démarrer, arrêter ou vider une session de trace privée à partir de DllMain ; vous devez le faire dans les routines d’initialisation et de finalisation de la DLL.

De Windows 8.1 à Windows 10, version 1607, les filtres de charge utile, d’étendue et de marche de pile d’événements peuvent être utilisés par la fonction EnableTraceEx2 et les structures ENABLE_TRACE_PARAMETERS et EVENT_FILTER_DESCRIPTOR pour filtrer sur des conditions spécifiques dans une session d’enregistreur d’événements. Pour plus d’informations sur les filtres de charge utile d’événements, consultez les fonctions TdhCreatePayloadFilter et TdhAggregatePayloadFilters , ainsi que les structures ENABLE_TRACE_PARAMETERS, EVENT_FILTER_DESCRIPTOR et PAYLOAD_FILTER_PREDICATE .

À compter de Windows 10, version 1703, les utilisateurs à faible privilège peuvent maintenant démarrer une session d’enregistreur d’événements privés dans les processus qu’ils ont démarrés. Le fournisseur n’a plus besoin d’être inscrit avant d’activer ou de démarrer la session privée, ce qui signifie que le fournisseur est « préactivé » comme les fournisseurs de session non privés. Il existe une limite de 8 enregistreurs privés à l’échelle du système à un processus individuel. Pour améliorer les performances dans les scénarios inter-processus, il est recommandé d’utiliser le filtrage pour les API de session (y compris ControlTrace, QueryTrace, StartTrace et StopTrace) lors du démarrage d’un journal privé à l’échelle du système. Notez que les mêmes filtres doivent être passés à toutes les API de session. Pour plus d’informations sur les filtres, consultez EVENT_TRACE_PROPERTIES_V2.

Pour plus d’informations sur le démarrage d’une session de suivi d’événements, consultez Configuration et démarrage d’une session de suivi d’événements.

Pour plus d’informations sur le démarrage d’une session d’enregistreur d’événements de noyau NT, consultez Configuration et démarrage de la session d’enregistreur d’événements du noyau NT.

Pour plus d’informations sur le démarrage d’une session Global Logger, consultez Configuration et démarrage d’une session Global Logger.

Pour plus d’informations sur le démarrage d’une session AutoLogger, consultez Configuration et démarrage d’une session autologger.

Configuration et démarrage d’une session SystemTraceProvider

Configuration et démarrage d’une session AutoLogger

Configuration et démarrage d’une session de suivi d’événements

Configuration et démarrage de la session d’enregistreur d’événements du noyau NT

EnableTraceEx2

ENABLE_TRACE_PARAMETERS

EVENT_TRACE_PROPERTIES

EVENT_TRACE_PROPERTIES_V2

EVENT_FILTER_DESCRIPTOR

PAYLOAD_FILTER_PREDICATE

TdhAggregatePayloadFilters

TdhCreatePayloadFilter

Mise à jour d’une session de suivi des événements