IVssSoftwareSnapshotProvider::IsVolumeSnapshotted 方法 (vsprov.h)

判斷指定的磁碟區是否有任何陰影複製存在。

語法

HRESULT IsVolumeSnapshotted(
  [in]  VSS_PWSZ pwszVolumeName,
  [out] BOOL     *pbSnapshotsPresent,
  [out] LONG     *plSnapshotCompatibility
);

參數

[in] pwszVolumeName

包含磁碟區名稱的 Null 終止寬字元字串。 名稱必須是下列其中一種格式,且必須包含尾端反斜杠 (\) :

  • 掛接資料夾的路徑,例如 Y:\MountX\
  • 驅動器號,例如 D:\
  • 格式為 \\?\Volume{GUID}\ 的磁碟區 GUID 路徑 (GUID 可識別磁碟區)

[out] pbSnapshotsPresent

如果磁碟區有陰影複製,則此參數會收到 TRUE ,如果磁碟區沒有陰影複製,則為 FALSE

[out] plSnapshotCompatibility

如果磁碟區有陰影複製,則為 VSS_SNAPSHOT_COMPATIBILITY 值的位掩碼,指出特定磁碟區是否停用特定磁碟區控制或檔案 I/O 作業。

傳回值

以下是此方法的有效傳回碼。

意義
S_OK
已成功傳回要求的資訊。
E_ACCESSDENIED
呼叫端沒有足夠的備份許可權,或不是系統管理員。
E_INVALIDARG
其中一個參數值無效。
E_OUTOFMEMORY
呼叫端記憶體不足或其他系統資源。
VSS_E_OBJECT_NOT_FOUND
找不到指定的磁碟區。
VSS_E_PROVIDER_VETO
提供者錯誤。 提供者在事件記錄檔中記錄錯誤。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 改用E_UNEXPECTED。

備註

如果選取的磁碟區沒有停用磁碟區控制或檔案 I/O 作業, 則 plSnapshotCapability 所傳回之所選磁碟區的陰影複製功能會是零。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 vsprov.h
程式庫 VssApi.lib

另請參閱

IVssSoftwareSnapshotProvider