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.

73 lines
2.1 KiB

  1. // baginfo.h : Declaration of the CBagHole
  2. #include "resource.h" // main symbols
  3. #include "Wsb.h" // Wsb Collectable Class
  4. #include "wsbdb.h"
  5. /////////////////////////////////////////////////////////////////////////////
  6. // Task
  7. class CBagInfo :
  8. public CWsbDbEntity,
  9. public IBagInfo,
  10. public CComCoClass<CBagInfo,&CLSID_CBagInfo>
  11. {
  12. public:
  13. CBagInfo() {}
  14. BEGIN_COM_MAP(CBagInfo)
  15. COM_INTERFACE_ENTRY(IBagInfo)
  16. COM_INTERFACE_ENTRY2(IWsbDbEntity, CWsbDbEntity)
  17. COM_INTERFACE_ENTRY(IWsbDbEntityPriv)
  18. COM_INTERFACE_ENTRY(IPersistStream)
  19. COM_INTERFACE_ENTRY(IWsbCollectable)
  20. // COM_INTERFACE_ENTRY(IWsbPersistable)
  21. COM_INTERFACE_ENTRY(IWsbTestable)
  22. END_COM_MAP()
  23. DECLARE_REGISTRY(CBagHole, _T("Task.BagInfo.1"), _T("Task.BagInfo"), IDS_BAGINFO_DESC, THREADFLAGS_BOTH)
  24. // IBagHole
  25. public:
  26. STDMETHOD(FinalConstruct)(void);
  27. // IWsbDbEntity
  28. public:
  29. STDMETHOD(Print)(IStream* pStream);
  30. STDMETHOD(UpdateKey)(IWsbDbKey *pKey);
  31. WSB_FROM_CWSBDBENTITY;
  32. // IPersist
  33. public:
  34. STDMETHOD(GetClassID)(LPCLSID pClsid);
  35. void FinalRelease(void);
  36. // IPersistStream
  37. public:
  38. STDMETHOD(GetSizeMax)(ULARGE_INTEGER* pSize);
  39. STDMETHOD(Load)(IStream* pStream);
  40. STDMETHOD(Save)(IStream* pStream, BOOL clearDirty);
  41. // IWsbTestable
  42. public:
  43. STDMETHOD(Test)(USHORT *pTestsPassed, USHORT* pTestsFailed);
  44. //*/
  45. // IBagHole
  46. public:
  47. STDMETHOD(GetBagInfo)(HSM_BAG_STATUS *pStatus, GUID* pBagId, FILETIME *pBirthDate, LONGLONG *pLen, USHORT *pType, GUID *pVolId, LONGLONG *pDeletedBagAmount, SHORT *pRemoteDataSet);
  48. STDMETHOD(SetBagInfo)(HSM_BAG_STATUS status, GUID bagId, FILETIME birthDate, LONGLONG len, USHORT type, GUID volId, LONGLONG deletedBagAmount, SHORT remoteDataSet );
  49. private:
  50. HSM_BAG_STATUS m_BagStatus;
  51. GUID m_BagId;
  52. FILETIME m_BirthDate;
  53. LONGLONG m_Len;
  54. USHORT m_Type;
  55. GUID m_VolId;
  56. LONGLONG m_DeletedBagAmount;
  57. SHORT m_RemoteDataSet;
  58. };