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.

74 lines
2.0 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. Copy.hxx
  5. Abstract:
  6. Declaration of VSS_OBJECT_PROP_Copy
  7. Adi Oltean [aoltean] 08/31/1999
  8. Revision History:
  9. Name Date Comments
  10. aoltean 08/31/1999 Created
  11. aoltean 09/09/1999 dss -> vss
  12. aoltean 09/13/1999 Moved into inc and keep only the VSS_OBJECT_PROP_Copy.
  13. Renamed into copy.hxx
  14. aoltean 09/20/1999 Adding methods for creating the snapshot, snapshot set,
  15. provider and volume property structures.
  16. Also VSS_OBJECT_PROP_Copy renamed to VSS_OBJECT_PROP_Manager.
  17. aoltean 09/21/1999 Renaming back VSS_OBJECT_PROP_Manager to VSS_OBJECT_PROP_Copy.
  18. Moving the CreateXXX into VSS_OBJECT_PROP_Ptr::InstantiateAsXXX
  19. aoltean 12/16/1999 Adding specialized copyXXX methods
  20. aoltean 03/27/2000 Adding writer support.
  21. --*/
  22. #ifndef __VSS_COPY_HXX__
  23. #define __VSS_COPY_HXX__
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif
  27. ////////////////////////////////////////////////////////////////////////
  28. // Standard foo for file name aliasing. This code block must be after
  29. // all includes of VSS header files.
  30. //
  31. #ifdef VSS_FILE_ALIAS
  32. #undef VSS_FILE_ALIAS
  33. #endif
  34. #define VSS_FILE_ALIAS "INCCOPYH"
  35. //
  36. ////////////////////////////////////////////////////////////////////////
  37. /////////////////////////////////////////////////////////////////////////////
  38. // VSS_OBJECT_PROP_Copy
  39. //
  40. // This class is used as a template parameter in CComEnumOnSTL
  41. //
  42. class VSS_OBJECT_PROP_Copy
  43. {
  44. // Static Operations needed by ATL.
  45. // VSS_OBJECT_PROP_Copy is designed to act as a Copy class in CComEnumOnSTL template instantiation.
  46. public:
  47. static HRESULT copySnapshot( VSS_SNAPSHOT_PROP* lhs, VSS_SNAPSHOT_PROP* rhs);
  48. static HRESULT copyProvider( VSS_PROVIDER_PROP* lhs, VSS_PROVIDER_PROP* rhs);
  49. static HRESULT copy(VSS_OBJECT_PROP* lhs, VSS_OBJECT_PROP* rhs);
  50. static void init(VSS_OBJECT_PROP*);
  51. static void destroy(VSS_OBJECT_PROP*);
  52. };
  53. #endif // __VSS_COPY_HXX__