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.
 
 
 
 
 
 

223 lines
6.1 KiB

///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000 Microsoft Corporation
//
///////////////////////////////////////////////////////////////////////////////
// Imports
//
import "EventSys.idl";
import "vss.idl";
///////////////////////////////////////////////////////////////////////////////
// Forward declarations
//
interface IVssWriter;
interface IVssWriterCallback;
///////////////////////////////////////////////////////////////////////////////
// Declarations
//
[
object,
uuid(F2B41165-A791-4c1f-9820-8BE45C784E32),
helpstring("IVssWriter interface"),
oleautomation,
pointer_default(unique)
]
interface IVssWriter : IUnknown
{
[helpstring("method RequestWriterInfo")]
HRESULT RequestWriterInfo(
[in] BSTR bstrSnapshotSetId,
[in] BOOL bWriterMetadata,
[in] BOOL bWriterState,
[in] IDispatch* pWriterCallback
);
[helpstring("method PrepareForBackup")]
HRESULT PrepareForBackup(
[in] BSTR bstrSnapshotSetId,
[in] IDispatch* pWriterCallback
);
[helpstring("method PrepareForSnapshot")]
HRESULT PrepareForSnapshot(
[in] BSTR bstrSnapshotSetId,
[in] BSTR VolumeNamesList
);
[helpstring("method Freeze")]
HRESULT Freeze(
[in] BSTR bstrSnapshotSetId,
[in] INT nApplicationLevel
);
[helpstring("method Thaw")]
HRESULT Thaw(
[in] BSTR bstrSnapshotSetId
);
[helpstring("method PostSnapshot")]
HRESULT PostSnapshot(
[in] BSTR bstrSnapshotSetId,
[in] IDispatch *pWriterCallback,
[in] BSTR SnapshotDevicesList
);
[helpstring("method BackupComplete")]
HRESULT BackupComplete(
[in] BSTR bstrSnapshotSetId,
[in] IDispatch* pWriterCallback
);
[helpstring("method BackupShutdown")]
HRESULT BackupShutdown(
[in] BSTR bstrSnapshotSetId
);
[helpstring("method Abort")]
HRESULT Abort(
[in] BSTR bstrSnapshotSetId
);
[helpstring("method PreRestore")]
HRESULT PreRestore(
[in] IDispatch* pWriterCallback
);
[helpstring("method PostRestore")]
HRESULT PostRestore(
[in] IDispatch* pWriterCallback
);
};
[
object,
dual,
uuid(DDAC9818-DD57-4279-82D5-A380A516EF36),
helpstring("IVssWriterCallback interface"),
pointer_default(unique)
]
interface IVssWriterCallback : IDispatch
{
[helpstring("method ExposeWriterMetadata")]
HRESULT ExposeWriterMetadata(
[in] BSTR WriterInstanceId,
[in] BSTR WriterClassId,
[in] BSTR bstrWriterName,
[in] BSTR strWriterXmlMetadata
);
[helpstring("method GetContent")]
HRESULT GetContent(
[in] BSTR WriterInstanceId,
[out] BSTR* pbstrXMLDocContent
);
[helpstring("method SetContent")]
HRESULT SetContent(
[in] BSTR WriterInstanceId,
[in] BSTR bstrXMLDocContent
);
[helpstring("method GetBackupState")]
HRESULT GetBackupState(
[out] BOOL *pbBootableSystemStateBackedUp,
[out] BOOL *pbAreComponentsSelected,
[out] VSS_BACKUP_TYPE *pBackupType,
[out] BOOL *pbPartialFileSupport,
[out] LONG *plContext
);
[helpstring("method GetRestoreState")]
HRESULT GetRestoreState(
[out] VSS_RESTORE_TYPE* pRestoreType
);
[helpstring("method ExposeCurrentState")]
HRESULT ExposeCurrentState(
[in] BSTR WriterInstanceId,
[in] VSS_WRITER_STATE nCurrentState,
[in] HRESULT hrWriterFailure
);
};
[
object,
dual,
uuid(52946A2D-A7CD-4c1f-82BA-22F0EA17EC4E),
helpstring("IVssCoordinatorCallback interface"),
pointer_default(unique)
]
interface IVssCoordinatorCallback : IUnknown
{
[helpstring("method CoordGetContent")]
HRESULT CoordGetContent(
[in] BSTR WriterInstanceId,
[in] ULONG cbSid,
[in, unique, size_is(cbSid)] BYTE * m_rgbSid,
[out] BSTR* pbstrXMLDocContent
);
[helpstring("method CoordSetContent")]
HRESULT CoordSetContent(
[in] BSTR WriterInstanceId,
[in] ULONG cbSid,
[in, unique, size_is(cbSid)] BYTE * m_rgbSid,
[in] BSTR bstrXMLDocContent
);
[helpstring("method CoordGetBackupState")]
HRESULT CoordGetBackupState(
[out] BOOL *pbBootableSystemStateBackedUp,
[out] BOOL *pbAreComponentsSelected,
[out] VSS_BACKUP_TYPE *pBackupType,
[out] BOOL *pbPartialFileSupport,
[out] LONG *plContext
);
[helpstring("method CoordGetRestoreState")]
HRESULT CoordGetRestoreState(
[out] VSS_RESTORE_TYPE* pRestoreType
);
};
////////////////////////////////////////////////////////////////////////////////
// VssEvent Type Library
[
uuid(3DE641EF-0556-4d4a-98D5-7DBD8AD5D70F),
version(1.0),
helpstring("VssEvent 1.0 Type Library")
]
library VssEventLib
{
importlib("stdole2.tlb");
[
uuid(FAF53CC4-BD73-4e36-83F1-2B23F46E513E),
helpstring("VssEvent Class")
]
coclass VssEvent
{
interface IVssWriter;
};
};