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.

69 lines
2.0 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1999-2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // TaskGatherNodeInfo.h
  7. //
  8. // Description:
  9. // CTaskGatherNodeInfo implementation.
  10. //
  11. // Maintained By:
  12. // Galen Barbee (GalenB) 22-NOV-1999
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. #pragma once
  16. // CTaskGatherNodeInfo
  17. class
  18. CTaskGatherNodeInfo:
  19. public ITaskGatherNodeInfo,
  20. public IClusCfgCallback
  21. {
  22. private:
  23. // IUnknown
  24. LONG m_cRef;
  25. // IDoTask / ITaskGatherNodeInfo
  26. OBJECTCOOKIE m_cookie; // Cookie to the Node
  27. OBJECTCOOKIE m_cookieCompletion; // Cookie to signal when task is completed
  28. BSTR m_bstrName; // Name of the node
  29. // IClusCfgCallback
  30. IClusCfgCallback * m_pcccb; // Marshalled callback interface
  31. CTaskGatherNodeInfo( void );
  32. ~CTaskGatherNodeInfo( void );
  33. STDMETHOD( Init )( void );
  34. public: // Methods
  35. static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
  36. // IUnknown
  37. STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
  38. STDMETHOD_( ULONG, AddRef )( void );
  39. STDMETHOD_( ULONG, Release )( void );
  40. // IDoTask / ITaskGatherNodeInfo
  41. STDMETHOD( BeginTask )( void );
  42. STDMETHOD( StopTask )( void );
  43. STDMETHOD( SetCookie )( OBJECTCOOKIE cookieIn );
  44. STDMETHOD( SetCompletionCookie )( OBJECTCOOKIE cookieIn );
  45. // IClusCfgCallback
  46. STDMETHOD( SendStatusReport )(
  47. LPCWSTR pcszNodeNameIn
  48. , CLSID clsidTaskMajorIn
  49. , CLSID clsidTaskMinorIn
  50. , ULONG ulMinIn
  51. , ULONG ulMaxIn
  52. , ULONG ulCurrentIn
  53. , HRESULT hrStatusIn
  54. , LPCWSTR pcszDescriptionIn
  55. , FILETIME * pftTimeIn
  56. , LPCWSTR pcszReferenceIn
  57. );
  58. }; // class CTaskGatherNodeInfo