В настоящее время я пытаюсь отслеживать некоторые события при выполнении задач из программы на C#. В С# мне удалось выполнить обратные вызовы для этих событий с помощью пакета TraceEvent Nuget от Microsoft. Можно ли получить события из TplEtwProvider.cs в C++, используя evntprov.h и evntrace.h?
Я пробовал много разных подходов, используя GUID из TplEtwProvider, но у меня понятия не имею, возможно ли это вообще.
Когда я пытаюсь запустить, включить, открыть и контролировать трассировку, все работает нормально, но когда я вызываю функцию ProcessTrace, она выдает ошибку INVALID_HANDLE
#include
#include
#include
#include
void WINAPI EtwEventCallback(PEVENT_RECORD eventRecord)
{
std::cout LoggerNameOffset = sizeof(EVENT_TRACE_PROPERTIES);
// Start the trace session
TRACEHANDLE sessionHandle;
ULONG status = StartTraceW(&sessionHandle, L"TestSessions", sessionProperties);
if (status != ERROR_SUCCESS) {
std::cerr
Подробнее здесь: https://stackoverflow.com/questions/790 ... rovider-cs