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.

60 lines
1.7 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1999-2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // TaskGetDomains.h
  7. //
  8. // Description:
  9. // CTaskGetDomains implementation.
  10. //
  11. // Maintained By:
  12. // Galen Barbee (GalenB) 22-NOV-1999
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. #pragma once
  16. //////////////////////////////////////////////////////////////////////////////
  17. // Class Declarations
  18. //////////////////////////////////////////////////////////////////////////////
  19. // CTaskGetDomains
  20. class CTaskGetDomains
  21. : public ITaskGetDomains
  22. {
  23. private:
  24. // IUnknown
  25. LONG m_cRef;
  26. // ITaskGetDomains
  27. IStream * m_pStream; // Interface marshalling stream
  28. ITaskGetDomainsCallback * m_ptgdcb; // Marshalled interface
  29. CRITICAL_SECTION m_csCallback; // Protects access to m_ptgdcb
  30. CTaskGetDomains( void );
  31. ~CTaskGetDomains( void );
  32. STDMETHOD( Init )(void);
  33. HRESULT HrReleaseCurrentCallback( void );
  34. HRESULT HrUnMarshallCallback( void );
  35. STDMETHOD( ReceiveDomainResult )( HRESULT hrIn );
  36. STDMETHOD( ReceiveDomainName )( BSTR bstrDomainNameIn );
  37. public: // Methods
  38. static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
  39. // IUnknown
  40. STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
  41. STDMETHOD_( ULONG, AddRef )( void );
  42. STDMETHOD_( ULONG, Release )( void );
  43. // IDoTask / ITaskGetDomains
  44. STDMETHOD( BeginTask )( void );
  45. STDMETHOD( StopTask )( void );
  46. STDMETHOD( SetCallback )( ITaskGetDomainsCallback * punkIn );
  47. }; // class CTaskGetDomains