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