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.

84 lines
2.0 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1998-2002 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // SupportErrorInfo.h
  7. //
  8. // Description:
  9. // Definition of the CSupportErrorInfo class.
  10. //
  11. // Implementation File:
  12. //
  13. //
  14. // Author:
  15. // Galen Barbee (galenb) 4-Aug-1998
  16. //
  17. // Revision History:
  18. //
  19. // Notes:
  20. //
  21. /////////////////////////////////////////////////////////////////////////////
  22. #ifndef _SUPPORTERRORINFO_H
  23. #define _SUPPORTERRORINFO_H
  24. #ifndef ARRAYSIZE
  25. #define ARRAYSIZE(_x) RTL_NUMBER_OF(_x)
  26. #endif
  27. /////////////////////////////////////////////////////////////////////////////
  28. // Forward Class Declarations
  29. /////////////////////////////////////////////////////////////////////////////
  30. class CSupportErrorInfo;
  31. /////////////////////////////////////////////////////////////////////////////
  32. //++
  33. //
  34. // class CSupportErrorInfo
  35. //
  36. // Description:
  37. // Implementation of the InterfaceSupportsErrir Info
  38. //
  39. // Inheritance:
  40. // ISupportErrorInfo
  41. //
  42. //--
  43. /////////////////////////////////////////////////////////////////////////////
  44. class CSupportErrorInfo :
  45. public ISupportErrorInfo
  46. {
  47. public:
  48. CSupportErrorInfo( void ) : m_piids( NULL ), m_piidsSize( 0 ) {};
  49. // ~CSupportErrorInfo( void ) {};
  50. STDMETHODIMP InterfaceSupportsErrorInfo( REFIID riid )
  51. {
  52. ASSERT( m_piids != NULL );
  53. ASSERT( m_piidsSize != 0 );
  54. HRESULT _hr = S_FALSE;
  55. if ( m_piids != NULL )
  56. {
  57. for ( size_t i = 0; i < m_piidsSize; i++ )
  58. {
  59. if ( InlineIsEqualGUID( m_piids[ i ], riid ) )
  60. {
  61. _hr = S_OK;
  62. break;
  63. }
  64. }
  65. }
  66. return _hr;
  67. }
  68. protected:
  69. const IID * m_piids;
  70. size_t m_piidsSize;
  71. }; //*** Class CSupportErrorInfo
  72. #endif // _SUPPORTERRORINFO_H