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) 1998-1999 Microsoft Corporation All rights reserved.
Module Name:
dbgreslt.cxx
Abstract:
Error result help class
Author:
Steve Kiraly (SteveKi) 03-20-1998
Revision History:
--*/ #include "precomp.hxx"
#pragma hdrstop
#include "dbgreslt.hxx"
TDebugResult:: TDebugResult( IN DWORD dwError ) : m_dwError( dwError ), m_pszError( NULL ) { }
TDebugResult:: ~TDebugResult( VOID ) { //
// Release any allocated error string.
//
if( m_pszError && m_pszError != kstrNull ) { LocalFree( const_cast<LPTSTR>( m_pszError ) ); } }
BOOL TDebugResult:: bValid( VOID ) const { return TRUE; }
TDebugResult:: operator DWORD( VOID ) { return m_dwError; }
LPCTSTR TDebugResult:: GetErrorString( VOID ) { DWORD cchReturn = 0; DWORD dwFlags = 0;
//
// Release any allocated error string.
//
if( m_pszError && m_pszError != kstrNull ) { LocalFree( const_cast<LPTSTR>( m_pszError ) ); }
//
// Set the format message flags.
//
dwFlags = FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_MAX_WIDTH_MASK;
//
// Format the message with the passed in last error.
//
cchReturn = FormatMessage( dwFlags, NULL, m_dwError, 0, reinterpret_cast<LPTSTR>( &m_pszError ), 0, NULL );
//
// If a format string was not returned set the string to null.
//
if( !cchReturn ) { m_pszError = kstrNull; }
return m_pszError; }
|