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.
126 lines
3.6 KiB
126 lines
3.6 KiB
//////////////////////////////////////////////////////////////////////////////
|
|
// Copyright (c) 2002 Microsoft Corporation. All rights reserved.
|
|
// Copyright (c) 2002 OSR Open Systems Resources, Inc.
|
|
//
|
|
// LogSession.h : interface of the CLogSession class
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
class CDisplayDlg;
|
|
|
|
class CTraceSession
|
|
{
|
|
public:
|
|
// constructor
|
|
CTraceSession(ULONG TraceSessionID);
|
|
|
|
// destructor
|
|
~CTraceSession();
|
|
|
|
BOOL ProcessPdb();
|
|
|
|
ULONG m_traceSessionID;
|
|
CString m_tempDirectory;
|
|
CString m_pdbFile;
|
|
CStringArray m_tmfFile;
|
|
CString m_tmfPath;
|
|
CStringArray m_tmcFile;
|
|
CString m_ctlFile;
|
|
CStringArray m_controlGuid;
|
|
CStringArray m_controlGuidFriendlyName;
|
|
CStringArray m_formatGuid;
|
|
BOOL m_bKernelLogger;
|
|
};
|
|
|
|
// forward reference
|
|
class CLogSessionDlg;
|
|
|
|
class CLogSession
|
|
{
|
|
public:
|
|
// constructor
|
|
CLogSession(ULONG LogSessionID, CLogSessionDlg *pLogSessionDlg);
|
|
|
|
// destructor
|
|
~CLogSession();
|
|
|
|
BOOL BeginTrace(BOOL bUseExisting = FALSE);
|
|
BOOL UpdateSession(PEVENT_TRACE_PROPERTIES pQueryProperties);
|
|
LONG EndTrace();
|
|
VOID SetState(LOG_SESSION_STATE StateValue);
|
|
|
|
INLINE VOID SetDisplayName(CString &DisplayName)
|
|
{
|
|
m_displayName = DisplayName;
|
|
}
|
|
|
|
INLINE CString & GetDisplayName()
|
|
{
|
|
return m_displayName;
|
|
}
|
|
|
|
INLINE CDisplayDlg* GetDisplayWnd()
|
|
{
|
|
return m_pDisplayDialog;
|
|
}
|
|
|
|
INLINE VOID SetDisplayWnd(CDisplayDlg *pDisplayDlg)
|
|
{
|
|
m_pDisplayDialog = pDisplayDlg;
|
|
}
|
|
|
|
INLINE LONG GetGroupID()
|
|
{
|
|
return m_groupID;
|
|
}
|
|
|
|
INLINE VOID SetGroupID(LONG GroupID)
|
|
{
|
|
m_groupID = GroupID;
|
|
}
|
|
|
|
INLINE LONG GetLogSessionID()
|
|
{
|
|
return m_logSessionID;
|
|
}
|
|
|
|
INLINE VOID SetLogSessionID(LONG LogSessionID)
|
|
{
|
|
m_logSessionID = LogSessionID;
|
|
}
|
|
|
|
INLINE TRACEHANDLE GetSessionHandle()
|
|
{
|
|
return m_sessionHandle;
|
|
}
|
|
|
|
INLINE VOID SetSessionHandle(TRACEHANDLE SessionHandle)
|
|
{
|
|
m_sessionHandle = SessionHandle;
|
|
}
|
|
|
|
// log session information
|
|
BOOL m_bAppend;
|
|
BOOL m_bRealTime;
|
|
BOOL m_bWriteLogFile;
|
|
CString m_logFileName;
|
|
CString m_displayName; // Log session display name
|
|
LONG m_logSessionID; // Log session identification number
|
|
LONG m_groupID; // Group identification number
|
|
EVENT_TRACE_LOGFILE m_evmFile; // struct used for trace processing in real-time thread
|
|
CDisplayDlg *m_pDisplayDialog; // Dialog for trace output
|
|
CStringArray m_logSessionValues;
|
|
BOOL m_bTraceActive;
|
|
BOOL m_bSessionActive;
|
|
BOOL m_bGroupingTrace; // used for grouping and ungrouping
|
|
BOOL m_bStoppingTrace;
|
|
TRACEHANDLE m_sessionHandle; // Log session handle
|
|
TRACEHANDLE m_traceHandle; // Trace event session handle
|
|
CPtrArray m_traceSessionArray;
|
|
BOOLEAN m_bDisplayExistingLogFileOnly;
|
|
CLogSessionDlg *m_pLogSessionDlg;
|
|
CString m_stateText;
|
|
COLORREF m_titleTextColor;
|
|
COLORREF m_titleBackgroundColor;
|
|
};
|