9 #pragma warning (disable:4201) 27 WMIDPREQUESTCODE RequestCode,
29 __out
ULONG* BufferSize,
41 (__stdcall * _RegisterTraceGuids) (
42 __in IN WMIDPREQUEST RequestAddress,
52 #define REGISTERTRACEGUIDS_NAME "RegisterTraceGuidsW" 57 (__stdcall * _RegisterTraceGuids) (
58 __in IN WMIDPREQUEST RequestAddress,
68 #define REGISTERTRACEGUIDS_NAME "RegisterTraceGuidsA" 73 (__stdcall * _UnregisterTraceGuids) (
78 (__stdcall * _GetTraceLoggerHandle) (
83 (__stdcall * _GetTraceEnableLevel) (
88 (__stdcall * _GetTraceEnableFlags) (
93 (__stdcall * _TraceEvent) (
132 DWORD dwKeySize, dwKeyType, dwKeyValue;
134 DWORD dwSize = GetModuleFileName(
135 (hInstance ? hInstance : GetModuleHandle(
NULL )),
143 pName = _tcsrchr(szFullName,
'\\');
151 (
void)StringCchPrintf(szInfo,
NUMELMS(szInfo),TEXT(
"SOFTWARE\\Debug\\%s"),
pName);
162 if (lReturn != ERROR_SUCCESS) {
166 dwKeySize =
sizeof(DWORD);
167 lReturn = RegQueryValueEx(
172 (LPBYTE) &dwKeyValue,
175 if ((lReturn == ERROR_SUCCESS) && (dwKeyType == REG_DWORD))
180 RegCloseKey(hModuleKey);
184 IN HINSTANCE hInstance,
211 _Advapi32 = GetModuleHandle (_T(
"ADVAPI32.DLL"));
217 *((FARPROC*) &_UnregisterTraceGuids) = GetProcAddress (
_Advapi32,
"UnregisterTraceGuids");
218 *((FARPROC*) &_GetTraceLoggerHandle) = GetProcAddress (
_Advapi32,
"GetTraceLoggerHandle");
219 *((FARPROC*) &_GetTraceEnableLevel) = GetProcAddress (
_Advapi32,
"GetTraceEnableLevel");
220 *((FARPROC*) &_GetTraceEnableFlags) = GetProcAddress (
_Advapi32,
"GetTraceEnableFlags");
221 *((FARPROC*) &_TraceEvent) = GetProcAddress (
_Advapi32,
"TraceEvent");
223 if (_RegisterTraceGuids ==
NULL ||
224 _UnregisterTraceGuids ==
NULL ||
225 _GetTraceEnableLevel ==
NULL ||
226 _GetTraceEnableFlags ==
NULL ||
227 _TraceEvent ==
NULL) {
242 &LogParams->ControlGuid,
243 LogParams->NumberOfTraceGuids,
244 LogParams->TraceGuids,
249 return (status == ERROR_SUCCESS);
278 WMIDPREQUESTCODE RequestCode,
280 __out
ULONG* BufferSize,
286 UNREFERENCED_PARAMETER (Context);
290 status = ERROR_SUCCESS;
292 switch (RequestCode) {
294 case WMI_ENABLE_EVENTS:
300 case WMI_DISABLE_EVENTS:
307 status = ERROR_INVALID_PARAMETER;
324 __in PEVENT_TRACE_HEADER Event
337 __in PEVENT_TRACE_HEADER Event
__in IN PVOID IN LPCGUID IN ULONG __in IN PTRACE_GUID_REGISTRATION IN LPCSTR MofImagePath
VOID PerflogReadModuleLevel(HINSTANCE hInstance)
ULONG(__stdcall *_RegisterTraceGuids)(__in IN WMIDPREQUEST RequestAddress
BOOL PerflogInitIfEnabled(IN HINSTANCE hInstance, __in IN PPERFLOG_LOGGING_PARAMS LogParams)
VOID PerflogTraceEvent(__in PEVENT_TRACE_HEADER Event)
TRACEHANDLE(__stdcall *_GetTraceLoggerHandle)(__in PVOID Buffer)
BOOL EventTracingAvailable
VOID PerflogShutdown(VOID)
__in IN PVOID IN LPCGUID ControlGuid
BOOL PerflogInitialize(__in IN PPERFLOG_LOGGING_PARAMS LogParams)
TRACEHANDLE PerflogRegHandle
__in PEVENT_TRACE_HEADER EventTrace
ULONG WINAPI PerflogCallback(WMIDPREQUESTCODE RequestCode, __in PVOID Context, __out ULONG *BufferSize, __in PVOID Buffer)
VOID PerflogTraceEventLevel(ULONG Level, __in PEVENT_TRACE_HEADER Event)
#define REGISTERTRACEGUIDS_NAME
__in IN PVOID IN LPCGUID IN ULONG __in IN PTRACE_GUID_REGISTRATION IN LPCSTR IN LPCSTR MofResourceName
__in IN PVOID IN LPCGUID IN ULONG __in IN PTRACE_GUID_REGISTRATION TraceGuidReg
__in IN PVOID RequestContext
UCHAR(__stdcall *_GetTraceEnableLevel)(TRACEHANDLE TraceHandle)
void(* OnStateChanged)(void)
__in IN PVOID IN LPCGUID IN ULONG __in IN PTRACE_GUID_REGISTRATION IN LPCSTR IN LPCSTR __out OUT PTRACEHANDLE RegistrationHandle
__in IN PVOID IN LPCGUID IN ULONG GuidCount
TRACEHANDLE PerflogTraceHandle