SRSetRestorePointA 函式 (srrestoreptapi.h)
指定一組變更的開始和結束,讓系統還原可以建立還原點。
如需可編寫文稿的對等專案,請參閱 CreateRestorePoint。
語法
BOOL SRSetRestorePointA(
[in] PRESTOREPOINTINFOA pRestorePtSpec,
[out] PSTATEMGRSTATUS pSMgrStatus
);
參數
[in] pRestorePtSpec
指定還原點之 RESTOREPOINTINFO 的指標 結構。
[out] pSMgrStatus
接收狀態資訊之 STATEMGRSTATUS 結構的指標。
傳回值
如果函式成功,則傳回值 TRUE。
如果函式失敗,則傳回值 FALSE。
言論
您必須初始化 COM 安全性,以允許 NetworkService、LocalService 和 System 回呼任何使用 SRSetRestorePoint的程式。 這是 SRSetRestorePoint 正常運作的必要專案。 如需設定 COInitializeEx
無法以安全模式呼叫此函式。 如果系統還原已停用,它也會失敗(請參閱 停用)。
當您呼叫此函式時,系統還原會擷取登錄和其他系統資料庫的完整快照集。
應用程式不應該使用載入時間動態連結來呼叫系統還原函式。 請改用 LoadLibrary 函式來載入 SrClient.dll,並 GetProcAddress 呼叫函式。
在系統變更之前建立還原點,方法是呼叫
如果使用者取消應用程式安裝,安裝程式可能會移除安裝開始時所建立的還原點。 拿掉還原點是選擇性的,而且可以防止使用者在取消期間從安裝程式進行意外的變更復原。 如果安裝程式要移除還原點,它可以呼叫 SRRemoveRestorePoint 函式, 或呼叫 SRSetRestorePoint,dwRestorePointType 設為 CANCELLED_OPERATION、dwEventType 設定為 END_SYSTEM_CHANGE,llSequenceNumber 設定為 SRSetRestorePoint所傳回的值。
對 SRSetRestorePoint 進行巢狀呼叫時請小心。 如需詳細資訊,請參閱 對 SRSetRestorePoint的巢狀呼叫。
Windows 8:
新的登錄機碼可讓應用程式開發人員變更還原點建立的頻率。
應用程式應該建立此金鑰來使用它,因為它不會在系統中存在。 如果索引鍵不存在,則預設會套用下列專案。 如果應用程式呼叫 SRSetRestorePoint 函式來建立還原點,則如果在過去 24 小時內建立任何還原點,Windows 會略過建立這個新的還原點。 系統還原會將 STATEMGRSTATUS 結構的 IISequenceNumber 成員設定為先前在一天中建立之還原點的序號,並將 nStatus 成員的值設定為 ERROR_SUCCESS。
開發人員可以在登錄機碼
如果應用程式呼叫 SRSetRestorePoint 來建立還原點,而且登錄機碼值為 0,系統還原不會略過建立新的還原點。
如果應用程式呼叫 SRSetRestorePoint 來建立還原點,而且登錄機碼值為整數 N,則系統還原會略過在前 N 分鐘內建立任何還原點時建立新的還原點。
Windows 8:
在 Windows 8 上執行的系統還原會監視僅與系統還原相關的開機磁碟區中的檔案。 如果快照集後續由舊版 Windows 公開,可能會刪除在 Windows 8 上執行之系統還原所建立的開機磁碟區快照集。 請注意,雖然只有一個系統磁碟區,但多開機系統中每個操作系統都有一個開機磁碟區。
開發人員可以在登錄機碼
例子
注意
srrestoreptapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SRSetRestorePoint 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | 不支援 |
目標平臺 | 窗戶 |
標頭 | srrestoreptapi.h |
DLL | SrClient.dll |