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.

60 lines
2.0 KiB

  1. /******************************************************************************
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. MPCUploadEvents.h
  5. Abstract:
  6. This file contains the declaration of the DMPCUploadEvents interface,
  7. which is used in the ActiveSync method to receive event from a job.
  8. Revision History:
  9. Davide Massarenti (Dmassare) 04/30/99
  10. created
  11. ******************************************************************************/
  12. #if !defined(__INCLUDED___ULMANAGER___MPCUPLOADEVENTS_H___)
  13. #define __INCLUDED___ULMANAGER___MPCUPLOADEVENTS_H___
  14. class ATL_NO_VTABLE CMPCUploadEvents : // Hungarian: mpcc
  15. public CComObjectRootEx<MPC::CComSafeMultiThreadModel>,
  16. public IDispatchImpl<DMPCUploadEvents, &DIID_DMPCUploadEvents, &LIBID_UPLOADMANAGERLib>
  17. {
  18. CComPtr<IMPCUploadJob> m_mpcujJob;
  19. DWORD m_dwUploadEventsCookie;
  20. HANDLE m_hEvent;
  21. bool IsCompleted( /*[in]*/ UL_STATUS usStatus );
  22. void UnregisterForEvents( );
  23. HRESULT RegisterForEvents ( /*[in]*/ IMPCUploadJob* mpcujJob );
  24. public:
  25. CMPCUploadEvents();
  26. HRESULT FinalConstruct();
  27. void FinalRelease();
  28. HRESULT WaitForCompletion( /*[in]*/ IMPCUploadJob* mpcujJob );
  29. BEGIN_COM_MAP(CMPCUploadEvents)
  30. COM_INTERFACE_ENTRY(IDispatch)
  31. COM_INTERFACE_ENTRY(DMPCUploadEvents)
  32. END_COM_MAP()
  33. public:
  34. STDMETHOD(Invoke)( /*[in] */ DISPID dispIdMember,
  35. /*[in] */ REFIID riid ,
  36. /*[in] */ LCID lcid ,
  37. /*[in] */ WORD wFlags ,
  38. /*[in/out]*/ DISPPARAMS *pDispParams ,
  39. /*[out] */ VARIANT *pVarResult ,
  40. /*[out] */ EXCEPINFO *pExcepInfo ,
  41. /*[out] */ UINT *puArgErr );
  42. };
  43. #endif // !defined(__INCLUDED___ULMANAGER___MPCUPLOADEVENTS_H___)