summaryrefslogtreecommitdiff
path: root/third_party/BaseClasses/perflog.h
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/BaseClasses/perflog.h')
-rw-r--r--third_party/BaseClasses/perflog.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/third_party/BaseClasses/perflog.h b/third_party/BaseClasses/perflog.h
new file mode 100644
index 00000000..503a1304
--- /dev/null
+++ b/third_party/BaseClasses/perflog.h
@@ -0,0 +1,56 @@
+//------------------------------------------------------------------------------
+// File: perflog.h
+//
+// Desc: Performance logging framework.
+//
+// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
+//------------------------------------------------------------------------------
+
+typedef struct _PERFLOG_LOGGING_PARAMS {
+ GUID ControlGuid;
+ void (*OnStateChanged)(void);
+ ULONG NumberOfTraceGuids;
+ TRACE_GUID_REGISTRATION TraceGuids[ANYSIZE_ARRAY];
+} PERFLOG_LOGGING_PARAMS, *PPERFLOG_LOGGING_PARAMS;
+
+BOOL
+PerflogInitIfEnabled(
+ IN HINSTANCE hInstance,
+ __in PPERFLOG_LOGGING_PARAMS LogParams
+ );
+
+BOOL
+PerflogInitialize (
+ __in PPERFLOG_LOGGING_PARAMS LogParams
+ );
+
+VOID
+PerflogShutdown (
+ VOID
+ );
+
+VOID
+PerflogTraceEvent (
+ __in PEVENT_TRACE_HEADER Event
+ );
+
+extern ULONG PerflogEnableFlags;
+extern UCHAR PerflogEnableLevel;
+extern ULONG PerflogModuleLevel;
+extern TRACEHANDLE PerflogTraceHandle;
+extern TRACEHANDLE PerflogRegHandle;
+
+#define PerflogTracingEnabled() (PerflogTraceHandle != 0)
+
+#define PerflogEvent( _x_ ) PerflogTraceEventLevel _x_
+
+VOID
+PerflogTraceEventLevel(
+ ULONG Level,
+ __in PEVENT_TRACE_HEADER Event
+ );
+
+VOID
+PerflogTraceEvent (
+ __in PEVENT_TRACE_HEADER Event
+ );