共用方式為


IsVolumeSnapshottedInternal 函式 (vsbackup.h)

IsVolumeSnapshotted 函式會決定指定的磁碟區是否有任何陰影複製存在。

注意 此函式會導出為 IsVolumeSnapshottedInternal,但您應該呼叫 IsVolumeSnapshotted,而不是 IsVolumeSnapshottedInternal
 

語法

HRESULT IsVolumeSnapshottedInternal(
  [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 或 位 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