|
|
/*++
Copyright (c) 1997-1999 Microsoft Corporation
Module Name:
traceprt.h
Abstract:
Trace formatting external definitions.
Revision History:
--*/ #ifdef __cplusplus
extern "C"{ #endif
#ifndef _TRACEPRT_
#define _TRACEPRT_
#define MAXLOGFILES 16
#define MAXSTR 1024
#define GUID_FILE _T("default")
#define GUID_EXT _T("tmf")
//
// Now the routines we export
//
#ifndef TRACE_API
#ifdef TRACE_EXPORTS
#define TRACE_API __declspec(dllexport)
#else
#define TRACE_API __declspec(dllimport)
#endif
#endif
#ifdef UNICODE
#define FormatTraceEvent FormatTraceEventW
#define GetTraceGuids GetTraceGuidsW
#define SummaryTraceEventList SummaryTraceEventListW
#else
#define FormatTraceEvent FormatTraceEventA
#define GetTraceGuids GetTraceGuidsA
#define SummaryTraceEventList SummaryTraceEventListA
#endif
TRACE_API HRESULT InitializeCSharpDecoder();
TRACE_API void UninitializeCSharpDecoder();
TRACE_API SIZE_T WINAPI FormatTraceEventA( PLIST_ENTRY HeadEventList, PEVENT_TRACE pEvent, CHAR * EventBuf, ULONG SizeEventBuf, CHAR * pszMask );
TRACE_API ULONG WINAPI GetTraceGuidsA( CHAR * GuidFile, PLIST_ENTRY * EventListHeader );
TRACE_API void WINAPI SummaryTraceEventListA( CHAR * SummaryBlock , ULONG SizeSummaryBlock , PLIST_ENTRY EventListhead );
TRACE_API SIZE_T WINAPI FormatTraceEventW( PLIST_ENTRY HeadEventList, PEVENT_TRACE pEvent, TCHAR * EventBuf, ULONG SizeEventBuf, TCHAR * pszMask );
TRACE_API ULONG WINAPI GetTraceGuidsW( LPTSTR GuidFile, PLIST_ENTRY * EventListHeader );
TRACE_API void WINAPI SummaryTraceEventListW( TCHAR * SummaryBlock, ULONG SizeSummaryBlock, PLIST_ENTRY EventListhead );
TRACE_API void WINAPI CleanupTraceEventList( PLIST_ENTRY EventListHead );
TRACE_API void WINAPI GetTraceElapseTime( __int64 * pElpaseTime );
#define TRACEPRT_INTERFACE_VERSION 1
typedef enum _PARAM_TYPE { ParameterINDENT, ParameterSEQUENCE, ParameterGMT, ParameterTraceFormatSearchPath, ParameterInterfaceVersion, ParameterUsePrefix, ParameterSetPrefix, ParameterStructuredFormat, ParameterDebugPrint } PARAMETER_TYPE ;
TRACE_API ULONG WINAPI SetTraceFormatParameter( PARAMETER_TYPE Parameter , PVOID ParameterValue );
TRACE_API ULONG WINAPI GetTraceFormatParameter( PARAMETER_TYPE Parameter , PVOID ParameterValue );
TRACE_API LPTSTR WINAPI GetTraceFormatSearchPath(void);
#define NAMESIZE 256
#define STRUCTUREDMESSAGEVERSION 0
typedef struct _STRUCTUREDMESSAGE { ULONG Version ; // Structure Version Number
GUID TraceGuid ; // Message Guid
ULONG GuidName ; // %1 Guid Friendly Name Offset
ULONG GuidTypeName ; // %2 Guid Type Name Offset
ULONG ThreadId ; // %3 Thread ID Value
SYSTEMTIME SystemTime ; // %4 System Time Value
ULONG UserTime ; // %5 Kernel Time Value
ULONG KernelTime ; // %6 User Time Value
ULONG SequenceNum ; // %7 Sequence Number Value
ULONG ProcessId ; // %8 Process ID Value
ULONG CpuNumber ; // %9 CPU Number Value
ULONG Indent ; // Indentation level Value
ULONG FlagsName ; // Trace Flag settings Name Offset
ULONG LevelName ; // Trace Level Name Offset
ULONG FunctionName ; // Function Name Offset
ULONG ComponentName ; // Component Name Offset
ULONG SubComponentName ; // Sub Component Name Offset
ULONG FormattedString ; // Formatted String Offset
// Version 0 values before this comment, all new values after this point.
} STRUCTUREDMESSAGE, *PSTRUCTUREDMESSAGE ;
#define TRACEPRINT(a,b) {PVOID lTracePrint ; if(!((lTracePrint = TracePrint) != NULL)) { *(lTracePrint) b } };
#endif // #ifndef _TRACEPRT_
#ifdef __cplusplus
} #endif
|