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.

90 lines
1.6 KiB

  1. /*++
  2. Copyright (c) 2001 Microsoft Corporation
  3. All rights reserved.
  4. Module Name:
  5. kerberr.hxx
  6. Abstract:
  7. auto log
  8. Author:
  9. Larry Zhu (LZhu) December 8, 2001
  10. Revision History:
  11. --*/
  12. #ifndef _KERB_ERROR_HXX_
  13. #define _KERB_ERROR_HXX_
  14. #include "dbgstate.hxx"
  15. #include <kerberr.h>
  16. #ifdef DBG
  17. /********************************************************************
  18. TKerbErr
  19. ********************************************************************/
  20. class TKerbErr : public TStatusDerived<HRESULT> {
  21. public:
  22. TKerbErr(
  23. IN KERBERR Status = kUnInitializedValue
  24. );
  25. ~TKerbErr(
  26. VOID
  27. );
  28. virtual BOOL
  29. IsErrorSevereEnough(
  30. VOID
  31. ) const;
  32. virtual PCTSTR
  33. GetErrorServerityDescription(
  34. VOID
  35. ) const;
  36. private:
  37. //
  38. // no copy
  39. //
  40. TKerbErr(const TKerbErr& rhs);
  41. //
  42. // Don't let clients use operator= without going through the
  43. // base class (i.e., using DBGCHK ).
  44. //
  45. // If you get an error trying to access private member function '=,'
  46. // you are trying to set the status without using the DBGCHK macro.
  47. //
  48. // This is needed to update the line and file, which must be done
  49. // at the macro level (not inline C++ function) since __LINE__ and
  50. // __FILE__ are handled by the preprocessor.
  51. //
  52. KERBERR
  53. operator=(
  54. IN KERBERR Status
  55. );
  56. };
  57. #else
  58. #define TKerbErr KERBERR // KERBERR in free build
  59. #endif // DBG
  60. #endif // _KERB_ERROR_HXX_