diff options
Diffstat (limited to 'vendor/winapi/src/um/vsbackup.rs')
-rw-r--r-- | vendor/winapi/src/um/vsbackup.rs | 520 |
1 files changed, 0 insertions, 520 deletions
diff --git a/vendor/winapi/src/um/vsbackup.rs b/vendor/winapi/src/um/vsbackup.rs deleted file mode 100644 index 0a7f260..0000000 --- a/vendor/winapi/src/um/vsbackup.rs +++ /dev/null @@ -1,520 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Declaration of backup interfaces. -use ctypes::c_void; -use shared::guiddef::IID; -use shared::minwindef::{BOOL, BYTE, DWORD, UINT}; -use shared::wtypes::BSTR; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::vss::{ - IVssAsync, IVssEnumObject, VSS_BACKUP_TYPE, VSS_ID, VSS_OBJECT_TYPE, VSS_PWSZ, - VSS_RESTORE_TYPE, VSS_ROLLFORWARD_TYPE, VSS_SNAPSHOT_PROP, VSS_WRITER_STATE -}; -use um::vswriter::{ - IVssWMDependency, IVssWMFiledesc, IVssWriterComponentsVtbl, VSS_COMPONENT_TYPE, - VSS_FILE_RESTORE_STATUS, VSS_RESTOREMETHOD_ENUM, VSS_SOURCE_TYPE, VSS_USAGE_TYPE, - VSS_WRITERRESTORE_ENUM -}; -use um::winnt::{HRESULT, LONG, LPCWSTR}; -DEFINE_GUID!{IID_IVssExamineWriterMetadata, - 0x902fcf7f, 0xb7fd, 0x42f8, 0x81, 0xf1, 0xb2, 0xe4, 0x00, 0xb1, 0xe5, 0xbd} -DEFINE_GUID!{IID_IVssExamineWriterMetadataEx, - 0x0c0e5ec0, 0xca44, 0x472b, 0xb7, 0x02, 0xe6, 0x52, 0xdb, 0x1c, 0x04, 0x51} -DEFINE_GUID!{IID_IVssBackupComponents, - 0x665c1d5f, 0xc218, 0x414d, 0xa0, 0x5d, 0x7f, 0xef, 0x5f, 0x9d, 0x5c, 0x86} -DEFINE_GUID!{IID_IVssBackupComponentsEx, - 0x963f03ad, 0x9e4c, 0x4a34, 0xac, 0x15, 0xe4, 0xb6, 0x17, 0x4e, 0x50, 0x36} -STRUCT!{struct VSS_COMPONENTINFO { - type_: VSS_COMPONENT_TYPE, // type is a keyword in rust - bstrLogicalPath: BSTR, - bstrComponentName: BSTR, - bstrCaption: BSTR, - pbIcon: *mut BYTE, - cbIcon: UINT, - bRestoreMetadata: bool, - bNotifyOnBackupComplete: bool, - bSelectable: bool, - bSelectableForRestore: bool, - dwComponentFlags: DWORD, - cFileCount: UINT, - cDatabases: UINT, - cLogFiles: UINT, - cDependencies: UINT, -}} -pub type PVSSCOMPONENTINFO = *const VSS_COMPONENTINFO; -RIDL!{#[uuid(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)] -interface IVssWMComponent(IVssWMComponentVtbl): IUnknown(IUnknownVtbl) { - fn GetComponentInfo( - ppInfo: *mut PVSSCOMPONENTINFO, - ) -> HRESULT, - fn FreeComponentInfo( - pInfo: PVSSCOMPONENTINFO, - ) -> HRESULT, - fn GetFile( - iFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetDatabaseFile( - iDBFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetDatabaseLogFile( - iDbLogFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetDependency( - iDependency: UINT, - ppDependency: *mut *mut IVssWMDependency, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x902fcf7f, 0xb7fd, 0x42f8, 0x81, 0xf1, 0xb2, 0xe4, 0x00, 0xb1, 0xe5, 0xbd)] -interface IVssExamineWriterMetadata(IVssExamineWriterMetadataVtbl): IUnknown(IUnknownVtbl) { - fn GetIdentity( - pidInstance: *mut VSS_ID, - pidWriter: *mut VSS_ID, - pbstrWriterName: *mut BSTR, - pUsage: *mut VSS_USAGE_TYPE, - pSource: *mut VSS_SOURCE_TYPE, - ) -> HRESULT, - fn GetFileCounts( - pcIncludeFiles: *mut UINT, - pcExcludeFiles: *mut UINT, - pcComponents: *mut UINT, - ) -> HRESULT, - fn GetIncludeFile( - iFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetExcludeFile( - iFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetComponent( - iComponent: UINT, - ppComponent: *mut *mut IVssWMComponent, - ) -> HRESULT, - fn GetRestoreMethod( - pMethod: *mut VSS_RESTOREMETHOD_ENUM, - pbstrService: *mut BSTR, - pbstrUserProcedure: *mut BSTR, - pwriterRestore: *mut VSS_WRITERRESTORE_ENUM, - pbRebootRequired: *mut bool, - pcMappings: *mut UINT, - ) -> HRESULT, - fn GetAlternateLocationMapping( - iMapping: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetBackupSchema( - pdwSchemaMask: *mut DWORD, - ) -> HRESULT, - fn GetDocument( - pDoc: *mut c_void, - ) -> HRESULT, //TODO IXMLDOMDocument, - fn SaveAsXML( - pbstrXML: *mut BSTR, - ) -> HRESULT, - fn LoadFromXML( - pbstrXML: *mut BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0c0e5ec0, 0xca44, 0x472b, 0xb7, 0x02, 0xe6, 0x52, 0xdb, 0x1c, 0x04, 0x51)] -interface IVssExamineWriterMetadataEx(IVssExamineWriterMetadataExVtbl): - IVssExamineWriterMetadata(IVssExamineWriterMetadataVtbl) { - fn GetIdentityEx( - pidInstance: *mut VSS_ID, - pidWriter: *mut VSS_ID, - pbstrWriterName: *mut BSTR, - pbstrInstanceName: *mut BSTR, - pUsage: *mut VSS_USAGE_TYPE, - pSource: *mut VSS_SOURCE_TYPE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xce115780, 0xa611, 0x431b, 0xb5, 0x7f, 0xc3, 0x83, 0x03, 0xab, 0x6a, 0xee)] -interface IVssExamineWriterMetadataEx2(IVssExamineWriterMetadataEx2Vtbl): - IVssExamineWriterMetadataEx(IVssExamineWriterMetadataExVtbl) { - fn GetVersion( - pdwMajorVersion: *mut DWORD, - pdwMinorVersion: *mut DWORD, - ) -> HRESULT, - fn GetExcludeFromSnapshotCount( - pcExcludedFromSnapshot: *mut UINT, - ) -> HRESULT, - fn GetExcludeFromSnapshotFile( - iFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, -}} -#[repr(C)] -pub struct IVssWriterComponentsExt { - pub lpVtbl: *const IVssWriterComponentsExtVtbl, -} -#[repr(C)] -pub struct IVssWriterComponentsExtVtbl { - pub parent1: IVssWriterComponentsVtbl, - pub parent2: IUnknownVtbl, -} -RIDL!{#[uuid(0x665c1d5f, 0xc218, 0x414d, 0xa0, 0x5d, 0x7f, 0xef, 0x5f, 0x9d, 0x5c, 0x86)] -interface IVssBackupComponents(IVssBackupComponentsVtbl): IUnknown(IUnknownVtbl) { - fn GetWriterComponentsCount( - pcComponents: *mut UINT, - ) -> HRESULT, - fn GetWriterComponents( - iWriter: UINT, - ppWriter: *mut *mut IVssWriterComponentsExt, - ) -> HRESULT, - fn InitializeForBackup( - bstrXML: BSTR, - ) -> HRESULT, - fn SetBackupState( - bSelectComponents: bool, - bBackupBootableSystemState: bool, - backupType: VSS_BACKUP_TYPE, - bPartialFileSupport: bool, - ) -> HRESULT, - fn InitializeForRestore( - bstrXML: BSTR, - ) -> HRESULT, - fn SetRestoreState( - restoreType: VSS_RESTORE_TYPE, - ) -> HRESULT, - fn GatherWriterMetadata( - pAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn GetWriterMetadataCount( - pcWriters: *mut UINT, - ) -> HRESULT, - fn GetWriterMetadata( - iWriter: UINT, - pidInstance: *mut VSS_ID, - ppMetadata: *mut *mut IVssExamineWriterMetadata, - ) -> HRESULT, - fn FreeWriterMetadata() -> HRESULT, - fn AddComponent( - instanceId: VSS_ID, - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - ) -> HRESULT, - fn PrepareForBackup( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn AbortBackup() -> HRESULT, - fn GatherWriterStatus( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn GetWriterStatusCount( - pcWriters: *mut UINT, - ) -> HRESULT, - fn FreeWriterStatus() -> HRESULT, - fn GetWriterStatus( - iWriter: UINT, - pidInstance: *mut VSS_ID, - pidWriter: *mut VSS_ID, - pbstrWriter: *mut BSTR, - pnStatus: *mut VSS_WRITER_STATE, - phResultFailure: *mut HRESULT, - ) -> HRESULT, - fn SetBackupSucceeded( - instanceId: VSS_ID, - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - bSucceded: bool, - ) -> HRESULT, - fn SetBackupOptions( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszBackupOptions: LPCWSTR, - ) -> HRESULT, - fn SetSelectedForRestore( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - bSelectedForRestore: bool, - ) -> HRESULT, - fn SetRestoreOptions( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszRestoreOptions: LPCWSTR, - ) -> HRESULT, - fn SetAdditionalRestores( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - bAdditionalRestores: bool, - ) -> HRESULT, - fn SetPreviousBackupStamp( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszPreviousBackupStamp: LPCWSTR, - ) -> HRESULT, - fn SaveAsXML( - pbstrXML: *mut BSTR, - ) -> HRESULT, - fn BackupComplete( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn AddAlternativeLocationMapping( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszPath: LPCWSTR, - wszFilespec: LPCWSTR, - bRecursive: bool, - wszDestination: LPCWSTR, - ) -> HRESULT, - fn AddRestoreSubcomponent( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszSubComponentLogicalPath: LPCWSTR, - wszSubComponentName: LPCWSTR, - bRepair: bool, - ) -> HRESULT, - fn SetFileRestoreStatus( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - status: VSS_FILE_RESTORE_STATUS, - ) -> HRESULT, - fn AddNewTarget( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszPath: LPCWSTR, - wszFileName: LPCWSTR, - bRecursive: bool, - wszAlternatePath: LPCWSTR, - ) -> HRESULT, - fn SetRangesFilePath( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - iPartialFile: UINT, - wszRangesFile: LPCWSTR, - ) -> HRESULT, - fn PreRestore( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn PostRestore( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn SetContext( - lContext: LONG, - ) -> HRESULT, - fn StartSnapshotSet( - pSnapshotSetId: *mut VSS_ID, - ) -> HRESULT, - fn AddToSnapshotSet( - pwszVolumeName: VSS_PWSZ, - ProviderId: VSS_ID, - pidSnapshot: *mut VSS_ID, - ) -> HRESULT, - fn DoSnapshotSet( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn DeleteSnapshots( - SourceObjectId: VSS_ID, - eSourceObjectType: VSS_OBJECT_TYPE, - bForceDelete: BOOL, - plDeletedSnapshots: *mut LONG, - pNondeletedSnapshotID: *mut VSS_ID, - ) -> HRESULT, - fn ImportSnapshots( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn BreakSnapshotSet( - SnapshotSetId: VSS_ID, - ) -> HRESULT, - fn GetSnapshotProperties( - SnapshotId: VSS_ID, - pProp: *mut VSS_SNAPSHOT_PROP, - ) -> HRESULT, - fn Query( - QueriedObjectId: VSS_ID, - eQueriedObjectType: VSS_OBJECT_TYPE, - eReturnedObjectsType: VSS_OBJECT_TYPE, - ppEnum: *mut *mut IVssEnumObject, - ) -> HRESULT, - fn IsVolumeSupported( - ProviderId: VSS_ID, - pwszVolumeName: VSS_PWSZ, - pbSupportedByThisProvider: *mut BOOL, - ) -> HRESULT, - fn DisableWriterClasses( - rgWriterClassId: *const VSS_ID, - cClassId: UINT, - ) -> HRESULT, - fn EnableWriterClasses( - rgWriterClassId: *const VSS_ID, - cClassId: UINT, - ) -> HRESULT, - fn DisableWriterInstances( - rgWriterInstanceId: *const VSS_ID, - cInstanceId: UINT, - ) -> HRESULT, - fn ExposeSnapshot( - SnapshotId: VSS_ID, - wszPathFromRoot: VSS_PWSZ, - lAttributes: LONG, - wszExpose: VSS_PWSZ, - pwszExposed: VSS_PWSZ, - ) -> HRESULT, - fn RevertToSnapshot( - SnapshotId: VSS_ID, - bForceDismount: BOOL, - ) -> HRESULT, - fn QueryRevertStatus( - pwszVolume: VSS_PWSZ, - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x963f03ad, 0x9e4c, 0x4a34, 0xac, 0x15, 0xe4, 0xb6, 0x17, 0x4e, 0x50, 0x36)] -interface IVssBackupComponentsEx(IVssBackupComponentsExVtbl): - IVssBackupComponents(IVssBackupComponentsVtbl) { - fn GetWriterMetadataEx( - iWriter: UINT, - pidInstance: *mut VSS_ID, - ppMetadata: *mut *mut IVssExamineWriterMetadataEx, - ) -> HRESULT, - fn SetSelectedForRestoreEx( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - bSelectedForRestore: bool, - instanceId: VSS_ID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xacfe2b3a, 0x22c9, 0x4ef8, 0xbd, 0x03, 0x2f, 0x9c, 0xa2, 0x30, 0x08, 0x4e)] -interface IVssBackupComponentsEx2(IVssBackupComponentsEx2Vtbl): - IVssBackupComponentsEx(IVssBackupComponentsExVtbl) { - fn UnexposeSnapshot( - snapshotId: VSS_ID, - ) -> HRESULT, - fn SetAuthoritativeRestore( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - bAuth: bool, - ) -> HRESULT, - fn SetRollForward( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - rollType: VSS_ROLLFORWARD_TYPE, - wszRollForwardPoint: LPCWSTR, - ) -> HRESULT, - fn SetRestoreName( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszRestoreName: LPCWSTR, - ) -> HRESULT, - fn BreakSnapshotSetEx( - SnapshotSetID: VSS_ID, - dwBreakFlags: DWORD, - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn PreFastRecovery( - SnapshotSetID: VSS_ID, - dwPreFastRecoveryFlags: DWORD, - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn FastRecovery( - SnapshotSetID: VSS_ID, - dwFastRecoveryFlags: DWORD, - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc191bfbc, 0xb602, 0x4675, 0x8b, 0xd1, 0x67, 0xd6, 0x42, 0xf5, 0x29, 0xd5)] -interface IVssBackupComponentsEx3(IVssBackupComponentsEx3Vtbl): - IVssBackupComponentsEx2(IVssBackupComponentsEx2Vtbl) { - fn GetWriterStatusEx( - iWriter: UINT, - pidInstance: *mut VSS_ID, - pidWriter: *mut VSS_ID, - pbstrWriter: *mut BSTR, - pnStatus: *mut VSS_WRITER_STATE, - phrFailureWriter: *mut HRESULT, - phrApplication: *mut HRESULT, - pbstrApplicationMessage: *mut BSTR, - ) -> HRESULT, - fn AddSnapshotToRecoverySet( - snapshotId: VSS_ID, - dwFlags: DWORD, - pwszDestinationVolume: VSS_PWSZ, - ) -> HRESULT, - fn RecoverSet( - dwFlags: DWORD, - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn GetSessionId( - idSession: *mut VSS_ID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf434c2fd, 0xb553, 0x4961, 0xa9, 0xf9, 0xa8, 0xe9, 0x0b, 0x67, 0x3e, 0x53)] -interface IVssBackupComponentsEx4(IVssBackupComponentsEx4Vtbl): - IVssBackupComponentsEx3(IVssBackupComponentsEx3Vtbl) { - fn GetRootAndLogicalPrefixPaths( - pwszFilePath: VSS_PWSZ, - ppwszRootPath: *mut VSS_PWSZ, - ppwszLogicalPrefix: *mut VSS_PWSZ, - bNormalizeFQDNforRootPath: BOOL, - ) -> HRESULT, -}} -pub const VSS_SW_BOOTABLE_STATE: DWORD = 1; -extern "system" { - #[link_name="CreateVssBackupComponentsInternal"] - pub fn CreateVssBackupComponents( - ppBackup: *mut *mut IVssBackupComponents, - ) -> HRESULT; - #[link_name="CreateVssExamineWriterMetadataInternal"] - pub fn CreateVssExamineWriterMetadata( - bstrXML: BSTR, - ppMetadata: *mut *mut IVssExamineWriterMetadata, - ) -> HRESULT; - #[link_name="IsVolumeSnapshottedInternal"] - pub fn IsVolumeSnapshotted( - pwszVolumeName: VSS_PWSZ, - pbSnapshotsPresent: *mut BOOL, - plSnapshotCapability: *mut LONG, - ) -> HRESULT; - #[link_name="VssFreeSnapshotPropertiesInternal"] - pub fn VssFreeSnapshotProperties( - pProp: *mut VSS_SNAPSHOT_PROP, - ); - #[link_name="GetProviderMgmtInterfaceInternal"] - pub fn GetProviderMgmtInterface( - ProviderId: VSS_ID, - InterfaceId: IID, - ppItf: *mut *mut IUnknown, - ) -> HRESULT; - #[link_name="ShouldBlockRevertInternal"] - pub fn ShouldBlockRevert( - wszVolumeName: LPCWSTR, - pbBlock: *mut bool, - ) -> HRESULT; -} |