Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
traceump.h
Abstract:
Private headers for Event Tracing user mode
Author:
19-Jul-2000 Melur Raghuraman
Revision History:
--*/
#ifndef MEMPHIS
#define MAXSTR 1024
#define BUFFER_SIZE 64*1024
#define MAX_BUFFER_SIZE 10*1024*1024
#define NOTIFY_RETRY_COUNT 10
#define TRACE_VERSION_MAJOR 1
#define TRACE_VERSION_MINOR 0
#define SYSTEM_TRACE_VERSION1 1
#ifdef _WIN64
#define SYSTEM_TRACE_MARKER1 TRACE_HEADER_FLAG | TRACE_HEADER_EVENT_TRACE \
| (TRACE_HEADER_TYPE_SYSTEM64 << 16) | SYSTEM_TRACE_VERSION1 #else
#define SYSTEM_TRACE_MARKER1 TRACE_HEADER_FLAG | TRACE_HEADER_EVENT_TRACE \
| (TRACE_HEADER_TYPE_SYSTEM32 << 16) | SYSTEM_TRACE_VERSION1 #endif
#define LOGFILE_FIELD_OFFSET(field) \
sizeof(WMI_BUFFER_HEADER) + \ sizeof(SYSTEM_TRACE_HEADER) +\ FIELD_OFFSET(TRACE_LOGFILE_HEADER, field)
typedef struct _WMI_LOGGER_CONTEXT { LARGE_INTEGER StartTime; HANDLE LogFileHandle; HANDLE NewFileHandle; ULONG LoggerId; ULONG LocalSequence; HANDLE Semaphore; HANDLE LoggerThreadId; HANDLE hThread; HANDLE LoggerEvent; NTSTATUS LoggerStatus;
ULONG BuffersAvailable; ULONG NumberOfProcessors; ULONG BufferPageSize; // BufferSize rounded to page
LIST_ENTRY FreeList; LIST_ENTRY FlushList; PLIST_ENTRY TransitionBuffer; PWMI_BUFFER_HEADER* ProcessorBuffers; // Per Processor Buffer
UNICODE_STRING LoggerName; UNICODE_STRING LogFileName;
ULONG CollectionOn; ULONG NewFileFlag; ULONG EnableFlags; ULONG MaximumFileSize; ULONG LogFileMode; ULONG LastFlushedBuffer; LARGE_INTEGER FlushTimer; LARGE_INTEGER FirstBufferOffset; LARGE_INTEGER ByteOffset; LARGE_INTEGER BufferAgeLimit;
ULONG TimerResolution; // Used for backtracking in Rundown code
ULONG UsePerfClock; // Logger Specific PerfClock flags
// the following are attributes available for query
ULONG BufferSize; ULONG NumberOfBuffers; ULONG MaximumBuffers; ULONG MinimumBuffers; ULONG EventsLost; ULONG BuffersWritten; ULONG LogBuffersLost; ULONG RealTimeBuffersLost;
PULONG SequencePtr; GUID InstanceGuid;
// logger specific extension to context
PVOID BufferSpace; // Reserved Buffer Space
} WMI_LOGGER_CONTEXT, *PWMI_LOGGER_CONTEXT;
//
// logsup.c
//
PVOID WmipGetTraceBuffer( IN PWMI_LOGGER_CONTEXT Logger, IN PSYSTEM_THREAD_INFORMATION pThread, IN ULONG GroupType, IN ULONG RequiredSize );
//
// tracehw.c
//
ULONG WmipDumpHardwareConfig( IN PWMI_LOGGER_CONTEXT LoggerContext );
ULONG WmipDumpGuidMaps( IN PWMI_LOGGER_CONTEXT Logger, IN PLIST_ENTRY GuidMapListHeadPtr, IN ULONG StartFlag );
ULONG WmipAddGuidHandleToGuidMapList( IN PLIST_ENTRY GuidMapListHeadPtr, IN ULONGLONG GuidHandle, IN LPGUID Guid );
#endif
|