共用方式為


SRSetRestorePointA 函式 (srrestoreptapi.h)

指定一組變更的開始和結束,讓系統還原可以建立還原點。

如需可編寫文稿的對等專案,請參閱 CreateRestorePoint

語法

BOOL SRSetRestorePointA(
  [in]  PRESTOREPOINTINFOA pRestorePtSpec,
  [out] PSTATEMGRSTATUS    pSMgrStatus
);

參數

[in] pRestorePtSpec

指定還原點之 RESTOREPOINTINFO 的指標 結構。

[out] pSMgrStatus

接收狀態資訊之 STATEMGRSTATUS 結構的指標。

傳回值

如果函式成功,則傳回值 TRUEllSequenceNumber pSMgrStatus 成員會收到還原點的序號。

如果函式失敗,則傳回值 FALSEnStatus pSMgrStatus 成員會收到錯誤資訊。

言論

您必須初始化 COM 安全性,以允許 NetworkService、LocalService 和 System 回呼任何使用 SRSetRestorePoint的程式。 這是 SRSetRestorePoint 正常運作的必要專案。 如需設定 COInitializeEx COM 呼叫和 CoInitializeSecurity的詳細資訊,請參閱使用系統還原

無法以安全模式呼叫此函式。 如果系統還原已停用,它也會失敗(請參閱 停用)。

當您呼叫此函式時,系統還原會擷取登錄和其他系統資料庫的完整快照集。

應用程式不應該使用載入時間動態連結來呼叫系統還原函式。 請改用 LoadLibrary 函式來載入 SrClient.dll,並 GetProcAddress 呼叫函式。

在系統變更之前建立還原點,方法是呼叫 SRSetRestorePoint,並將 RESTOREPOINTINFO 成員 dwEventType 結構設定為 BEGIN_SYSTEM_CHANGE。 系統變更完成後,請呼叫 SRSetRestorePoint並將 dwEventType 設定為 END_SYSTEM_CHANGE。

如果使用者取消應用程式安裝,安裝程式可能會移除安裝開始時所建立的還原點。 拿掉還原點是選擇性的,而且可以防止使用者在取消期間從安裝程式進行意外的變更復原。 如果安裝程式要移除還原點,它可以呼叫 SRRemoveRestorePoint 函式, 或呼叫 SRSetRestorePointdwRestorePointType 設為 CANCELLED_OPERATION、dwEventType 設定為 END_SYSTEM_CHANGE,llSequenceNumber 設定為 SRSetRestorePoint所傳回的值。

對 SRSetRestorePoint 進行巢狀呼叫時請小心。 如需詳細資訊,請參閱 對 SRSetRestorePoint的巢狀呼叫。

Windows 8:

新的登錄機碼可讓應用程式開發人員變更還原點建立的頻率。

應用程式應該建立此金鑰來使用它,因為它不會在系統中存在。 如果索引鍵不存在,則預設會套用下列專案。 如果應用程式呼叫 SRSetRestorePoint 函式來建立還原點,則如果在過去 24 小時內建立任何還原點,Windows 會略過建立這個新的還原點。 系統還原會將 STATEMGRSTATUS 結構的 IISequenceNumber 成員設定為先前在一天中建立之還原點的序號,並將 nStatus 成員的值設定為 ERROR_SUCCESS

SRSetRestorePoint 函式會傳回 true

開發人員可以在登錄機碼 HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore下,SystemRestorePointCreationFrequ ency 建立 DWORD 值的應用程式。 此登錄機碼的值可以變更還原點建立的頻率。

如果應用程式呼叫 SRSetRestorePoint 來建立還原點,而且登錄機碼值為 0,系統還原不會略過建立新的還原點。

如果應用程式呼叫 SRSetRestorePoint 來建立還原點,而且登錄機碼值為整數 N,則系統還原會略過在前 N 分鐘內建立任何還原點時建立新的還原點。

Windows 8:

在 Windows 8 上執行的系統還原會監視僅與系統還原相關的開機磁碟區中的檔案。 如果快照集後續由舊版 Windows 公開,可能會刪除在 Windows 8 上執行之系統還原所建立的開機磁碟區快照集。 請注意,雖然只有一個系統磁碟區,但多開機系統中每個操作系統都有一個開機磁碟區。

開發人員可以在登錄機碼 HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore下,撰寫建立 DWORD 值的應用程式 ScopeSnapshots。 如果此登錄機碼值為0,系統還原會以與舊版Windows相同的方式建立開機磁碟區的快照集。 如果已刪除此值,Windows 8 上執行的系統還原會繼續建立快照集,以監視僅與系統還原相關的開機磁碟區中的檔案。

例子

如需範例,請參閱使用系統還原

注意

srrestoreptapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SRSetRestorePoint 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 不支援
目標平臺 窗戶
標頭 srrestoreptapi.h
DLL SrClient.dll

另請參閱

SRRemoveRestorePoint