220 lines
3.9 KiB
C++
220 lines
3.9 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (c) 1998-1999 Microsoft Corporation
|
||
|
All rights reserved.
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
dbgmsgp.hxx
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Debug Library
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Steve Kiraly (SteveKi) 5-Dec-1995
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
#ifndef _DBGMSGP_HXX_
|
||
|
#define _DBGMSGP_HXX_
|
||
|
|
||
|
DEBUG_NS_BEGIN
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
Debug message class.
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
class TDebugMsg
|
||
|
{
|
||
|
|
||
|
public:
|
||
|
|
||
|
union StringTrait
|
||
|
{
|
||
|
LPTSTR pszTChar;
|
||
|
LPCWSTR pszWide;
|
||
|
LPWSTR pszWideNc;
|
||
|
LPCSTR pszNarrow;
|
||
|
LPSTR pszNarrowNc;
|
||
|
LPBYTE pszByte;
|
||
|
};
|
||
|
|
||
|
TDebugMsg::
|
||
|
TDebugMsg(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
TDebugMsg::
|
||
|
~TDebugMsg(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDebugMsg::
|
||
|
Valid(
|
||
|
VOID
|
||
|
) const;
|
||
|
|
||
|
VOID
|
||
|
TDebugMsg::
|
||
|
Initialize(
|
||
|
IN LPCTSTR pszPrefix,
|
||
|
IN UINT uDevice,
|
||
|
IN INT eLevel,
|
||
|
IN INT eBreak
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TDebugMsg::
|
||
|
Destroy(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TDebugMsg::
|
||
|
Msg(
|
||
|
IN UINT eLevel,
|
||
|
IN LPCTSTR pszFile,
|
||
|
IN UINT uLine,
|
||
|
IN LPCTSTR pszModulePrefix,
|
||
|
IN LPSTR pszMessage
|
||
|
) const;
|
||
|
|
||
|
VOID
|
||
|
TDebugMsg::
|
||
|
Msg(
|
||
|
IN UINT eLevel,
|
||
|
IN LPCTSTR pszFile,
|
||
|
IN UINT uLine,
|
||
|
IN LPCTSTR pszModulePrefix,
|
||
|
IN LPWSTR pszMessage
|
||
|
) const;
|
||
|
|
||
|
LPSTR
|
||
|
WINAPIV
|
||
|
TDebugMsg::
|
||
|
Fmt(
|
||
|
IN LPCSTR pszFmt
|
||
|
IN ...
|
||
|
) const;
|
||
|
|
||
|
LPWSTR
|
||
|
WINAPIV
|
||
|
TDebugMsg::
|
||
|
Fmt(
|
||
|
IN LPCWSTR pszFmt
|
||
|
IN ...
|
||
|
) const;
|
||
|
|
||
|
VOID
|
||
|
TDebugMsg::
|
||
|
Disable(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TDebugMsg::
|
||
|
Enable(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDebugMsg::
|
||
|
Attach(
|
||
|
IN HANDLE *phDevice,
|
||
|
IN UINT uDevice,
|
||
|
IN LPCTSTR pszConfiguration,
|
||
|
IN TDebugNodeDouble **ppDeviceRoot = NULL
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TDebugMsg::
|
||
|
Detach(
|
||
|
IN HANDLE *phDevice
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TDebugMsg::
|
||
|
SetMessageFieldFormat(
|
||
|
IN UINT Field,
|
||
|
IN LPTSTR pszFormat
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
//
|
||
|
// Copying and assignment are not defined.
|
||
|
//
|
||
|
TDebugMsg::
|
||
|
TDebugMsg(
|
||
|
const TDebugMsg &rhs
|
||
|
);
|
||
|
|
||
|
const TDebugMsg &
|
||
|
TDebugMsg::
|
||
|
operator=(
|
||
|
const TDebugMsg &rhs
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDebugMsg::
|
||
|
Type(
|
||
|
IN EDebugLevel eLevel
|
||
|
) const;
|
||
|
|
||
|
BOOL
|
||
|
TDebugMsg::
|
||
|
Break(
|
||
|
IN EDebugLevel eLevel
|
||
|
) const;
|
||
|
|
||
|
VOID
|
||
|
TDebugMsg::
|
||
|
Output(
|
||
|
IN EDebugLevel eLevel,
|
||
|
IN LPCTSTR pszFileName,
|
||
|
IN UINT uLine,
|
||
|
IN LPCTSTR pszModulePrefix,
|
||
|
IN StringTrait &strMsg
|
||
|
) const;
|
||
|
|
||
|
BOOL
|
||
|
TDebugMsg::
|
||
|
GetParameter(
|
||
|
IN UINT eFlags,
|
||
|
IN OUT TDebugString &strString,
|
||
|
IN LPCTSTR pszFileName,
|
||
|
IN UINT uLine
|
||
|
) const;
|
||
|
|
||
|
BOOL
|
||
|
TDebugMsg::
|
||
|
BuildFinalString(
|
||
|
IN TDebugString &strFinal,
|
||
|
IN EDebugLevel eDebugLevel,
|
||
|
IN LPCTSTR pszPrefix,
|
||
|
IN LPCTSTR pszFileName,
|
||
|
IN UINT uLine,
|
||
|
IN StringTrait &StrMsg
|
||
|
) const;
|
||
|
|
||
|
EDebugLevel m_eBreak;
|
||
|
EDebugLevel m_eLevel;
|
||
|
TDebugString *m_pstrPrefix;
|
||
|
TDebugNodeDouble *m_pDeviceRoot;
|
||
|
TDebugNodeDouble *m_pBuiltinDeviceRoot;
|
||
|
TDebugString *m_pstrFileInfoFormat;
|
||
|
TDebugString *m_pstrTimeStampFormatShort;
|
||
|
TDebugString *m_pstrTimeStampFormatLong;
|
||
|
TDebugString *m_pstrThreadIdFormat;
|
||
|
};
|
||
|
|
||
|
DEBUG_NS_END
|
||
|
|
||
|
#endif // DBGMSG_HXX
|