; 
; Exports of file VSSAPI.DLL
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY VSSAPI.DLL
EXPORTS
SimulateSnapshotFreeze
SimulateSnapshotThaw
IsVolumeSnapshotted
VssFreeSnapshotProperties
ShouldBlockRevert
; public: __cdecl CVssJetWriter::CVssJetWriter(void) __ptr64
??0CVssJetWriter@@QEAA@XZ
; public: __cdecl CVssWriter::CVssWriter(void) __ptr64
??0CVssWriter@@QEAA@XZ
; public: virtual __cdecl CVssJetWriter::~CVssJetWriter(void) __ptr64
??1CVssJetWriter@@UEAA@XZ
; public: virtual __cdecl CVssWriter::~CVssWriter(void) __ptr64
??1CVssWriter@@UEAA@XZ
; protected: bool __cdecl CVssWriter::AreComponentsSelected(void)const  __ptr64
?AreComponentsSelected@CVssWriter@@IEBA_NXZ
; long __cdecl CreateVssBackupComponents(class IVssBackupComponents * __ptr64 * __ptr64)
?CreateVssBackupComponents@@YAJPEAPEAVIVssBackupComponents@@@Z
; long __cdecl CreateVssExamineWriterMetadata(unsigned short * __ptr64,class IVssExamineWriterMetadata * __ptr64 * __ptr64)
?CreateVssExamineWriterMetadata@@YAJPEAGPEAPEAVIVssExamineWriterMetadata@@@Z
; long __cdecl CreateVssSnapshotSetDescription(struct _GUID,long,class IVssSnapshotSetDescription * __ptr64 * __ptr64)
?CreateVssSnapshotSetDescription@@YAJU_GUID@@JPEAPEAVIVssSnapshotSetDescription@@@Z
; protected: enum _VSS_BACKUP_TYPE  __cdecl CVssWriter::GetBackupType(void)const  __ptr64
?GetBackupType@CVssWriter@@IEBA?AW4_VSS_BACKUP_TYPE@@XZ
; protected: long __cdecl CVssWriter::GetContext(void)const  __ptr64
?GetContext@CVssWriter@@IEBAJXZ
; protected: enum _VSS_APPLICATION_LEVEL  __cdecl CVssWriter::GetCurrentLevel(void)const  __ptr64
?GetCurrentLevel@CVssWriter@@IEBA?AW4_VSS_APPLICATION_LEVEL@@XZ
; protected: struct _GUID  __cdecl CVssWriter::GetCurrentSnapshotSetId(void)const  __ptr64
?GetCurrentSnapshotSetId@CVssWriter@@IEBA?AU_GUID@@XZ
; protected: unsigned short const * __ptr64 * __ptr64 __cdecl CVssWriter::GetCurrentVolumeArray(void)const  __ptr64
?GetCurrentVolumeArray@CVssWriter@@IEBAPEAPEBGXZ
; protected: unsigned int __cdecl CVssWriter::GetCurrentVolumeCount(void)const  __ptr64
?GetCurrentVolumeCount@CVssWriter@@IEBAIXZ
; protected: enum _VSS_RESTORE_TYPE  __cdecl CVssWriter::GetRestoreType(void)const  __ptr64
?GetRestoreType@CVssWriter@@IEBA?AW4_VSS_RESTORE_TYPE@@XZ
; protected: long __cdecl CVssWriter::GetSnapshotDeviceName(unsigned short const * __ptr64,unsigned short const * __ptr64 * __ptr64)const  __ptr64
?GetSnapshotDeviceName@CVssWriter@@IEBAJPEBGPEAPEBG@Z
; public: long __cdecl CVssJetWriter::Initialize(struct _GUID,unsigned short const * __ptr64,bool,bool,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?Initialize@CVssJetWriter@@QEAAJU_GUID@@PEBG_N211@Z
; public: long __cdecl CVssWriter::Initialize(struct _GUID,unsigned short const * __ptr64,enum VSS_USAGE_TYPE,enum VSS_SOURCE_TYPE,enum _VSS_APPLICATION_LEVEL,unsigned long,enum VSS_ALTERNATE_WRITER_STATE,bool,unsigned short const * __ptr64) __ptr64
?Initialize@CVssWriter@@QEAAJU_GUID@@PEBGW4VSS_USAGE_TYPE@@W4VSS_SOURCE_TYPE@@W4_VSS_APPLICATION_LEVEL@@KW4VSS_ALTERNATE_WRITER_STATE@@_N1@Z
; public: long __cdecl CVssWriter::InstallAlternateWriter(struct _GUID,struct _GUID) __ptr64
?InstallAlternateWriter@CVssWriter@@QEAAJU_GUID@@0@Z
; protected: bool __cdecl CVssWriter::IsBootableSystemStateBackedUp(void)const  __ptr64
?IsBootableSystemStateBackedUp@CVssWriter@@IEBA_NXZ
; protected: bool __cdecl CVssWriter::IsPartialFileSupportEnabled(void)const  __ptr64
?IsPartialFileSupportEnabled@CVssWriter@@IEBA_NXZ
; protected: bool __cdecl CVssWriter::IsPathAffected(unsigned short const * __ptr64)const  __ptr64
?IsPathAffected@CVssWriter@@IEBA_NPEBG@Z
; long __cdecl LoadVssSnapshotSetDescription(unsigned short const * __ptr64,class IVssSnapshotSetDescription * __ptr64 * __ptr64,struct _GUID)
?LoadVssSnapshotSetDescription@@YAJPEBGPEAPEAVIVssSnapshotSetDescription@@U_GUID@@@Z
; public: virtual void __cdecl CVssJetWriter::OnAbortBegin(void) __ptr64
?OnAbortBegin@CVssJetWriter@@UEAAXXZ
; public: virtual void __cdecl CVssJetWriter::OnAbortEnd(void) __ptr64
?OnAbortEnd@CVssJetWriter@@UEAAXXZ
; public: virtual bool __cdecl CVssWriter::OnBackOffIOOnVolume(unsigned short * __ptr64,struct _GUID,struct _GUID) __ptr64
?OnBackOffIOOnVolume@CVssWriter@@UEAA_NPEAGU_GUID@@1@Z
; public: virtual bool __cdecl CVssWriter::OnBackupComplete(class IVssWriterComponents * __ptr64) __ptr64
?OnBackupComplete@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
; public: virtual bool __cdecl CVssJetWriter::OnBackupCompleteBegin(class IVssWriterComponents * __ptr64) __ptr64
?OnBackupCompleteBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
; public: virtual bool __cdecl CVssJetWriter::OnBackupCompleteEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
?OnBackupCompleteEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
; public: virtual bool __cdecl CVssWriter::OnBackupShutdown(struct _GUID) __ptr64
?OnBackupShutdown@CVssWriter@@UEAA_NU_GUID@@@Z
; public: virtual bool __cdecl CVssWriter::OnContinueIOOnVolume(unsigned short * __ptr64,struct _GUID,struct _GUID) __ptr64
?OnContinueIOOnVolume@CVssWriter@@UEAA_NPEAGU_GUID@@1@Z
; public: virtual bool __cdecl CVssJetWriter::OnFreezeBegin(void) __ptr64
?OnFreezeBegin@CVssJetWriter@@UEAA_NXZ
; public: virtual bool __cdecl CVssJetWriter::OnFreezeEnd(bool) __ptr64
?OnFreezeEnd@CVssJetWriter@@UEAA_N_N@Z
; public: virtual bool __cdecl CVssJetWriter::OnIdentify(class IVssCreateWriterMetadata * __ptr64) __ptr64
?OnIdentify@CVssJetWriter@@UEAA_NPEAVIVssCreateWriterMetadata@@@Z
; public: virtual bool __cdecl CVssWriter::OnIdentify(class IVssCreateWriterMetadata * __ptr64) __ptr64
?OnIdentify@CVssWriter@@UEAA_NPEAVIVssCreateWriterMetadata@@@Z
; public: virtual bool __cdecl CVssWriter::OnPostRestore(class IVssWriterComponents * __ptr64) __ptr64
?OnPostRestore@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
; public: virtual bool __cdecl CVssJetWriter::OnPostRestoreBegin(class IVssWriterComponents * __ptr64) __ptr64
?OnPostRestoreBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
; public: virtual bool __cdecl CVssJetWriter::OnPostRestoreEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
?OnPostRestoreEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
; public: virtual bool __cdecl CVssJetWriter::OnPostSnapshot(class IVssWriterComponents * __ptr64) __ptr64
?OnPostSnapshot@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
; public: virtual bool __cdecl CVssWriter::OnPostSnapshot(class IVssWriterComponents * __ptr64) __ptr64
?OnPostSnapshot@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
; public: virtual bool __cdecl CVssWriter::OnPreRestore(class IVssWriterComponents * __ptr64) __ptr64
?OnPreRestore@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
; public: virtual bool __cdecl CVssJetWriter::OnPreRestoreBegin(class IVssWriterComponents * __ptr64) __ptr64
?OnPreRestoreBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
; public: virtual bool __cdecl CVssJetWriter::OnPreRestoreEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
?OnPreRestoreEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
; public: virtual bool __cdecl CVssWriter::OnPrepareBackup(class IVssWriterComponents * __ptr64) __ptr64
?OnPrepareBackup@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
; public: virtual bool __cdecl CVssJetWriter::OnPrepareBackupBegin(class IVssWriterComponents * __ptr64) __ptr64
?OnPrepareBackupBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
; public: virtual bool __cdecl CVssJetWriter::OnPrepareBackupEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
?OnPrepareBackupEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
; public: virtual bool __cdecl CVssJetWriter::OnPrepareSnapshotBegin(void) __ptr64
?OnPrepareSnapshotBegin@CVssJetWriter@@UEAA_NXZ
; public: virtual bool __cdecl CVssJetWriter::OnPrepareSnapshotEnd(bool) __ptr64
?OnPrepareSnapshotEnd@CVssJetWriter@@UEAA_N_N@Z
; public: virtual bool __cdecl CVssJetWriter::OnThawBegin(void) __ptr64
?OnThawBegin@CVssJetWriter@@UEAA_NXZ
; public: virtual bool __cdecl CVssJetWriter::OnThawEnd(bool) __ptr64
?OnThawEnd@CVssJetWriter@@UEAA_N_N@Z
; public: virtual bool __cdecl CVssWriter::OnVSSApplicationStartup(void) __ptr64
?OnVSSApplicationStartup@CVssWriter@@UEAA_NXZ
; public: virtual bool __cdecl CVssWriter::OnVSSShutdown(void) __ptr64
?OnVSSShutdown@CVssWriter@@UEAA_NXZ
; protected: long __cdecl CVssWriter::SetWriterFailure(long) __ptr64
?SetWriterFailure@CVssWriter@@IEAAJJ@Z
; public: long __cdecl CVssWriter::Subscribe(unsigned long) __ptr64
?Subscribe@CVssWriter@@QEAAJK@Z
; public: void __cdecl CVssJetWriter::Uninitialize(void) __ptr64
?Uninitialize@CVssJetWriter@@QEAAXXZ
; public: long __cdecl CVssWriter::Unsubscribe(void) __ptr64
?Unsubscribe@CVssWriter@@QEAAJXZ
