struktura ANALYSIS_CALLBACKS
Zestaw SDK kompilacji języka C++ Szczegółowe informacje jest zgodny z programem Visual Studio 2017 lub nowszym. Aby zapoznać się z dokumentacją dla tych wersji, ustaw kontrolkę selektora wersji programu Visual Studio dla tego artykułu na program Visual Studio 2017 lub nowszy. Znajduje się on w górnej części spisu treści na tej stronie.
Struktura ANALYSIS_CALLBACKS
jest używana podczas inicjowania obiektu ANALYSIS_DESCRIPTOR lub RELOG_DESCRIPTOR . Określa, które funkcje mają być wywoływane podczas analizy lub ponownego rejestrowania śledzenia zdarzeń dla systemu Windows (ETW).
Składnia
typedef struct ANALYSIS_CALLBACKS_TAG
{
OnAnalysisEventFunc OnStartActivity;
OnAnalysisEventFunc OnStopActivity;
OnAnalysisEventFunc OnSimpleEvent;
OnTraceInfoFunc OnTraceInfo;
OnBeginEndPassFunc OnBeginAnalysis;
OnBeginEndPassFunc OnEndAnalysis;
OnBeginEndPassFunc OnBeginAnalysisPass;
OnBeginEndPassFunc OnEndAnalysisPass;
} ANALYSIS_CALLBACKS;
Członkowie
Nazwa/nazwisko | opis |
---|---|
OnStartActivity |
Wywoływane w celu przetworzenia zdarzenia rozpoczęcia działania. |
OnStopActivity |
Wywoływane w celu przetworzenia zdarzenia zatrzymania działania. |
OnSimpleEvent |
Wywoływane w celu przetworzenia prostego zdarzenia. |
OnTraceInfo |
W przypadku sesji analizy wywoływanych na początku każdego przebiegu analizy. W przypadku sesji ponownego rejestrowania, wywoływanych na początku każdego przebiegu analizy, i ponownie na początku przebiegu ponownego rejestrowania. Ta funkcja jest wywoływana tylko po wywołaniu metody OnBeginAnalysisPass. |
OnBeginAnalysis |
W przypadku sesji analizy wywoływanych przed rozpoczęciem jakiejkolwiek analizy. W przypadku sesji ponownego rejestrowania, wywoływane dwa razy przed rozpoczęciem fazy analizy: raz, aby ogłosić rozpoczęcie sesji ponownego rejestrowania, a po raz kolejny ogłosić początek fazy analizy. |
OnEndAnalysis |
W przypadku sesji analizy ta funkcja jest wywoływana po zakończeniu wszystkich przebiegów analizy. W przypadku sesji ponownego rejestrowania ta funkcja jest wywoływana po zakończeniu wszystkich przebiegów analizy fazy analizy. Następnie jest wywoływany ponownie po zakończeniu ponownego rejestrowania. |
OnBeginAnalysisPass |
Wywoływana podczas rozpoczynania analizy lub przekazywania ponownego rejestrowania przed przetworzeniem dowolnego zdarzenia. |
OnEndAnalysisPass |
Wywołana podczas kończenia przebiegu analizy lub przekazywania ponownego rejestrowania po przetworzeniu wszystkich zdarzeń. |
Uwagi
Faza analizy sesji ponownego rejestrowania jest uznawana za część sesji ponownego rejestrowania i może zawierać wiele przebiegów analizy. Z tego powodu OnBeginAnalysis
jest wywoływany dwa razy w wierszu na początku sesji ponownego rejestrowania. OnEndAnalysis
jest wywoływana na końcu fazy analizy, przed rozpoczęciem fazy ponownego rejestrowania i po raz kolejny na końcu fazy ponownego rejestrowania. Faza ponownego rejestrowania zawsze zawiera pojedynczy pass ponownego rejestrowania.
Analizatory mogą być częścią zarówno analizy, jak i fazy ponownego rejestrowania sesji rejestrowania. Te analizatory mogą określić, która faza jest obecnie w toku, śledząc pary OnBeginAnalysis i OnEndAnalysis
wywołania. Dwa OnBeginAnalysis
wywołania bez żadnego OnEndAnalysis
wywołania oznaczają, że faza analizy jest w toku. Dwa OnBeginAnalysis
wywołania i jedno OnEndAnalysis
wywołanie oznacza, że faza ponownego rejestrowania trwa. Dwie metody OnBeginAnalysis i dwa OnEndAnalysis
wywołania oznaczają zakończenie obu faz.
Wszystkie elementy członkowskie ANALYSIS_CALLBACKS
struktury muszą wskazywać prawidłową funkcję. Aby uzyskać więcej informacji na temat akceptowanych podpisów funkcji, zobacz OnAnalysisEventFunc, OnTraceInfoFunc i OnBeginEndPassFunc.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla