Leaked source code of windows server 2003
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.
 
 
 
 
 
 

101 lines
1.7 KiB

/*++
Copyright (c) 2001 Microsoft Corporation
All rights reserved.
Module Name:
hresult.hxx
Abstract:
auto log
Author:
Larry Zhu (LZhu) December 8, 2001
Revision History:
--*/
#ifndef _HRESULT_HXX_
#define _HRESULT_HXX_
#include "dbgstate.hxx"
#ifdef DBG
/********************************************************************
THResult
********************************************************************/
class THResult : public TStatusDerived<HRESULT> {
public:
THResult(
IN HRESULT Status = kUnInitializedValue
);
~THResult(
VOID
);
virtual BOOL
IsErrorSevereEnough(
VOID
) const;
virtual PCTSTR
GetErrorServerityDescription(
VOID
) const;
private:
//
// no copy
//
THResult(const THResult& rhs);
//
// Don't let clients use operator= without going through the
// base class (i.e., using DBGCHK ).
//
// If you get an error trying to access private member function '=,'
// you are trying to set the status without using the DBGCHK macro.
//
// This is needed to update the line and file, which must be done
// at the macro level (not inline C++ function) since __LINE__ and
// __FILE__ are handled by the preprocessor.
//
HRESULT
operator=(
IN HRESULT Status
);
};
#else
#define THResult HRESULT // HRESULT in free build
#endif // DBG
EXTERN_C
HRESULT
GetLastErrorAsHResult(
VOID
);
EXTERN_C
HRESULT
HResultFromWin32(
IN DWORD dwError
);
#endif // _HRESULT_HXX_