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
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__
|