共用方式為


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之外,隨時都可以從函式傳回。

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

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

VSS_E_UNEXPECTED_PROVIDER_ERROR
未預期的提供者錯誤。 錯誤碼會記錄在事件記錄檔中。 如需詳細資訊,請參閱 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

另請參閱

VSS_SNAPSHOT_COMPATIBILITY