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.
 
 
 
 
 
 

134 lines
3.3 KiB

/*++
Copyright (c) 1999 Microsoft Corporation
Module Name:
vs_idl.hxx
Abstract:
Includes the VSS IDLs
Author:
Adi Oltean [aoltean] 04/11/2001
Revision History:
Name Date Comments
aoltean 04/11/2001 Created
--*/
#ifndef __VSS_IDL_HXX__
#define __VSS_IDL_HXX__
#if _MSC_VER > 1000
#pragma once
#endif
#include <objbase.h>
#include "vss.h"
#include "vscoordint.h"
#include "vsevent.h"
#include "vsprov.h"
#include "vsswprv.h"
// Declaring the IVssSnapshotProvider
// This needs to be used only from VSS, as a wrapper around software and hardware providers
interface IVssSnapshotProvider: public IUnknown
{
// IVssSoftwareSnapshotProvider
STDMETHOD(SetContext)(
IN LONG lContext
) PURE;
STDMETHOD(GetSnapshotProperties)(
IN VSS_ID SnapshotId,
OUT VSS_SNAPSHOT_PROP *pProp
) PURE;
STDMETHOD(Query)(
IN VSS_ID QueriedObjectId,
IN VSS_OBJECT_TYPE eQueriedObjectType,
IN VSS_OBJECT_TYPE eReturnedObjectsType,
OUT IVssEnumObject**ppEnum
) PURE;
STDMETHOD(DeleteSnapshots)(
IN VSS_ID SourceObjectId,
IN VSS_OBJECT_TYPE eSourceObjectType,
IN BOOL bForceDelete,
OUT LONG* plDeletedSnapshots,
OUT VSS_ID* pNondeletedSnapshotID
) PURE;
STDMETHOD(BeginPrepareSnapshot)(
IN VSS_ID SnapshotSetId,
IN VSS_ID SnapshotId,
IN VSS_PWSZ pwszVolumeName,
IN LONG lNewContext
) PURE;
STDMETHOD(IsVolumeSupported)(
IN VSS_PWSZ pwszVolumeName,
OUT BOOL * pbSupportedByThisProvider
) PURE;
STDMETHOD(IsVolumeSnapshotted)(
IN VSS_PWSZ pwszVolumeName,
OUT BOOL * pbSnapshotsPresent,
OUT LONG * plSnapshotCompatibility
) PURE;
STDMETHOD(RevertToSnapshot)(
IN VSS_ID SnapshotId
) PURE;
STDMETHOD(QueryRevertStatus)(
IN VSS_PWSZ pwszVolume,
OUT IVssAsync** ppAsync
) PURE;
// IVssHardwareSnapshotProvider
// TBD
// IVssProviderCreateSnapshotSet
STDMETHOD(EndPrepareSnapshots)(
IN VSS_ID SnapshotSetId
) PURE;
STDMETHOD(PreCommitSnapshots)(
IN VSS_ID SnapshotSetId
) PURE;
STDMETHOD(CommitSnapshots)(
IN VSS_ID SnapshotSetId
) PURE;
STDMETHOD(PostCommitSnapshots)(
IN VSS_ID SnapshotSetId,
IN LONG lSnapshotsCount
) PURE;
STDMETHOD(AbortSnapshots)(
IN VSS_ID SnapshotSetId
) PURE;
// IVssProviderNotifications
STDMETHOD(OnUnload)(
IN BOOL bForceUnload
) PURE;
};
#endif // __VSS_IDL_HXX__