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
3.1 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1999-2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // TaskCompareAndPushInformation.h
  7. //
  8. // Description:
  9. // CTaskCompareAndPushInformation implementation.
  10. //
  11. // Maintained By:
  12. // Galen Barbee (GalenB) 22-NOV-1999
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. #pragma once
  16. // CTaskCompareAndPushInformation
  17. class CTaskCompareAndPushInformation
  18. : public ITaskCompareAndPushInformation
  19. , public IClusCfgCallback
  20. {
  21. private:
  22. // IUnknown
  23. LONG m_cRef;
  24. // IDoTask / ITaskCompareAndPushInformation
  25. OBJECTCOOKIE m_cookieCompletion;
  26. OBJECTCOOKIE m_cookieNode;
  27. IClusCfgCallback * m_pcccb; // Marshalled interface
  28. // INotifyUI
  29. HRESULT m_hrStatus; // Status of callbacks
  30. IObjectManager * m_pom;
  31. BSTR m_bstrNodeName;
  32. BOOL m_fStop;
  33. CTaskCompareAndPushInformation( void );
  34. ~CTaskCompareAndPushInformation( void );
  35. // Private copy constructor to prevent copying.
  36. CTaskCompareAndPushInformation( const CTaskCompareAndPushInformation & nodeSrc );
  37. // Private assignment operator to prevent copying.
  38. const CTaskCompareAndPushInformation & operator = ( const CTaskCompareAndPushInformation & nodeSrc );
  39. STDMETHOD( HrInit )( void );
  40. HRESULT HrVerifyCredentials( IClusCfgServer * pccsIn, OBJECTCOOKIE cookieClusterIn );
  41. HRESULT HrExchangePrivateData( IClusCfgManagedResourceInfo * piccmriSrcIn, IClusCfgManagedResourceInfo * piccmriDstIn );
  42. public: // Methods
  43. static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
  44. // IUnknown
  45. STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut );
  46. STDMETHOD_( ULONG, AddRef )( void );
  47. STDMETHOD_( ULONG, Release )( void );
  48. // IDoTask / ITaskCompareAndPushInformation
  49. STDMETHOD( BeginTask )( void );
  50. STDMETHOD( StopTask )( void );
  51. STDMETHOD( SetCompletionCookie )( OBJECTCOOKIE cookieIn );
  52. STDMETHOD( SetNodeCookie )( OBJECTCOOKIE cookieIn );
  53. // IClusCfgCallback
  54. STDMETHOD( SendStatusReport )(
  55. LPCWSTR pcszNodeNameIn
  56. , CLSID clsidTaskMajorIn
  57. , CLSID clsidTaskMinorIn
  58. , ULONG ulMinIn
  59. , ULONG ulMaxIn
  60. , ULONG ulCurrentIn
  61. , HRESULT hrStatusIn
  62. , LPCWSTR pcszDescriptionIn
  63. , FILETIME * pftTimeIn
  64. , LPCWSTR pcszReferenceIn
  65. );
  66. STDMETHOD( HrSendStatusReport )(
  67. CLSID clsidTaskMajorIn
  68. , CLSID clsidTaskMinorIn
  69. , ULONG ulMinIn
  70. , ULONG ulMaxIn
  71. , ULONG ulCurrentIn
  72. , HRESULT hrStatusIn
  73. , UINT nDescriptionIn
  74. );
  75. }; //*** class CTaskCompareAndPushInformation