IsVolumeSnapshotted 函式 (vsbackup.h)
IsVolumeSnapshotted 函式會判斷指定的磁碟區是否有任何陰影複製存在。
注意 此函式會導出為 IsVolumeSnapshottedInternal,但您應該呼叫 IsVolumeSnapshotted,而不是 IsVolumeSnapshottedInternal。
語法
HRESULT IsVolumeSnapshotted(
[in] VSS_PWSZ pwszVolumeName,
[out] BOOL *pbSnapshotsPresent,
[out] LONG *plSnapshotCapability
);
參數
[in] pwszVolumeName
磁碟區的名稱。 要檢查的磁碟區名稱必須是下列其中一種格式,且必須包含尾端反斜杠 (\) :
- 掛接資料夾的路徑,例如 Y:\MountX\
- 驅動器號,例如 D:\
- 格式為 \\?\Volume{GUID}\ 的磁碟區 GUID 路徑 (,其中 GUID 會識別磁碟區)
[out] pbSnapshotsPresent
如果磁碟區具有陰影複製,則此參數的值為 TRUE ;如果磁碟區沒有陰影複製,則為 FALSE 。
[out] plSnapshotCapability
位掩碼 (或位 OR 或 ) VSS_SNAPSHOT_COMPATIBILITY 值,指出指定的磁碟區是否停用特定磁碟區控制或檔案 I/O 作業。如果磁碟區的陰影複製存在,
傳回值
此處所列的傳回值除了一般 COM HRESULT之外,隨時都可以從函式傳回。
值 | 意義 |
---|---|
|
語言函式已順利完成。 |
|
呼叫端沒有足夠的備份許可權,或不是系統管理員。 |
|
其中一個參數無效。 |
|
記憶體不足或其他系統資源。 |
|
預期的提供者錯誤。 提供者在事件記錄檔中記錄錯誤。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。 |
|
找不到指定的磁碟區。 |
|
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 E_UNEXPECTED改 用。 |
|
未預期的提供者錯誤。 錯誤碼會記錄在事件記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。 |
備註
呼叫此函式之前,呼叫端必須藉由呼叫 CoInitialize 函式來初始化 COM。
如果未針對選取的磁碟區停用磁碟區控制或檔案 I/O 作業, plSnapshotCapability 所傳回之所選磁碟區的陰影複製功能將會是零。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |
Dll | VssApi.dll |