Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenevntrace.h
Go to the documentation of this file.
00001 #pragma once 00002 00003 #define _EVNTRACE_ 00004 00005 #ifndef WMIAPI 00006 #ifndef MIDL_PASS 00007 #ifdef _WMI_SOURCE_ 00008 #define WMIAPI __stdcall 00009 #else 00010 #define WMIAPI DECLSPEC_IMPORT __stdcall 00011 #endif 00012 #endif /* MIDL_PASS */ 00013 #endif /* WMIAPI */ 00014 00015 #include <guiddef.h> 00016 00017 #ifdef __cplusplus 00018 extern "C" { 00019 #endif 00020 00021 DEFINE_GUID (EventTraceGuid, 0x68fdd900, 0x4a3e, 0x11d1, 0x84, 0xf4, 0x00, 0x00, 0xf8, 0x04, 0x64, 0xe3); 00022 DEFINE_GUID (SystemTraceControlGuid, 0x9e814aad, 0x3204, 0x11d2, 0x9a, 0x82, 0x00, 0x60, 0x08, 0xa8, 0x69, 0x39); 00023 DEFINE_GUID (EventTraceConfigGuid, 0x01853a65, 0x418f, 0x4f36, 0xae, 0xfc, 0xdc, 0x0f, 0x1d, 0x2f, 0xd2, 0x35); 00024 DEFINE_GUID (DefaultTraceSecurityGuid, 0x0811c1af, 0x7a07, 0x4a06, 0x82, 0xed, 0x86, 0x94, 0x55, 0xcd, 0xf7, 0x13); 00025 00026 #define KERNEL_LOGGER_NAMEW L"NT Kernel Logger" 00027 #define GLOBAL_LOGGER_NAMEW L"GlobalLogger" 00028 #define EVENT_LOGGER_NAMEW L"EventLog" 00029 #define DIAG_LOGGER_NAMEW L"DiagLog" 00030 00031 #define KERNEL_LOGGER_NAMEA "NT Kernel Logger" 00032 #define GLOBAL_LOGGER_NAMEA "GlobalLogger" 00033 #define EVENT_LOGGER_NAMEA "EventLog" 00034 #define DIAG_LOGGER_NAMEA "DiagLog" 00035 00036 #define MAX_MOF_FIELDS 16 00037 00038 #ifndef _TRACEHANDLE_DEFINED 00039 #define _TRACEHANDLE_DEFINED 00040 typedef ULONG64 TRACEHANDLE, *PTRACEHANDLE; 00041 #endif 00042 00043 #define SYSTEM_EVENT_TYPE 1 00044 00045 #define EVENT_TRACE_TYPE_INFO 0x00 00046 #define EVENT_TRACE_TYPE_START 0x01 00047 #define EVENT_TRACE_TYPE_END 0x02 00048 #define EVENT_TRACE_TYPE_STOP 0x02 00049 #define EVENT_TRACE_TYPE_DC_START 0x03 00050 #define EVENT_TRACE_TYPE_DC_END 0x04 00051 #define EVENT_TRACE_TYPE_EXTENSION 0x05 00052 #define EVENT_TRACE_TYPE_REPLY 0x06 00053 #define EVENT_TRACE_TYPE_DEQUEUE 0x07 00054 #define EVENT_TRACE_TYPE_RESUME 0x07 00055 #define EVENT_TRACE_TYPE_CHECKPOINT 0x08 00056 #define EVENT_TRACE_TYPE_SUSPEND 0x08 00057 #define EVENT_TRACE_TYPE_WINEVT_SEND 0x09 00058 #define EVENT_TRACE_TYPE_WINEVT_RECEIVE 0XF0 00059 00060 #define TRACE_LEVEL_NONE 0 00061 #define TRACE_LEVEL_CRITICAL 1 00062 #define TRACE_LEVEL_FATAL 1 00063 #define TRACE_LEVEL_ERROR 2 00064 #define TRACE_LEVEL_WARNING 3 00065 #define TRACE_LEVEL_INFORMATION 4 00066 #define TRACE_LEVEL_VERBOSE 5 00067 #define TRACE_LEVEL_RESERVED6 6 00068 #define TRACE_LEVEL_RESERVED7 7 00069 #define TRACE_LEVEL_RESERVED8 8 00070 #define TRACE_LEVEL_RESERVED9 9 00071 00072 #define EVENT_TRACE_TYPE_LOAD 0x0A 00073 00074 #define EVENT_TRACE_TYPE_IO_READ 0x0A 00075 #define EVENT_TRACE_TYPE_IO_WRITE 0x0B 00076 #define EVENT_TRACE_TYPE_IO_READ_INIT 0x0C 00077 #define EVENT_TRACE_TYPE_IO_WRITE_INIT 0x0D 00078 #define EVENT_TRACE_TYPE_IO_FLUSH 0x0E 00079 #define EVENT_TRACE_TYPE_IO_FLUSH_INIT 0x0F 00080 00081 #define EVENT_TRACE_TYPE_MM_TF 0x0A 00082 #define EVENT_TRACE_TYPE_MM_DZF 0x0B 00083 #define EVENT_TRACE_TYPE_MM_COW 0x0C 00084 #define EVENT_TRACE_TYPE_MM_GPF 0x0D 00085 #define EVENT_TRACE_TYPE_MM_HPF 0x0E 00086 #define EVENT_TRACE_TYPE_MM_AV 0x0F 00087 00088 #define EVENT_TRACE_TYPE_SEND 0x0A 00089 #define EVENT_TRACE_TYPE_RECEIVE 0x0B 00090 #define EVENT_TRACE_TYPE_CONNECT 0x0C 00091 #define EVENT_TRACE_TYPE_DISCONNECT 0x0D 00092 #define EVENT_TRACE_TYPE_RETRANSMIT 0x0E 00093 #define EVENT_TRACE_TYPE_ACCEPT 0x0F 00094 #define EVENT_TRACE_TYPE_RECONNECT 0x10 00095 #define EVENT_TRACE_TYPE_CONNFAIL 0x11 00096 #define EVENT_TRACE_TYPE_COPY_TCP 0x12 00097 #define EVENT_TRACE_TYPE_COPY_ARP 0x13 00098 #define EVENT_TRACE_TYPE_ACKFULL 0x14 00099 #define EVENT_TRACE_TYPE_ACKPART 0x15 00100 #define EVENT_TRACE_TYPE_ACKDUP 0x16 00101 00102 #define EVENT_TRACE_TYPE_GUIDMAP 0x0A 00103 #define EVENT_TRACE_TYPE_CONFIG 0x0B 00104 #define EVENT_TRACE_TYPE_SIDINFO 0x0C 00105 #define EVENT_TRACE_TYPE_SECURITY 0x0D 00106 00107 #define EVENT_TRACE_TYPE_REGCREATE 0x0A 00108 #define EVENT_TRACE_TYPE_REGOPEN 0x0B 00109 #define EVENT_TRACE_TYPE_REGDELETE 0x0C 00110 #define EVENT_TRACE_TYPE_REGQUERY 0x0D 00111 #define EVENT_TRACE_TYPE_REGSETVALUE 0x0E 00112 #define EVENT_TRACE_TYPE_REGDELETEVALUE 0x0F 00113 #define EVENT_TRACE_TYPE_REGQUERYVALUE 0x10 00114 #define EVENT_TRACE_TYPE_REGENUMERATEKEY 0x11 00115 #define EVENT_TRACE_TYPE_REGENUMERATEVALUEKEY 0x12 00116 #define EVENT_TRACE_TYPE_REGQUERYMULTIPLEVALUE 0x13 00117 #define EVENT_TRACE_TYPE_REGSETINFORMATION 0x14 00118 #define EVENT_TRACE_TYPE_REGFLUSH 0x15 00119 #define EVENT_TRACE_TYPE_REGKCBCREATE 0x16 00120 #define EVENT_TRACE_TYPE_REGKCBDELETE 0x17 00121 #define EVENT_TRACE_TYPE_REGKCBRUNDOWNBEGIN 0x18 00122 #define EVENT_TRACE_TYPE_REGKCBRUNDOWNEND 0x19 00123 #define EVENT_TRACE_TYPE_REGVIRTUALIZE 0x1A 00124 #define EVENT_TRACE_TYPE_REGCLOSE 0x1B 00125 #define EVENT_TRACE_TYPE_REGSETSECURITY 0x1C 00126 #define EVENT_TRACE_TYPE_REGQUERYSECURITY 0x1D 00127 #define EVENT_TRACE_TYPE_REGCOMMIT 0x1E 00128 #define EVENT_TRACE_TYPE_REGPREPARE 0x1F 00129 #define EVENT_TRACE_TYPE_REGROLLBACK 0x20 00130 #define EVENT_TRACE_TYPE_REGMOUNTHIVE 0x21 00131 00132 #define EVENT_TRACE_TYPE_CONFIG_CPU 0x0A 00133 #define EVENT_TRACE_TYPE_CONFIG_PHYSICALDISK 0x0B 00134 #define EVENT_TRACE_TYPE_CONFIG_LOGICALDISK 0x0C 00135 #define EVENT_TRACE_TYPE_CONFIG_NIC 0x0D 00136 #define EVENT_TRACE_TYPE_CONFIG_VIDEO 0x0E 00137 #define EVENT_TRACE_TYPE_CONFIG_SERVICES 0x0F 00138 #define EVENT_TRACE_TYPE_CONFIG_POWER 0x10 00139 #define EVENT_TRACE_TYPE_CONFIG_NETINFO 0x11 00140 00141 #define EVENT_TRACE_TYPE_CONFIG_IRQ 0x15 00142 #define EVENT_TRACE_TYPE_CONFIG_PNP 0x16 00143 #define EVENT_TRACE_TYPE_CONFIG_IDECHANNEL 0x17 00144 #define EVENT_TRACE_TYPE_CONFIG_PLATFORM 0x19 00145 00146 #define EVENT_TRACE_FLAG_PROCESS 0x00000001 00147 #define EVENT_TRACE_FLAG_THREAD 0x00000002 00148 #define EVENT_TRACE_FLAG_IMAGE_LOAD 0x00000004 00149 00150 #define EVENT_TRACE_FLAG_DISK_IO 0x00000100 00151 #define EVENT_TRACE_FLAG_DISK_FILE_IO 0x00000200 00152 00153 #define EVENT_TRACE_FLAG_MEMORY_PAGE_FAULTS 0x00001000 00154 #define EVENT_TRACE_FLAG_MEMORY_HARD_FAULTS 0x00002000 00155 00156 #define EVENT_TRACE_FLAG_NETWORK_TCPIP 0x00010000 00157 00158 #define EVENT_TRACE_FLAG_REGISTRY 0x00020000 00159 #define EVENT_TRACE_FLAG_DBGPRINT 0x00040000 00160 00161 #define EVENT_TRACE_FLAG_PROCESS_COUNTERS 0x00000008 00162 #define EVENT_TRACE_FLAG_CSWITCH 0x00000010 00163 #define EVENT_TRACE_FLAG_DPC 0x00000020 00164 #define EVENT_TRACE_FLAG_INTERRUPT 0x00000040 00165 #define EVENT_TRACE_FLAG_SYSTEMCALL 0x00000080 00166 00167 #define EVENT_TRACE_FLAG_DISK_IO_INIT 0x00000400 00168 00169 #define EVENT_TRACE_FLAG_ALPC 0x00100000 00170 #define EVENT_TRACE_FLAG_SPLIT_IO 0x00200000 00171 00172 #define EVENT_TRACE_FLAG_DRIVER 0x00800000 00173 #define EVENT_TRACE_FLAG_PROFILE 0x01000000 00174 #define EVENT_TRACE_FLAG_FILE_IO 0x02000000 00175 #define EVENT_TRACE_FLAG_FILE_IO_INIT 0x04000000 00176 00177 #define EVENT_TRACE_FLAG_DISPATCHER 0x00000800 00178 #define EVENT_TRACE_FLAG_VIRTUAL_ALLOC 0x00004000 00179 00180 #define EVENT_TRACE_FLAG_EXTENSION 0x80000000 00181 #define EVENT_TRACE_FLAG_FORWARD_WMI 0x40000000 00182 #define EVENT_TRACE_FLAG_ENABLE_RESERVE 0x20000000 00183 00184 #define EVENT_TRACE_FILE_MODE_NONE 0x00000000 00185 #define EVENT_TRACE_FILE_MODE_SEQUENTIAL 0x00000001 00186 #define EVENT_TRACE_FILE_MODE_CIRCULAR 0x00000002 00187 #define EVENT_TRACE_FILE_MODE_APPEND 0x00000004 00188 00189 #define EVENT_TRACE_REAL_TIME_MODE 0x00000100 00190 #define EVENT_TRACE_DELAY_OPEN_FILE_MODE 0x00000200 00191 #define EVENT_TRACE_BUFFERING_MODE 0x00000400 00192 #define EVENT_TRACE_PRIVATE_LOGGER_MODE 0x00000800 00193 #define EVENT_TRACE_ADD_HEADER_MODE 0x00001000 00194 00195 #define EVENT_TRACE_USE_GLOBAL_SEQUENCE 0x00004000 00196 #define EVENT_TRACE_USE_LOCAL_SEQUENCE 0x00008000 00197 00198 #define EVENT_TRACE_RELOG_MODE 0x00010000 00199 00200 #define EVENT_TRACE_USE_PAGED_MEMORY 0x01000000 00201 00202 #define EVENT_TRACE_FILE_MODE_NEWFILE 0x00000008 00203 #define EVENT_TRACE_FILE_MODE_PREALLOCATE 0x00000020 00204 00205 #define EVENT_TRACE_NONSTOPPABLE_MODE 0x00000040 00206 #define EVENT_TRACE_SECURE_MODE 0x00000080 00207 #define EVENT_TRACE_USE_KBYTES_FOR_SIZE 0x00002000 00208 #define EVENT_TRACE_PRIVATE_IN_PROC 0x00020000 00209 #define EVENT_TRACE_MODE_RESERVED 0x00100000 00210 00211 #define EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING 0x10000000 00212 00213 #define EVENT_TRACE_CONTROL_QUERY 0 00214 #define EVENT_TRACE_CONTROL_STOP 1 00215 #define EVENT_TRACE_CONTROL_UPDATE 2 00216 00217 #define EVENT_TRACE_CONTROL_FLUSH 3 00218 00219 #define TRACE_MESSAGE_SEQUENCE 1 00220 #define TRACE_MESSAGE_GUID 2 00221 #define TRACE_MESSAGE_COMPONENTID 4 00222 #define TRACE_MESSAGE_TIMESTAMP 8 00223 #define TRACE_MESSAGE_PERFORMANCE_TIMESTAMP 16 00224 #define TRACE_MESSAGE_SYSTEMINFO 32 00225 00226 #define TRACE_MESSAGE_POINTER32 0x0040 00227 #define TRACE_MESSAGE_POINTER64 0x0080 00228 00229 #define TRACE_MESSAGE_FLAG_MASK 0xFFFF 00230 00231 #define TRACE_MESSAGE_MAXIMUM_SIZE 8*1024 00232 00233 #define EVENT_TRACE_USE_PROCTIME 0x0001 00234 #define EVENT_TRACE_USE_NOCPUTIME 0x0002 00235 00236 #define TRACE_HEADER_FLAG_USE_TIMESTAMP 0x00000200 00237 #define TRACE_HEADER_FLAG_TRACED_GUID 0x00020000 00238 #define TRACE_HEADER_FLAG_LOG_WNODE 0x00040000 00239 #define TRACE_HEADER_FLAG_USE_GUID_PTR 0x00080000 00240 #define TRACE_HEADER_FLAG_USE_MOF_PTR 0x00100000 00241 00242 #define ETW_NULL_TYPE_VALUE 0 00243 #define ETW_OBJECT_TYPE_VALUE 1 00244 #define ETW_STRING_TYPE_VALUE 2 00245 #define ETW_SBYTE_TYPE_VALUE 3 00246 #define ETW_BYTE_TYPE_VALUE 4 00247 #define ETW_INT16_TYPE_VALUE 5 00248 #define ETW_UINT16_TYPE_VALUE 6 00249 #define ETW_INT32_TYPE_VALUE 7 00250 #define ETW_UINT32_TYPE_VALUE 8 00251 #define ETW_INT64_TYPE_VALUE 9 00252 #define ETW_UINT64_TYPE_VALUE 10 00253 #define ETW_CHAR_TYPE_VALUE 11 00254 #define ETW_SINGLE_TYPE_VALUE 12 00255 #define ETW_DOUBLE_TYPE_VALUE 13 00256 #define ETW_BOOLEAN_TYPE_VALUE 14 00257 #define ETW_DECIMAL_TYPE_VALUE 15 00258 00259 #define ETW_GUID_TYPE_VALUE 101 00260 #define ETW_ASCIICHAR_TYPE_VALUE 102 00261 #define ETW_ASCIISTRING_TYPE_VALUE 103 00262 #define ETW_COUNTED_STRING_TYPE_VALUE 104 00263 #define ETW_POINTER_TYPE_VALUE 105 00264 #define ETW_SIZET_TYPE_VALUE 106 00265 #define ETW_HIDDEN_TYPE_VALUE 107 00266 #define ETW_BOOL_TYPE_VALUE 108 00267 #define ETW_COUNTED_ANSISTRING_TYPE_VALUE 109 00268 #define ETW_REVERSED_COUNTED_STRING_TYPE_VALUE 110 00269 #define ETW_REVERSED_COUNTED_ANSISTRING_TYPE_VALUE 111 00270 #define ETW_NON_NULL_TERMINATED_STRING_TYPE_VALUE 112 00271 #define ETW_REDUCED_ANSISTRING_TYPE_VALUE 113 00272 #define ETW_REDUCED_STRING_TYPE_VALUE 114 00273 #define ETW_SID_TYPE_VALUE 115 00274 #define ETW_VARIANT_TYPE_VALUE 116 00275 #define ETW_PTVECTOR_TYPE_VALUE 117 00276 #define ETW_WMITIME_TYPE_VALUE 118 00277 #define ETW_DATETIME_TYPE_VALUE 119 00278 #define ETW_REFRENCE_TYPE_VALUE 120 00279 00280 #define TRACE_PROVIDER_FLAG_LEGACY 0x00000001 00281 #define TRACE_PROVIDER_FLAG_PRE_ENABLE 0x00000002 00282 00283 #define EVENT_CONTROL_CODE_DISABLE_PROVIDER 0 00284 #define EVENT_CONTROL_CODE_ENABLE_PROVIDER 1 00285 #define EVENT_CONTROL_CODE_CAPTURE_STATE 2 00286 00287 #define DEFINE_TRACE_MOF_FIELD(MOF, ptr, length, type) \ 00288 (MOF)->DataPtr = (ULONG64)(ULONG_PTR) ptr; \ 00289 (MOF)->Length = (ULONG) length; \ 00290 (MOF)->DataType = (ULONG) type; 00291 00292 typedef struct _EVENT_TRACE_HEADER { 00293 USHORT Size; 00294 _ANONYMOUS_UNION union { 00295 USHORT FieldTypeFlags; 00296 _ANONYMOUS_STRUCT struct { 00297 UCHAR HeaderType; 00298 UCHAR MarkerFlags; 00299 } DUMMYSTRUCTNAME; 00300 } DUMMYUNIONNAME; 00301 _ANONYMOUS_UNION union { 00302 ULONG Version; 00303 struct { 00304 UCHAR Type; 00305 UCHAR Level; 00306 USHORT Version; 00307 } Class; 00308 } DUMMYUNIONNAME2; 00309 ULONG ThreadId; 00310 ULONG ProcessId; 00311 LARGE_INTEGER TimeStamp; 00312 _ANONYMOUS_UNION union { 00313 GUID Guid; 00314 ULONGLONG GuidPtr; 00315 } DUMMYUNIONNAME3; 00316 _ANONYMOUS_UNION union { 00317 _ANONYMOUS_STRUCT struct { 00318 ULONG KernelTime; 00319 ULONG UserTime; 00320 } DUMMYSTRUCTNAME; 00321 ULONG64 ProcessorTime; 00322 _ANONYMOUS_STRUCT struct { 00323 ULONG ClientContext; 00324 ULONG Flags; 00325 } DUMMYSTRUCTNAME2; 00326 } DUMMYUNIONNAME4; 00327 } EVENT_TRACE_HEADER; 00328 00329 #ifndef PEVENT_TRACE_HEADER_DEFINED 00330 #define PEVENT_TRACE_HEADER_DEFINED 00331 typedef struct _EVENT_TRACE_HEADER *PEVENT_TRACE_HEADER; 00332 #endif 00333 00334 typedef struct _EVENT_INSTANCE_HEADER { 00335 USHORT Size; 00336 _ANONYMOUS_UNION union { 00337 USHORT FieldTypeFlags; 00338 _ANONYMOUS_STRUCT struct { 00339 UCHAR HeaderType; 00340 UCHAR MarkerFlags; 00341 } DUMMYSTRUCTNAME; 00342 } DUMMYUNIONNAME; 00343 _ANONYMOUS_UNION union { 00344 ULONG Version; 00345 struct { 00346 UCHAR Type; 00347 UCHAR Level; 00348 USHORT Version; 00349 } Class; 00350 } DUMMYUNIONNAME2; 00351 ULONG ThreadId; 00352 ULONG ProcessId; 00353 LARGE_INTEGER TimeStamp; 00354 ULONGLONG RegHandle; 00355 ULONG InstanceId; 00356 ULONG ParentInstanceId; 00357 _ANONYMOUS_UNION union { 00358 _ANONYMOUS_STRUCT struct { 00359 ULONG KernelTime; 00360 ULONG UserTime; 00361 } DUMMYSTRUCTNAME; 00362 ULONG64 ProcessorTime; 00363 _ANONYMOUS_STRUCT struct { 00364 ULONG EventId; 00365 ULONG Flags; 00366 } DUMMYSTRUCTNAME2; 00367 } DUMMYUNIONNAME3; 00368 ULONGLONG ParentRegHandle; 00369 } EVENT_INSTANCE_HEADER, *PEVENT_INSTANCE_HEADER; 00370 00371 typedef struct _MOF_FIELD { 00372 ULONG64 DataPtr; 00373 ULONG Length; 00374 ULONG DataType; 00375 } MOF_FIELD, *PMOF_FIELD; 00376 00377 typedef struct _EVENT_INSTANCE_INFO { 00378 HANDLE RegHandle; 00379 ULONG InstanceId; 00380 } EVENT_INSTANCE_INFO, *PEVENT_INSTANCE_INFO; 00381 00382 typedef struct _TRACE_GUID_PROPERTIES { 00383 GUID Guid; 00384 ULONG GuidType; 00385 ULONG LoggerId; 00386 ULONG EnableLevel; 00387 ULONG EnableFlags; 00388 BOOLEAN IsEnable; 00389 } TRACE_GUID_PROPERTIES, *PTRACE_GUID_PROPERTIES; 00390 00391 typedef struct _ETW_BUFFER_CONTEXT { 00392 UCHAR ProcessorNumber; 00393 UCHAR Alignment; 00394 USHORT LoggerId; 00395 } ETW_BUFFER_CONTEXT, *PETW_BUFFER_CONTEXT; 00396 00397 typedef struct _TRACE_ENABLE_INFO { 00398 ULONG IsEnabled; 00399 UCHAR Level; 00400 UCHAR Reserved1; 00401 USHORT LoggerId; 00402 ULONG EnableProperty; 00403 ULONG Reserved2; 00404 ULONGLONG MatchAnyKeyword; 00405 ULONGLONG MatchAllKeyword; 00406 } TRACE_ENABLE_INFO, *PTRACE_ENABLE_INFO; 00407 00408 typedef struct _TRACE_PROVIDER_INSTANCE_INFO { 00409 ULONG NextOffset; 00410 ULONG EnableCount; 00411 ULONG Pid; 00412 ULONG Flags; 00413 } TRACE_PROVIDER_INSTANCE_INFO, *PTRACE_PROVIDER_INSTANCE_INFO; 00414 00415 typedef struct _TRACE_GUID_INFO { 00416 ULONG InstanceCount; 00417 ULONG Reserved; 00418 } TRACE_GUID_INFO, *PTRACE_GUID_INFO; 00419 00420 typedef struct _EVENT_TRACE { 00421 EVENT_TRACE_HEADER Header; 00422 ULONG InstanceId; 00423 ULONG ParentInstanceId; 00424 GUID ParentGuid; 00425 PVOID MofData; 00426 ULONG MofLength; 00427 _ANONYMOUS_UNION union { 00428 ULONG ClientContext; 00429 ETW_BUFFER_CONTEXT BufferContext; 00430 } DUMMYUNIONNAME; 00431 } EVENT_TRACE, *PEVENT_TRACE; 00432 00433 #if !(defined(_NTDDK_) || defined(_NTIFS_)) || defined(_WMIKM_) 00434 00435 typedef struct _TRACE_LOGFILE_HEADER { 00436 ULONG BufferSize; 00437 _ANONYMOUS_UNION union { 00438 ULONG Version; 00439 struct { 00440 UCHAR MajorVersion; 00441 UCHAR MinorVersion; 00442 UCHAR SubVersion; 00443 UCHAR SubMinorVersion; 00444 } VersionDetail; 00445 } DUMMYUNIONNAME; 00446 ULONG ProviderVersion; 00447 ULONG NumberOfProcessors; 00448 LARGE_INTEGER EndTime; 00449 ULONG TimerResolution; 00450 ULONG MaximumFileSize; 00451 ULONG LogFileMode; 00452 ULONG BuffersWritten; 00453 _ANONYMOUS_UNION union { 00454 GUID LogInstanceGuid; 00455 _ANONYMOUS_STRUCT struct { 00456 ULONG StartBuffers; 00457 ULONG PointerSize; 00458 ULONG EventsLost; 00459 ULONG CpuSpeedInMHz; 00460 } DUMMYSTRUCTNAME; 00461 } DUMMYUNIONNAME2; 00462 #if defined(_WMIKM_) 00463 PWCHAR LoggerName; 00464 PWCHAR LogFileName; 00465 RTL_TIME_ZONE_INFORMATION TimeZone; 00466 #else 00467 LPWSTR LoggerName; 00468 LPWSTR LogFileName; 00469 TIME_ZONE_INFORMATION TimeZone; 00470 #endif 00471 LARGE_INTEGER BootTime; 00472 LARGE_INTEGER PerfFreq; 00473 LARGE_INTEGER StartTime; 00474 ULONG ReservedFlags; 00475 ULONG BuffersLost; 00476 } TRACE_LOGFILE_HEADER, *PTRACE_LOGFILE_HEADER; 00477 00478 typedef struct _TRACE_LOGFILE_HEADER32 { 00479 ULONG BufferSize; 00480 _ANONYMOUS_UNION union { 00481 ULONG Version; 00482 struct { 00483 UCHAR MajorVersion; 00484 UCHAR MinorVersion; 00485 UCHAR SubVersion; 00486 UCHAR SubMinorVersion; 00487 } VersionDetail; 00488 } DUMMYUNIONNAME; 00489 ULONG ProviderVersion; 00490 ULONG NumberOfProcessors; 00491 LARGE_INTEGER EndTime; 00492 ULONG TimerResolution; 00493 ULONG MaximumFileSize; 00494 ULONG LogFileMode; 00495 ULONG BuffersWritten; 00496 _ANONYMOUS_UNION union { 00497 GUID LogInstanceGuid; 00498 _ANONYMOUS_STRUCT struct { 00499 ULONG StartBuffers; 00500 ULONG PointerSize; 00501 ULONG EventsLost; 00502 ULONG CpuSpeedInMHz; 00503 } DUMMYSTRUCTNAME; 00504 } DUMMYUNIONNAME2; 00505 #if defined(_WMIKM_) 00506 ULONG32 LoggerName; 00507 ULONG32 LogFileName; 00508 RTL_TIME_ZONE_INFORMATION TimeZone; 00509 #else 00510 ULONG32 LoggerName; 00511 ULONG32 LogFileName; 00512 TIME_ZONE_INFORMATION TimeZone; 00513 #endif 00514 LARGE_INTEGER BootTime; 00515 LARGE_INTEGER PerfFreq; 00516 LARGE_INTEGER StartTime; 00517 ULONG ReservedFlags; 00518 ULONG BuffersLost; 00519 } TRACE_LOGFILE_HEADER32, *PTRACE_LOGFILE_HEADER32; 00520 00521 typedef struct _TRACE_LOGFILE_HEADER64 { 00522 ULONG BufferSize; 00523 _ANONYMOUS_UNION union { 00524 ULONG Version; 00525 struct { 00526 UCHAR MajorVersion; 00527 UCHAR MinorVersion; 00528 UCHAR SubVersion; 00529 UCHAR SubMinorVersion; 00530 } VersionDetail; 00531 } DUMMYUNIONNAME; 00532 ULONG ProviderVersion; 00533 ULONG NumberOfProcessors; 00534 LARGE_INTEGER EndTime; 00535 ULONG TimerResolution; 00536 ULONG MaximumFileSize; 00537 ULONG LogFileMode; 00538 ULONG BuffersWritten; 00539 _ANONYMOUS_UNION union { 00540 GUID LogInstanceGuid; 00541 _ANONYMOUS_STRUCT struct { 00542 ULONG StartBuffers; 00543 ULONG PointerSize; 00544 ULONG EventsLost; 00545 ULONG CpuSpeedInMHz; 00546 } DUMMYSTRUCTNAME; 00547 } DUMMYUNIONNAME2; 00548 #if defined(_WMIKM_) 00549 ULONG64 LoggerName; 00550 ULONG64 LogFileName; 00551 RTL_TIME_ZONE_INFORMATION TimeZone; 00552 #else 00553 ULONG64 LoggerName; 00554 ULONG64 LogFileName; 00555 TIME_ZONE_INFORMATION TimeZone; 00556 #endif 00557 LARGE_INTEGER BootTime; 00558 LARGE_INTEGER PerfFreq; 00559 LARGE_INTEGER StartTime; 00560 ULONG ReservedFlags; 00561 ULONG BuffersLost; 00562 } TRACE_LOGFILE_HEADER64, *PTRACE_LOGFILE_HEADER64; 00563 00564 #endif /* !_NTDDK_ || _WMIKM_ */ 00565 00566 #if !defined(_WMIKM_) && !defined(_NTDDK_) && !defined(_NTIFS_) 00567 00568 #define ENABLE_TRACE_PARAMETERS_VERSION 1 00569 00570 typedef struct _EVENT_TRACE_PROPERTIES { 00571 WNODE_HEADER Wnode; 00572 ULONG BufferSize; 00573 ULONG MinimumBuffers; 00574 ULONG MaximumBuffers; 00575 ULONG MaximumFileSize; 00576 ULONG LogFileMode; 00577 ULONG FlushTimer; 00578 ULONG EnableFlags; 00579 LONG AgeLimit; 00580 ULONG NumberOfBuffers; 00581 ULONG FreeBuffers; 00582 ULONG EventsLost; 00583 ULONG BuffersWritten; 00584 ULONG LogBuffersLost; 00585 ULONG RealTimeBuffersLost; 00586 HANDLE LoggerThreadId; 00587 ULONG LogFileNameOffset; 00588 ULONG LoggerNameOffset; 00589 } EVENT_TRACE_PROPERTIES, *PEVENT_TRACE_PROPERTIES; 00590 00591 typedef struct _TRACE_GUID_REGISTRATION { 00592 LPCGUID Guid; 00593 HANDLE RegHandle; 00594 } TRACE_GUID_REGISTRATION, *PTRACE_GUID_REGISTRATION; 00595 00596 typedef struct _EVENT_RECORD EVENT_RECORD, *PEVENT_RECORD; 00597 typedef struct _EVENT_TRACE_LOGFILEW EVENT_TRACE_LOGFILEW, *PEVENT_TRACE_LOGFILEW; 00598 typedef struct _EVENT_TRACE_LOGFILEA EVENT_TRACE_LOGFILEA, *PEVENT_TRACE_LOGFILEA; 00599 #ifndef _EVNTPROV_ 00600 typedef struct _EVENT_FILTER_DESCRIPTOR EVENT_FILTER_DESCRIPTOR, *PEVENT_FILTER_DESCRIPTOR; 00601 #endif 00602 00603 typedef ULONG 00604 (WINAPI *PEVENT_TRACE_BUFFER_CALLBACKW)( 00605 PEVENT_TRACE_LOGFILEW Logfile); 00606 00607 typedef ULONG 00608 (WINAPI *PEVENT_TRACE_BUFFER_CALLBACKA)( 00609 PEVENT_TRACE_LOGFILEA Logfile); 00610 00611 typedef VOID 00612 (WINAPI *PEVENT_CALLBACK)( 00613 PEVENT_TRACE pEvent ); 00614 00615 typedef VOID 00616 (WINAPI *PEVENT_RECORD_CALLBACK)( 00617 PEVENT_RECORD EventRecord); 00618 00619 typedef ULONG 00620 (WINAPI *WMIDPREQUEST)( 00621 IN WMIDPREQUESTCODE RequestCode, 00622 IN PVOID RequestContext, 00623 IN OUT ULONG *BufferSize, 00624 IN OUT PVOID Buffer); 00625 00626 struct _EVENT_TRACE_LOGFILEW { 00627 LPWSTR LogFileName; 00628 LPWSTR LoggerName; 00629 LONGLONG CurrentTime; 00630 ULONG BuffersRead; 00631 _ANONYMOUS_UNION union { 00632 ULONG LogFileMode; 00633 ULONG ProcessTraceMode; 00634 } DUMMYUNIONNAME; 00635 EVENT_TRACE CurrentEvent; 00636 TRACE_LOGFILE_HEADER LogfileHeader; 00637 PEVENT_TRACE_BUFFER_CALLBACKW BufferCallback; 00638 ULONG BufferSize; 00639 ULONG Filled; 00640 ULONG EventsLost; 00641 _ANONYMOUS_UNION union { 00642 PEVENT_CALLBACK EventCallback; 00643 PEVENT_RECORD_CALLBACK EventRecordCallback; 00644 } DUMMYUNIONNAME2; 00645 ULONG IsKernelTrace; 00646 PVOID Context; 00647 }; 00648 00649 struct _EVENT_TRACE_LOGFILEA { 00650 LPSTR LogFileName; 00651 LPSTR LoggerName; 00652 LONGLONG CurrentTime; 00653 ULONG BuffersRead; 00654 _ANONYMOUS_UNION union { 00655 ULONG LogFileMode; 00656 ULONG ProcessTraceMode; 00657 } DUMMYUNIONNAME; 00658 EVENT_TRACE CurrentEvent; 00659 TRACE_LOGFILE_HEADER LogfileHeader; 00660 PEVENT_TRACE_BUFFER_CALLBACKA BufferCallback; 00661 ULONG BufferSize; 00662 ULONG Filled; 00663 ULONG EventsLost; 00664 _ANONYMOUS_UNION union { 00665 PEVENT_CALLBACK EventCallback; 00666 PEVENT_RECORD_CALLBACK EventRecordCallback; 00667 } DUMMYUNIONNAME2; 00668 ULONG IsKernelTrace; 00669 PVOID Context; 00670 }; 00671 00672 #if defined(_UNICODE) || defined(UNICODE) 00673 00674 #define PEVENT_TRACE_BUFFER_CALLBACK PEVENT_TRACE_BUFFER_CALLBACKW 00675 #define EVENT_TRACE_LOGFILE EVENT_TRACE_LOGFILEW 00676 #define PEVENT_TRACE_LOGFILE PEVENT_TRACE_LOGFILEW 00677 #define KERNEL_LOGGER_NAME KERNEL_LOGGER_NAMEW 00678 #define GLOBAL_LOGGER_NAME GLOBAL_LOGGER_NAMEW 00679 #define EVENT_LOGGER_NAME EVENT_LOGGER_NAMEW 00680 00681 #else 00682 00683 #define PEVENT_TRACE_BUFFER_CALLBACK PEVENT_TRACE_BUFFER_CALLBACKA 00684 #define EVENT_TRACE_LOGFILE EVENT_TRACE_LOGFILEA 00685 #define PEVENT_TRACE_LOGFILE PEVENT_TRACE_LOGFILEA 00686 #define KERNEL_LOGGER_NAME KERNEL_LOGGER_NAMEA 00687 #define GLOBAL_LOGGER_NAME GLOBAL_LOGGER_NAMEA 00688 #define EVENT_LOGGER_NAME EVENT_LOGGER_NAMEA 00689 00690 #endif /* defined(_UNICODE) || defined(UNICODE) */ 00691 00692 typedef enum _TRACE_QUERY_INFO_CLASS { 00693 TraceGuidQueryList, 00694 TraceGuidQueryInfo, 00695 TraceGuidQueryProcess, 00696 TraceStackTracingInfo, 00697 MaxTraceSetInfoClass 00698 } TRACE_QUERY_INFO_CLASS, TRACE_INFO_CLASS; 00699 00700 typedef struct _CLASSIC_EVENT_ID { 00701 GUID EventGuid; 00702 UCHAR Type; 00703 UCHAR Reserved[7]; 00704 } CLASSIC_EVENT_ID, *PCLASSIC_EVENT_ID; 00705 00706 typedef struct _ENABLE_TRACE_PARAMETERS { 00707 ULONG Version; 00708 ULONG EnableProperty; 00709 ULONG ControlFlags; 00710 GUID SourceId; 00711 PEVENT_FILTER_DESCRIPTOR EnableFilterDesc; 00712 } ENABLE_TRACE_PARAMETERS, *PENABLE_TRACE_PARAMETERS; 00713 00714 #define INVALID_PROCESSTRACE_HANDLE ((TRACEHANDLE)INVALID_HANDLE_VALUE) 00715 00716 #if defined(UNICODE) || defined(_UNICODE) 00717 00718 #define RegisterTraceGuids RegisterTraceGuidsW 00719 #define StartTrace StartTraceW 00720 #define ControlTrace ControlTraceW 00721 00722 #if defined(__TRACE_W2K_COMPATIBLE) 00723 00724 #define StopTrace(a,b,c) ControlTraceW((a),(b),(c), EVENT_TRACE_CONTROL_STOP) 00725 #define QueryTrace(a,b,c) ControlTraceW((a),(b),(c), EVENT_TRACE_CONTROL_QUERY) 00726 #define UpdateTrace(a,b,c) ControlTraceW((a),(b),(c), EVENT_TRACE_CONTROL_UPDATE) 00727 00728 #else 00729 00730 #define StopTrace StopTraceW 00731 #define QueryTrace QueryTraceW 00732 #define UpdateTrace UpdateTraceW 00733 00734 #endif /* defined(__TRACE_W2K_COMPATIBLE) */ 00735 00736 #if (NTDDI_VERSION >= NTDDI_WINXP) 00737 #define FlushTrace FlushTraceW 00738 #endif 00739 00740 #define QueryAllTraces QueryAllTracesW 00741 #define OpenTrace OpenTraceW 00742 00743 #else /* defined(UNICODE) || defined(_UNICODE) */ 00744 00745 #define RegisterTraceGuids RegisterTraceGuidsA 00746 #define StartTrace StartTraceA 00747 #define ControlTrace ControlTraceA 00748 00749 #if defined(__TRACE_W2K_COMPATIBLE) 00750 00751 #define StopTrace(a,b,c) ControlTraceA((a),(b),(c), EVENT_TRACE_CONTROL_STOP) 00752 #define QueryTrace(a,b,c) ControlTraceA((a),(b),(c), EVENT_TRACE_CONTROL_QUERY) 00753 #define UpdateTrace(a,b,c) ControlTraceA((a),(b),(c), EVENT_TRACE_CONTROL_UPDATE) 00754 00755 #else 00756 00757 #define StopTrace StopTraceA 00758 #define QueryTrace QueryTraceA 00759 #define UpdateTrace UpdateTraceA 00760 00761 #endif /* defined(__TRACE_W2K_COMPATIBLE) */ 00762 00763 #if (NTDDI_VERSION >= NTDDI_WINXP) 00764 #define FlushTrace FlushTraceA 00765 #endif 00766 00767 #define QueryAllTraces QueryAllTracesA 00768 #define OpenTrace OpenTraceA 00769 00770 #endif /* defined(UNICODE) || defined(_UNICODE) */ 00771 00772 EXTERN_C 00773 ULONG 00774 WMIAPI 00775 StartTraceW( 00776 OUT PTRACEHANDLE TraceHandle, 00777 IN LPCWSTR InstanceName, 00778 IN OUT PEVENT_TRACE_PROPERTIES Properties); 00779 00780 EXTERN_C 00781 ULONG 00782 WMIAPI 00783 StartTraceA( 00784 OUT PTRACEHANDLE TraceHandle, 00785 IN LPCSTR InstanceName, 00786 IN OUT PEVENT_TRACE_PROPERTIES Properties); 00787 00788 EXTERN_C 00789 ULONG 00790 WMIAPI 00791 StopTraceW( 00792 IN TRACEHANDLE TraceHandle, 00793 IN LPCWSTR InstanceName OPTIONAL, 00794 IN OUT PEVENT_TRACE_PROPERTIES Properties); 00795 00796 EXTERN_C 00797 ULONG 00798 WMIAPI 00799 StopTraceA( 00800 IN TRACEHANDLE TraceHandle, 00801 IN LPCSTR InstanceName OPTIONAL, 00802 IN OUT PEVENT_TRACE_PROPERTIES Properties); 00803 00804 EXTERN_C 00805 ULONG 00806 WMIAPI 00807 QueryTraceW( 00808 IN TRACEHANDLE TraceHandle, 00809 IN LPCWSTR InstanceName OPTIONAL, 00810 IN OUT PEVENT_TRACE_PROPERTIES Properties); 00811 00812 EXTERN_C 00813 ULONG 00814 WMIAPI 00815 QueryTraceA( 00816 IN TRACEHANDLE TraceHandle, 00817 IN LPCSTR InstanceName OPTIONAL, 00818 IN OUT PEVENT_TRACE_PROPERTIES Properties); 00819 00820 EXTERN_C 00821 ULONG 00822 WMIAPI 00823 UpdateTraceW( 00824 IN TRACEHANDLE TraceHandle, 00825 IN LPCWSTR InstanceName OPTIONAL, 00826 IN OUT PEVENT_TRACE_PROPERTIES Properties); 00827 00828 EXTERN_C 00829 ULONG 00830 WMIAPI 00831 UpdateTraceA( 00832 IN TRACEHANDLE TraceHandle, 00833 IN LPCSTR InstanceName OPTIONAL, 00834 IN OUT PEVENT_TRACE_PROPERTIES Properties); 00835 00836 EXTERN_C 00837 ULONG 00838 WMIAPI 00839 ControlTraceW( 00840 IN TRACEHANDLE TraceHandle, 00841 IN LPCWSTR InstanceName OPTIONAL, 00842 IN OUT PEVENT_TRACE_PROPERTIES Properties, 00843 IN ULONG ControlCode); 00844 00845 EXTERN_C 00846 ULONG 00847 WMIAPI 00848 ControlTraceA( 00849 IN TRACEHANDLE TraceHandle, 00850 IN LPCSTR InstanceName OPTIONAL, 00851 IN OUT PEVENT_TRACE_PROPERTIES Properties, 00852 IN ULONG ControlCode); 00853 00854 EXTERN_C 00855 ULONG 00856 WMIAPI 00857 QueryAllTracesW( 00858 OUT PEVENT_TRACE_PROPERTIES *PropertyArray, 00859 IN ULONG PropertyArrayCount, 00860 OUT PULONG LoggerCount); 00861 00862 EXTERN_C 00863 ULONG 00864 WMIAPI 00865 QueryAllTracesA( 00866 OUT PEVENT_TRACE_PROPERTIES *PropertyArray, 00867 IN ULONG PropertyArrayCount, 00868 OUT PULONG LoggerCount); 00869 00870 EXTERN_C 00871 ULONG 00872 WMIAPI 00873 EnableTrace( 00874 IN ULONG Enable, 00875 IN ULONG EnableFlag, 00876 IN ULONG EnableLevel, 00877 IN LPCGUID ControlGuid, 00878 IN TRACEHANDLE TraceHandle); 00879 00880 EXTERN_C 00881 ULONG 00882 WMIAPI 00883 CreateTraceInstanceId( 00884 IN HANDLE RegHandle, 00885 IN OUT PEVENT_INSTANCE_INFO InstInfo); 00886 00887 EXTERN_C 00888 ULONG 00889 WMIAPI 00890 TraceEvent( 00891 IN TRACEHANDLE TraceHandle, 00892 IN PEVENT_TRACE_HEADER EventTrace); 00893 00894 EXTERN_C 00895 ULONG 00896 WMIAPI 00897 TraceEventInstance( 00898 IN TRACEHANDLE TraceHandle, 00899 IN PEVENT_INSTANCE_HEADER EventTrace, 00900 IN PEVENT_INSTANCE_INFO InstInfo, 00901 IN PEVENT_INSTANCE_INFO ParentInstInfo OPTIONAL); 00902 00903 EXTERN_C 00904 ULONG 00905 WMIAPI 00906 RegisterTraceGuidsW( 00907 IN WMIDPREQUEST RequestAddress, 00908 IN PVOID RequestContext OPTIONAL, 00909 IN LPCGUID ControlGuid, 00910 IN ULONG GuidCount, 00911 IN PTRACE_GUID_REGISTRATION TraceGuidReg OPTIONAL, 00912 IN LPCWSTR MofImagePath OPTIONAL, 00913 IN LPCWSTR MofResourceName OPTIONAL, 00914 OUT PTRACEHANDLE RegistrationHandle); 00915 00916 EXTERN_C 00917 ULONG 00918 WMIAPI 00919 RegisterTraceGuidsA( 00920 IN WMIDPREQUEST RequestAddress, 00921 IN PVOID RequestContext OPTIONAL, 00922 IN LPCGUID ControlGuid, 00923 IN ULONG GuidCount, 00924 IN PTRACE_GUID_REGISTRATION TraceGuidReg OPTIONAL, 00925 IN LPCSTR MofImagePath OPTIONAL, 00926 IN LPCSTR MofResourceName OPTIONAL, 00927 OUT PTRACEHANDLE RegistrationHandle); 00928 00929 EXTERN_C 00930 ULONG 00931 WMIAPI 00932 UnregisterTraceGuids( 00933 IN TRACEHANDLE RegistrationHandle); 00934 00935 EXTERN_C 00936 TRACEHANDLE 00937 WMIAPI 00938 GetTraceLoggerHandle( 00939 IN PVOID Buffer); 00940 00941 EXTERN_C 00942 UCHAR 00943 WMIAPI 00944 GetTraceEnableLevel( 00945 IN TRACEHANDLE TraceHandle); 00946 00947 EXTERN_C 00948 ULONG 00949 WMIAPI 00950 GetTraceEnableFlags( 00951 IN TRACEHANDLE TraceHandle); 00952 00953 EXTERN_C 00954 TRACEHANDLE 00955 WMIAPI 00956 OpenTraceA( 00957 IN OUT PEVENT_TRACE_LOGFILEA Logfile); 00958 00959 EXTERN_C 00960 TRACEHANDLE 00961 WMIAPI 00962 OpenTraceW( 00963 IN OUT PEVENT_TRACE_LOGFILEW Logfile); 00964 00965 EXTERN_C 00966 ULONG 00967 WMIAPI 00968 ProcessTrace( 00969 IN PTRACEHANDLE HandleArray, 00970 IN ULONG HandleCount, 00971 IN LPFILETIME StartTime OPTIONAL, 00972 IN LPFILETIME EndTime OPTIONAL); 00973 00974 EXTERN_C 00975 ULONG 00976 WMIAPI 00977 CloseTrace( 00978 IN TRACEHANDLE TraceHandle); 00979 00980 EXTERN_C 00981 ULONG 00982 WMIAPI 00983 SetTraceCallback( 00984 IN LPCGUID pGuid, 00985 IN PEVENT_CALLBACK EventCallback); 00986 00987 EXTERN_C 00988 ULONG 00989 WMIAPI 00990 RemoveTraceCallback( 00991 IN LPCGUID pGuid); 00992 00993 EXTERN_C 00994 ULONG 00995 __cdecl 00996 TraceMessage( 00997 IN TRACEHANDLE LoggerHandle, 00998 IN ULONG MessageFlags, 00999 IN LPCGUID MessageGuid, 01000 IN USHORT MessageNumber, 01001 ...); 01002 01003 EXTERN_C 01004 ULONG 01005 WMIAPI 01006 TraceMessageVa( 01007 IN TRACEHANDLE LoggerHandle, 01008 IN ULONG MessageFlags, 01009 IN LPCGUID MessageGuid, 01010 IN USHORT MessageNumber, 01011 IN va_list MessageArgList); 01012 01013 #if (WINVER >= _WIN32_WINNT_WINXP) 01014 01015 EXTERN_C 01016 ULONG 01017 WMIAPI 01018 EnumerateTraceGuids( 01019 IN OUT PTRACE_GUID_PROPERTIES *GuidPropertiesArray, 01020 IN ULONG PropertyArrayCount, 01021 OUT PULONG GuidCount); 01022 01023 EXTERN_C 01024 ULONG 01025 WMIAPI 01026 FlushTraceW( 01027 IN TRACEHANDLE TraceHandle, 01028 IN LPCWSTR InstanceName OPTIONAL, 01029 IN OUT PEVENT_TRACE_PROPERTIES Properties); 01030 01031 EXTERN_C 01032 ULONG 01033 WMIAPI 01034 FlushTraceA( 01035 IN TRACEHANDLE TraceHandle, 01036 IN LPCSTR InstanceName OPTIONAL, 01037 IN OUT PEVENT_TRACE_PROPERTIES Properties); 01038 01039 #endif /* (WINVER >= _WIN32_WINNT_WINXP) */ 01040 01041 #if (WINVER >= _WIN32_WINNT_VISTA) 01042 01043 EXTERN_C 01044 ULONG 01045 WMIAPI 01046 EnableTraceEx( 01047 IN LPCGUID ProviderId, 01048 IN LPCGUID SourceId OPTIONAL, 01049 IN TRACEHANDLE TraceHandle, 01050 IN ULONG IsEnabled, 01051 IN UCHAR Level, 01052 IN ULONGLONG MatchAnyKeyword, 01053 IN ULONGLONG MatchAllKeyword, 01054 IN ULONG EnableProperty, 01055 IN PEVENT_FILTER_DESCRIPTOR EnableFilterDesc OPTIONAL); 01056 01057 EXTERN_C 01058 ULONG 01059 WMIAPI 01060 EnumerateTraceGuidsEx( 01061 IN TRACE_QUERY_INFO_CLASS TraceQueryInfoClass, 01062 IN PVOID InBuffer OPTIONAL, 01063 IN ULONG InBufferSize, 01064 OUT PVOID OutBuffer OPTIONAL, 01065 IN ULONG OutBufferSize, 01066 OUT PULONG ReturnLength); 01067 01068 #endif /* (WINVER >= _WIN32_WINNT_VISTA) */ 01069 01070 #if (WINVER >= _WIN32_WINNT_WIN7) 01071 01072 EXTERN_C 01073 ULONG 01074 WMIAPI 01075 EnableTraceEx2( 01076 IN TRACEHANDLE TraceHandle, 01077 IN LPCGUID ProviderId, 01078 IN ULONG ControlCode, 01079 IN UCHAR Level, 01080 IN ULONGLONG MatchAnyKeyword, 01081 IN ULONGLONG MatchAllKeyword, 01082 IN ULONG Timeout, 01083 IN PENABLE_TRACE_PARAMETERS EnableParameters OPTIONAL); 01084 01085 EXTERN_C 01086 ULONG 01087 WMIAPI 01088 TraceSetInformation( 01089 IN TRACEHANDLE SessionHandle, 01090 IN TRACE_INFO_CLASS InformationClass, 01091 IN PVOID TraceInformation, 01092 IN ULONG InformationLength); 01093 01094 #endif /* (WINVER >= _WIN32_WINNT_WIN7) */ 01095 01096 #endif /* !defined(_WMIKM_) && !defined(_NTDDK_) && !defined(_NTIFS_) */ 01097 01098 #ifdef __cplusplus 01099 } /* extern "C" */ 01100 #endif Generated on Sat May 26 2012 04:30:08 for ReactOS by
1.7.6.1
|