2025-04-27 07:49:33 -04:00

170 lines
3.7 KiB
Plaintext

///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000 Microsoft Corporation
//
///////////////////////////////////////////////////////////////////////////////
// Imports
//
import "EventSys.idl";
import "vss.idl";
///////////////////////////////////////////////////////////////////////////////
// Forward declarations
//
interface IVssWriter;
interface IVssWriterCallback;
///////////////////////////////////////////////////////////////////////////////
// Declarations
//
[
object,
uuid(9171F2F2-E6F8-445b-91C5-504BF41D1D07),
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
);
[helpstring("method BackupComplete")]
HRESULT BackupComplete(
[in] BSTR bstrSnapshotSetId,
[in] IDispatch* pWriterCallback
);
[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(ED4A8B9D-3377-4884-A493-74897CA57E68),
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
);
[helpstring("method ExposeCurrentState")]
HRESULT ExposeCurrentState(
[in] BSTR WriterInstanceId,
[in] VSS_WRITER_STATE nCurrentState,
[in] HRESULT hrWriterFailure
);
};
////////////////////////////////////////////////////////////////////////////////
// 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;
};
};