Поделиться через


Структура RELOG_DESCRIPTOR

Пакет SDK Аналитика для сборки C++ совместим с Visual Studio 2017 и более поздними версиями. Чтобы увидеть документацию для этих версий, установите в данной статье селектор Версия Visual Studio в Visual Studio 2017 и более поздних версий. Он находится в верхней части оглавления на этой странице.

Структура RELOG_DESCRIPTOR используется с функциями RelogA и RelogW. В ней описывается, как следует повторно записывать трассировку событий Windows (ETW).

Синтаксис

typedef struct RELOG_DESCRIPTOR_TAG
{
    unsigned                NumberOfAnalysisPasses;
    ANALYSIS_CALLBACKS      AnalysisCallbacks;
    RELOG_CALLBACKS         RelogCallbacks;
    unsigned long long      SystemEventsRetentionFlags;
    void*                   AnalysisContext;
    void*                   RelogContext;
} RELOG_DESCRIPTOR;

Участники

Имя Описание
NumberOfAnalysisPasses Количество проходов анализа, которые следует выполнить во время трассировки событий Windows на этапе анализа сеанса повторной записи в журнал.
AnalysisCallbacks Объект ANALYSIS_CALLBACKS, указывающий, какие функции следует вызывать во время этапа анализа сеанса повторной записи в журнал.
RelogCallbacks Объект RELOG_CALLBACKS, указывающий, какие функции следует вызывать во время этапа повторной записи в журнал сеанса повторной записи в журнал.
SystemEventsRetentionFlags Битовая маска RELOG_RETENTION_SYSTEM_EVENT_FLAGS, указывающая, какие системные события трассировки событий Windows следует сохранить в повторно записанных трассировках.
AnalysisContext Пользовательский контекст, передаваемый в качестве аргумента всем функциям обратного вызова, указанным в AnalysisCallbacks.
RelogContext Пользовательский контекст, передаваемый в качестве аргумента всем функциям обратного вызова, указанным в RelogCallbacks.

Замечания

Повторная запись трассировки событий Windows во время сеанса повторной записи управляется пользователем с помощью функций обратного вызова, указанных в RelogCallbacks. Однако системные события трассировки событий Windows, такие как примеры ЦП, не передаются в эти функции обратного вызова. Используйте поле SystemEventsRetentionFlags для управления повторной записью системных событий трассировки событий Windows.

Структуры AnalysisCallbacks и RelogCallbacks принимают только указатели на функции, не являющиеся членами. Это ограничение можно обойти, установив для них указатель объекта. Этот указатель объекта будет передан в качестве аргумента для всех функций обратного вызова, не являющихся членами. Используйте этот указатель для вызова функций-членов из функций обратного вызова, не являющихся членами.

Этап анализа сеанса повторной записи всегда выполняется перед этапом повторной записи.