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.
|
|
/*++
Copyright (c) 1999 Microsoft Corporation
Abstract:
@doc @module Snapshot.hxx | Declarations used by the Software Snapshot interface @end
Author:
Adi Oltean [aoltean] 07/30/1999
Revision History:
Name Date Comments
aoltean 07/30/1999 Created. aoltean 09/09/1999 dss->vss
--*/
#ifndef __VSSW_SNAPSHOT_HXX__
#define __VSSW_SNAPSHOT_HXX__
#if _MSC_VER > 1000
#pragma once
#endif
/////////////////////////////////////////////////////////////////////////////
// Classes
//
// @class CVsSoftwareSnapshot | IVssSnapshot implementation
//
// @index method | IVssSnapshot
// @doc IVssSnapshot
//
class ATL_NO_VTABLE CVsSoftwareSnapshot : public CComObjectRoot, public IVssSnapshot { // Constructors/ destructors
public: CVsSoftwareSnapshot(); ~CVsSoftwareSnapshot();
// ATL stuff
private:
DECLARE_REGISTRY_RESOURCEID(IDR_SWPRV)
BEGIN_COM_MAP(CVsSoftwareSnapshot) COM_INTERFACE_ENTRY(IVssSnapshot) END_COM_MAP()
// Operations
public: static HRESULT CreateInstance( IN CVssQueuedSnapshot* pQSnap, OUT IUnknown** ppSnapItf, IN const IID iid = IID_IVssSnapshot );
// Ovverides
public:
//
// interface IVssSnapshot
//
STDMETHOD(GetID)( OUT VSS_ID* pSnapshotId );
STDMETHOD(GetDevice)( OUT VSS_PWSZ* ppwszSnapshotDeviceName );
STDMETHOD(GetOriginalVolumeName)( OUT VSS_PWSZ* ppwszVolumeName );
STDMETHOD(GetAttributes)( OUT LONG* plAttributes );
STDMETHOD(GetCustomProperty)( IN VSS_PWSZ pwszPropertyName, OUT VARIANT* pPropertyValue );
STDMETHOD(SetCustomProperty)( IN VSS_PWSZ pwszPropertyName, IN VARIANT PropertyValue );
STDMETHOD(GetProperties)( IN LONG lMask, OUT PVSS_SNAPSHOT_PROP pProp );
STDMETHOD(SetAttributes)( IN ULONG lNewAttributes, IN ULONG lBitsToChange // Mask of bits to be changed
);
STDMETHOD(SetProperties)( IN LONG lMask, IN PVSS_SNAPSHOT_PROP pProp );
// Data members
protected: CComPtr<CVssQueuedSnapshot> m_ptrQueuedSnapshot; // Release called automatically at destruction time
// Critical section or avoiding race between tasks
CComCriticalSection m_cs; };
#endif // __VSSW_SNAPSHOT_HXX__
|