Sync with trunk (r48545)
[reactos.git] / include / xdk / wmifuncs.h
1 /******************************************************************************
2 * WMI Library Support Functions *
3 ******************************************************************************/
4
5 #ifdef RUN_WPP
6 #if (NTDDI_VERSION >= NTDDI_WINXP)
7 NTKERNELAPI
8 NTSTATUS
9 __cdecl
10 WmiTraceMessage(
11 IN TRACEHANDLE LoggerHandle,
12 IN ULONG MessageFlags,
13 IN LPGUID MessageGuid,
14 IN USHORT MessageNumber,
15 IN ...);
16 #endif
17 #endif /* RUN_WPP */
18
19 #if (NTDDI_VERSION >= NTDDI_WINXP)
20
21 NTKERNELAPI
22 NTSTATUS
23 NTAPI
24 WmiQueryTraceInformation(
25 IN TRACE_INFORMATION_CLASS TraceInformationClass,
26 OUT PVOID TraceInformation,
27 IN ULONG TraceInformationLength,
28 OUT PULONG RequiredLength OPTIONAL,
29 IN PVOID Buffer OPTIONAL);
30
31 #if 0
32 /* FIXME: Get va_list from where? */
33 NTKERNELAPI
34 NTSTATUS
35 NTAPI
36 WmiTraceMessageVa(
37 IN TRACEHANDLE LoggerHandle,
38 IN ULONG MessageFlags,
39 IN LPGUID MessageGuid,
40 IN USHORT MessageNumber,
41 IN va_list MessageArgList);
42 #endif
43
44 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
45
46 #ifndef TRACE_INFORMATION_CLASS_DEFINE
47
48 #if (NTDDI_VERSION >= NTDDI_WINXP)
49 NTKERNELAPI
50 NTSTATUS
51 NTAPI
52 WmiQueryTraceInformation(
53 IN TRACE_INFORMATION_CLASS TraceInformationClass,
54 OUT PVOID TraceInformation,
55 IN ULONG TraceInformationLength,
56 OUT PULONG RequiredLength OPTIONAL,
57 IN PVOID Buffer OPTIONAL);
58 #endif
59
60 #define TRACE_INFORMATION_CLASS_DEFINE
61
62 #endif /* TRACE_INFOPRMATION_CLASS_DEFINE */
63
64 #if (NTDDI_VERSION >= NTDDI_VISTA)
65
66 NTSTATUS
67 NTKERNELAPI
68 NTAPI
69 EtwRegister(
70 IN LPCGUID ProviderId,
71 IN PETWENABLECALLBACK EnableCallback OPTIONAL,
72 IN PVOID CallbackContext OPTIONAL,
73 OUT PREGHANDLE RegHandle);
74
75 NTSTATUS
76 NTKERNELAPI
77 NTAPI
78 EtwUnregister(
79 IN REGHANDLE RegHandle);
80
81 BOOLEAN
82 NTKERNELAPI
83 NTAPI
84 EtwEventEnabled(
85 IN REGHANDLE RegHandle,
86 IN PCEVENT_DESCRIPTOR EventDescriptor);
87
88 BOOLEAN
89 NTKERNELAPI
90 NTAPI
91 EtwProviderEnabled(
92 IN REGHANDLE RegHandle,
93 IN UCHAR Level,
94 IN ULONGLONG Keyword);
95
96 NTSTATUS
97 NTKERNELAPI
98 NTAPI
99 EtwActivityIdControl(
100 IN ULONG ControlCode,
101 IN OUT LPGUID ActivityId);
102
103 NTSTATUS
104 NTKERNELAPI
105 NTAPI
106 EtwWrite(
107 IN REGHANDLE RegHandle,
108 IN PCEVENT_DESCRIPTOR EventDescriptor,
109 IN LPCGUID ActivityId OPTIONAL,
110 IN ULONG UserDataCount,
111 IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
112
113 NTSTATUS
114 NTKERNELAPI
115 NTAPI
116 EtwWriteTransfer(
117 IN REGHANDLE RegHandle,
118 IN PCEVENT_DESCRIPTOR EventDescriptor,
119 IN LPCGUID ActivityId OPTIONAL,
120 IN LPCGUID RelatedActivityId OPTIONAL,
121 IN ULONG UserDataCount,
122 IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
123
124 NTSTATUS
125 NTKERNELAPI
126 NTAPI
127 EtwWriteString(
128 IN REGHANDLE RegHandle,
129 IN UCHAR Level,
130 IN ULONGLONG Keyword,
131 IN LPCGUID ActivityId OPTIONAL,
132 IN PCWSTR String);
133
134 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
135
136 #if (NTDDI_VERSION >= NTDDI_WIN7)
137 NTSTATUS
138 NTKERNELAPI
139 NTAPI
140 EtwWriteEx(
141 IN REGHANDLE RegHandle,
142 IN PCEVENT_DESCRIPTOR EventDescriptor,
143 IN ULONG64 Filter,
144 IN ULONG Flags,
145 IN LPCGUID ActivityId OPTIONAL,
146 IN LPCGUID RelatedActivityId OPTIONAL,
147 IN ULONG UserDataCount,
148 IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
149 #endif
150
151
152