1 /*++
2 
3 Copyright (c) Microsoft Corporation
4 
5 Module Name:
6 
7     FxWmiCompat.hpp
8 
9 Abstract:
10 
11     Undefines WMI ntos exports used by WPP and redirects them to our own
12     functions so that we can build User and Kernel libraries.
13 
14 Author:
15 
16 
17 
18 Environment:
19 
20     Both kernel and user mode
21 
22 Revision History:
23 
24 --*/
25 
26 #ifndef __FX_WMI_COMPAT_H__
27 #define __FX_WMI_COMPAT_H__
28 
29 #include <evntrace.h>
30 
31 #ifdef WPP_TRACE
32 #undef WPP_TRACE
33 #endif
34 
35 #define WPP_TRACE FxWmiTraceMessage
36 
37 extern "C"
38 _Must_inspect_result_
39 NTSTATUS
40 FxWmiTraceMessage(
41     __in TRACEHANDLE  LoggerHandle,
42     __in ULONG        MessageFlags,
43     __in LPGUID       MessageGuid,
44     __in USHORT       MessageNumber,
45          ...
46     );
47 
48 #define WPP_IFR   FxIFR
49 
50 extern "C"
51 _Must_inspect_result_
52 NTSTATUS
53 FxIFR(
54     __in PFX_DRIVER_GLOBALS FxDriverGlobals,
55     __in UCHAR        MessageLevel,
56     __in ULONG        MessageFlags,
57     __in LPGUID       MessageGuid,
58     __in USHORT       MessageNumber,
59          ...
60     );
61 
62 #if ((FX_CORE_MODE)==(FX_CORE_USER_MODE))
63 #undef WmiQueryTraceInformation
64 #define WmiQueryTraceInformation FxWmiQueryTraceInformation
65 
66 extern "C"
67 _Must_inspect_result_
68 NTSTATUS
69 FxWmiQueryTraceInformation(
70     __in TRACE_INFORMATION_CLASS TraceInformationClass,
71     __out_bcount(TraceInformationLength) PVOID TraceInformation,
72     __in ULONG TraceInformationLength,
73     __out_opt PULONG RequiredLength,
74     __in_opt PVOID Buffer
75     );
76 
77 #endif
78 
79 #endif __FX_WMI_COMPAT_H__
80