DotNetDupe 4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Loading...
Searching...
No Matches
EtwLogReader.cpp File Reference
#include "pch.h"
#include "System/Diagnostics/EtwLogReader.h"
#include "System/ArgumentException.h"
#include "System/InvalidOperationException.h"
#include "System/UnauthorizedAccessException.h"
#include "System/TimeProvider.h"
#include "System/Utils/StringConvert.h"
#include <mutex>
#include <vector>
#include <map>
#include <windows.h>
#include <winevt.h>

Go to the source code of this file.

Namespaces

namespace  DotNetDupe
namespace  DotNetDupe::System
namespace  DotNetDupe::System::Diagnostics

Functions

static std::wstring DotNetDupe::System::Diagnostics::BuildLevelQuery (EtwEventLevel level)
static void DotNetDupe::System::Diagnostics::ExtractLevelAndTime (PEVT_VARIANT pValues, EtwEvent &evt)
static void DotNetDupe::System::Diagnostics::ExtractProviderAndId (PEVT_VARIANT pValues, EtwEvent &evt)
static void DotNetDupe::System::Diagnostics::FilterChannelEvents (const std::vector< EtwEvent > &events, EtwEventLevel level, int iStartIndex, int iMaxEvents, Collections::Generic::List< EtwEvent > &lstEvents)
static void DotNetDupe::System::Diagnostics::HandleQueryFailure (DWORD err)
static bool DotNetDupe::System::Diagnostics::MatchEventLevelFilter (const EtwEvent &evt, EtwEventLevel level)
static void DotNetDupe::System::Diagnostics::PopulateEventProperties (EVT_HANDLE hContext, EVT_HANDLE hEvt, EtwEvent &evt)
static bool DotNetDupe::System::Diagnostics::QueryWin32LogRecordCount (const std::wstring &wChannel, unsigned long long &uCount)
static bool DotNetDupe::System::Diagnostics::RenderSystemProperties (EVT_HANDLE hContext, EVT_HANDLE hEvt, std::vector< BYTE > &vBuffer)

Variables

static std::map< String, std::vector< EtwEvent > > DotNetDupe::System::Diagnostics::s_mapChannelEvents
static std::mutex DotNetDupe::System::Diagnostics::s_mtxEtw
static std::vector< StringDotNetDupe::System::Diagnostics::s_vRegisteredChannels