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.

99 lines
2.8 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. status.h
  5. Abstract:
  6. This file implements the status interface/object.
  7. Author:
  8. Wesley Witt (wesw) 13-May-1997
  9. Environment:
  10. User Mode
  11. --*/
  12. #ifndef __FAXSTATUS_H_
  13. #define __FAXSTATUS_H_
  14. #include "resource.h"
  15. #include "faxport.h"
  16. #include <winfax.h>
  17. class ATL_NO_VTABLE CFaxStatus :
  18. public CComObjectRootEx<CComSingleThreadModel>,
  19. public CComCoClass<CFaxStatus, &CLSID_FaxStatus>,
  20. public ISupportErrorInfo,
  21. public IDispatchImpl<IFaxStatus, &IID_IFaxStatus, &LIBID_FAXCOMLib>
  22. {
  23. public:
  24. CFaxStatus();
  25. ~CFaxStatus();
  26. BOOL Init(CFaxPort *pFaxPort);
  27. void FreeMemory();
  28. DECLARE_REGISTRY_RESOURCEID(IDR_FAXSTATUS)
  29. DECLARE_NOT_AGGREGATABLE(CFaxStatus)
  30. BEGIN_COM_MAP(CFaxStatus)
  31. COM_INTERFACE_ENTRY(IFaxStatus)
  32. COM_INTERFACE_ENTRY(IDispatch)
  33. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  34. END_COM_MAP()
  35. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  36. public:
  37. STDMETHOD(Refresh)();
  38. STDMETHOD(get_ElapsedTime)(/*[out, retval]*/ DATE *pVal);
  39. STDMETHOD(get_SubmittedTime)(/*[out, retval]*/ DATE *pVal);
  40. STDMETHOD(get_StartTime)(/*[out, retval]*/ DATE *pVal);
  41. STDMETHOD(get_Tsid)(/*[out, retval]*/ BSTR *pVal);
  42. STDMETHOD(get_PageCount)(/*[out, retval]*/ long *pVal);
  43. STDMETHOD(get_Description)(/*[out, retval]*/ BSTR *pVal);
  44. STDMETHOD(get_DocumentSize)(/*[out, retval]*/ long *pVal);
  45. STDMETHOD(get_RecipientName)(/*[out, retval]*/ BSTR *pVal);
  46. STDMETHOD(get_SenderName)(/*[out, retval]*/ BSTR *pVal);
  47. STDMETHOD(get_RoutingString)(/*[out, retval]*/ BSTR *pVal);
  48. STDMETHOD(get_Address)(/*[out, retval]*/ BSTR *pVal);
  49. STDMETHOD(get_Receive)(/*[out, retval]*/ BOOL *pVal);
  50. STDMETHOD(get_Send)(/*[out, retval]*/ BOOL *pVal);
  51. STDMETHOD(get_DocumentName)(/*[out, retval]*/ BSTR *pVal);
  52. STDMETHOD(get_DeviceName)(/*[out, retval]*/ BSTR *pVal);
  53. STDMETHOD(get_DeviceId)(/*[out, retval]*/ long *pVal);
  54. STDMETHOD(get_CurrentPage)(/*[out, retval]*/ long *pVal);
  55. STDMETHOD(get_Csid)(/*[out, retval]*/ BSTR *pVal);
  56. STDMETHOD(get_CallerId)(/*[out, retval]*/ BSTR *pVal);
  57. private:
  58. CFaxPort *m_pFaxPort;
  59. BOOL m_Receive;
  60. BOOL m_Send;
  61. BSTR m_Tsid;
  62. BSTR m_Description;
  63. BSTR m_RecipientName;
  64. BSTR m_SenderName;
  65. BSTR m_RoutingString;
  66. BSTR m_Address;
  67. BSTR m_DocName;
  68. BSTR m_DeviceName;
  69. BSTR m_Csid;
  70. BSTR m_CallerId;
  71. DWORD m_PageCount;
  72. DWORD m_DocSize;
  73. DWORD m_DeviceId;
  74. DWORD m_CurrentPage;
  75. SYSTEMTIME m_StartTime;
  76. SYSTEMTIME m_SubmittedTime;
  77. SYSTEMTIME m_ElapsedTime;
  78. };
  79. #endif //__FAXSTATUS_H_