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.

91 lines
1.8 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Abstract:
  4. @doc
  5. @module Writer.h | Declaration of Writer
  6. @end
  7. Author:
  8. Adi Oltean [aoltean] 08/18/1999
  9. TBD:
  10. Add comments.
  11. Revision History:
  12. Name Date Comments
  13. aoltean 08/18/1999 Created
  14. --*/
  15. #ifndef __VSSSNAPSHOTWRITER_H_
  16. #define __VSSSNAPSHOTWRITER_H_
  17. /////////////////////////////////////////////////////////////////////////////
  18. // Utility functions
  19. LPWSTR QueryString(LPWSTR wszPrompt);
  20. INT QueryInt(LPWSTR wszPrompt);
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CVssWriter
  23. class ATL_NO_VTABLE CVssWriter :
  24. public CComObjectRootEx<CComSingleThreadModel>,
  25. public IVssWriter
  26. {
  27. // IVssWriter
  28. public:
  29. STDMETHOD(ResolveResource)(
  30. IN BSTR strAppInstance,
  31. IN BSTR strResourceName,
  32. IN BSTR strResourceId,
  33. IN BSTR strProcessContext,
  34. IN BSTR strProcessId,
  35. IN IDispatch* pDepGraphCallback
  36. );
  37. STDMETHOD(PrepareForSnapshot)(
  38. IN BSTR bstrSnapshotSetId,
  39. IN BSTR VolumeNamesList,
  40. IN VSS_FLUSH_TYPE eFlushType,
  41. IN BSTR strFlushContext,
  42. IN IDispatch* pDepGraphCallback,
  43. IN IDispatch* pAsyncCallback
  44. );
  45. STDMETHOD(Freeze)(
  46. IN BSTR bstrSnapshotSetId,
  47. IN INT nApplicationLevel
  48. );
  49. STDMETHOD(Thaw)(
  50. IN BSTR bstrSnapshotSetId
  51. );
  52. BEGIN_COM_MAP(CVssWriter)
  53. COM_INTERFACE_ENTRY(IVssWriter)
  54. END_COM_MAP()
  55. // Implementation
  56. private:
  57. void AskCancelDuringFreezeThaw(
  58. IN CVssFunctionTracer& ft
  59. );
  60. CComPtr<IVssAsync> m_pAsync;
  61. };
  62. #endif //__VSSSNAPSHOTWRITER_H_