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.

48 lines
1.3 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // TaskAnalyzeCluster.h
  7. //
  8. // Description:
  9. // CTaskTracking declaration
  10. //
  11. // Maintained By:
  12. // Galen Barbee (GalenB) 16-AUG-2001
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. #pragma once
  16. class CTaskTracking
  17. {
  18. private:
  19. typedef struct _TaskTrackingEntry
  20. {
  21. IDoTask * pidt;
  22. OBJECTCOOKIE ocCompletion;
  23. } TaskTrackingEntry;
  24. ULONG m_idxTaskNext; // Count and next available index of the tasks to cancel.
  25. TaskTrackingEntry * m_prgTasks;
  26. // Private copy constructor to prevent copying.
  27. CTaskTracking( const CTaskTracking & nodeSrc );
  28. // Private assignment operator to prevent copying.
  29. const CTaskTracking & operator = ( const CTaskTracking & nodeSrc );
  30. protected:
  31. CTaskTracking( void );
  32. virtual ~CTaskTracking( void );
  33. HRESULT HrAddTaskToTrackingList( IUnknown * punkIn, OBJECTCOOKIE cookieIn );
  34. HRESULT HrRemoveTaskFromTrackingList( OBJECTCOOKIE cookieIn );
  35. HRESULT HrNotifyAllTasksToStop( void );
  36. ULONG CTasks( void ) { return m_idxTaskNext; }
  37. }; //*** class CTaskTracking