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.
94 lines
2.8 KiB
94 lines
2.8 KiB
/*++
|
|
|
|
Copyright (c) 1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
Copy.hxx
|
|
|
|
Abstract:
|
|
|
|
Declaration of VSS_OBJECT_PROP_Copy
|
|
|
|
|
|
Adi Oltean [aoltean] 08/31/1999
|
|
|
|
Revision History:
|
|
|
|
Name Date Comments
|
|
aoltean 08/31/1999 Created
|
|
aoltean 09/09/1999 dss -> vss
|
|
aoltean 09/13/1999 Moved into inc and keep only the VSS_OBJECT_PROP_Copy.
|
|
Renamed into copy.hxx
|
|
aoltean 09/20/1999 Adding methods for creating the snapshot, snapshot set,
|
|
provider and volume property structures.
|
|
Also VSS_OBJECT_PROP_Copy renamed to VSS_OBJECT_PROP_Manager.
|
|
aoltean 09/21/1999 Renaming back VSS_OBJECT_PROP_Manager to VSS_OBJECT_PROP_Copy.
|
|
Moving the CreateXXX into VSS_OBJECT_PROP_Ptr::InstantiateAsXXX
|
|
aoltean 12/16/1999 Adding specialized copyXXX methods
|
|
aoltean 03/27/2000 Adding writer support.
|
|
aoltean 03/05/2001 Adding support for management objects
|
|
|
|
--*/
|
|
|
|
#ifndef __VSS_COPY_HXX__
|
|
#define __VSS_COPY_HXX__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
// Standard foo for file name aliasing. This code block must be after
|
|
// all includes of VSS header files.
|
|
//
|
|
#ifdef VSS_FILE_ALIAS
|
|
#undef VSS_FILE_ALIAS
|
|
#endif
|
|
#define VSS_FILE_ALIAS "INCCOPYH"
|
|
//
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// Include some headers
|
|
#include "vss.h"
|
|
#include "vsmgmt.h"
|
|
|
|
//
|
|
// This class is used as a template parameter in CComEnumOnSTL for an VSS_OBJECT_PROP array element
|
|
//
|
|
class VSS_OBJECT_PROP_Copy
|
|
{
|
|
|
|
// Static Operations needed by ATL.
|
|
// VSS_OBJECT_PROP_Copy is designed to act as a Copy class in CComEnumOnSTL template instantiation.
|
|
public:
|
|
static HRESULT copySnapshot( VSS_SNAPSHOT_PROP* lhs, VSS_SNAPSHOT_PROP* rhs);
|
|
static HRESULT copyProvider( VSS_PROVIDER_PROP* lhs, VSS_PROVIDER_PROP* rhs);
|
|
|
|
static HRESULT copy(VSS_OBJECT_PROP* lhs, VSS_OBJECT_PROP* rhs);
|
|
static void init(VSS_OBJECT_PROP*);
|
|
static void destroy(VSS_OBJECT_PROP*);
|
|
};
|
|
|
|
|
|
//
|
|
// This class is used as a template parameter in CComEnumOnSTL for an VSS_MGMT_OBJECT_PROP array element
|
|
//
|
|
class VSS_MGMT_OBJECT_PROP_Copy
|
|
{
|
|
|
|
// Static Operations needed by ATL.
|
|
// VSS_OBJECT_PROP_Copy is designed to act as a Copy class in CComEnumOnSTL template instantiation.
|
|
public:
|
|
static HRESULT copyVolume( VSS_VOLUME_PROP* lhs, VSS_VOLUME_PROP* rhs);
|
|
static HRESULT copyDiffVolume( VSS_DIFF_VOLUME_PROP* lhs, VSS_DIFF_VOLUME_PROP* rhs);
|
|
static HRESULT copyDiffArea( VSS_DIFF_AREA_PROP* lhs, VSS_DIFF_AREA_PROP* rhs);
|
|
|
|
static HRESULT copy(VSS_MGMT_OBJECT_PROP* lhs, VSS_MGMT_OBJECT_PROP* rhs);
|
|
static void init(VSS_MGMT_OBJECT_PROP*);
|
|
static void destroy(VSS_MGMT_OBJECT_PROP*);
|
|
};
|
|
|
|
|
|
#endif // __VSS_COPY_HXX__
|