CDataRecoveryHandler Sınıfı
Bir CDataRecoveryHandler
uygulama beklenmedik şekilde çıkarsa belgeler otomatik olarak depolanır ve geri yüklenir.
class CDataRecoveryHandler : public CObject
Veri Akışı Adı | Açıklama |
---|---|
CDataRecoveryHandler::CDataRecoveryHandler | Bir CDataRecoveryHandler nesne oluşturur. |
Veri Akışı Adı | Açıklama |
---|---|
CDataRecoveryHandler::AutosaveAllDocumentInfo | Sınıfına CDataRecoveryHandler kayıtlı her dosyayı otomatik olarak açıklar. |
CDataRecoveryHandler::AutosaveDocumentInfo | Belirtilen belgeyi otomatik olarak açıklar. |
CDataRecoveryHandler::CreateDocumentInfo | Açık belgeler listesine belge ekler. |
CDataRecoveryHandler::D eleteAllAutosavedFiles | Geçerli otomatik kaydedilen tüm dosyaları siler. |
CDataRecoveryHandler::D eleteAutosavedFile | Belirtilen otomatik kaydedilen dosyayı siler. |
CDataRecoveryHandler::GenerateAutosaveFileName | Sağlanan belge dosyası adıyla ilişkilendirilmiş bir otomatik kaydetme dosyasının adını oluşturur. |
CDataRecoveryHandler::GetAutosaveInterval | Otomatik kaydetme denemeleri arasındaki aralığı döndürür. |
CDataRecoveryHandler::GetAutosavePath | Otomatik olarak kaydedilen dosyaların yolunu döndürür. |
CDataRecoveryHandler::GetDocumentListName | Nesneden CDocument belge adını alır. |
CDataRecoveryHandler::GetNormalDocumentTitle | Belirtilen belge için normal başlığı alır. |
CDataRecoveryHandler::GetRecoveredDocumentTitle | Kurtarılan belgenin başlığını oluşturur ve döndürür. |
CDataRecoveryHandler::GetRestartIdentifier | Uygulamanın benzersiz yeniden başlatma tanımlayıcısını alır. |
CDataRecoveryHandler::GetSaveDocumentInfoOnIdle | öğesinin CDataRecoveryHandler geçerli boşta döngüsünde otomatik kaydetme gerçekleştirip gerçekleştirmediğini gösterir. |
CDataRecoveryHandler::GetShutdownByRestartManager | Yeniden başlatma yöneticisinin uygulamanın çıkışa neden olup olmadığını gösterir. |
CDataRecoveryHandler::Initialize | CDataRecoveryHandler öğesini başlatır. |
CDataRecoveryHandler::QueryRestoreAutosavedDocuments | Otomatik olarak kaydedilen her belge CDataRecoveryHandler için kullanıcıya bir iletişim kutusu görüntüler. İletişim kutusu, kullanıcının otomatik olarak kaydedilen belgeyi geri yüklemek isteyip istemediğini belirler. |
CDataRecoveryHandler::ReadOpenDocumentList | Açık belge listesini kayıt defterinden yükler. |
CDataRecoveryHandler::RemoveDocumentInfo | Sağlanan belgeyi açık belge listesinden kaldırır. |
CDataRecoveryHandler::ReopenPreviousDocuments | Daha önce açık olan belgeleri açar. |
CDataRecoveryHandler::RestoreAutosavedDocuments | Kullanıcı girişlerine göre otomatik olarak kaydedilen belgeleri geri yükler. |
CDataRecoveryHandler::SaveOpenDocumentList | Açık belgelerin geçerli listesini Windows kayıt defterine kaydeder. |
CDataRecoveryHandler::SetAutosaveInterval | Otomatik kaydetme döngüleri arasındaki süreyi milisaniye cinsinden ayarlar. |
CDataRecoveryHandler::SetAutosavePath | Otomatik kaydedilen dosyaların depolandığı dizini ayarlar. |
CDataRecoveryHandler::SetRestartIdentifier | bu örneği için benzersiz yeniden başlatma tanımlayıcısını CDataRecoveryHandler ayarlar. |
CDataRecoveryHandler::SetSaveDocumentInfoOnIdle | geçerli boşta kalma döngüsü sırasında açık belge bilgilerinin Windows kayıt defterine kaydedilip kaydedilmeyeceğini CDataRecoveryHandler ayarlar. |
CDataRecoveryHandler::SetShutdownByRestartManager | Uygulamanın önceki çıkışının yeniden başlatma yöneticisinden kaynaklanıp kaynaklandığını ayarlar. |
CDataRecoveryHandler::UpdateDocumentInfo | Kullanıcı belgeyi kaydettiğinden, belgenin bilgilerini güncelleştirir. |
Veri Akışı Adı | Açıklama |
---|---|
m_bRestoringPreviousOpenDocs | Veri kurtarma işleyicisinin daha önce açık olan belgeleri yeniden açıp açmadığını gösterir. |
m_bSaveDocumentInfoOnIdle | Veri kurtarma işleyicisinin sonraki boşta döngüde belgeleri otomatik olarak alıp alınmadığını gösterir. |
m_bShutdownByRestartManager | Yeniden başlatma yöneticisinin uygulamanın çıkmasına neden olup olmadığını gösterir. |
m_dwRestartManagerSupportFlags | Yeniden başlatma yöneticisinin uygulama için sağladığı desteği gösteren bayraklar. |
m_lstAutosavesToDelete | Özgün belgeler kapatıldığında silinmeyen otomatik olarak kaydedilen dosyaların listesi. Uygulamadan çıkıldığında, yeniden başlatma yöneticisi dosyaları silmeyi yeniden denenir. |
m_mapDocNameToAutosaveName | Belge adlarının otomatik olarak kaydedilen dosya adlarıyla bir eşlemesi. |
m_mapDocNameToDocumentPtr | Belge adlarının CDocument işaretçileriyle eşleştirilmesi. |
m_mapDocNameToRestoreBool | Belge adlarının, otomatik olarak kaydedilen belgenin geri yüklenip geri yüklenmeyeceğini gösteren boole parametresiyle eşlenmiş olması. |
m_mapDocumentPtrToDocName | İşaretçilerin CDocument belge adlarına eşlem. |
m_mapDocumentPtrToDocTitle | İşaretçilerin CDocument belge başlıklarına eşlem. Bu başlıklar dosyaları kaydetmek için kullanılır. |
m_nAutosaveInterval | Otomatik tasdikler arasındaki milisaniye cinsinden süre. |
m_nTimerID | Otomatik kaydetme zamanlayıcısının tanımlayıcısı. |
m_strAutosavePath | Otomatik kaydedilen belgelerin depolandığı konum. |
m_strRestartIdentifier | Yeniden başlatma yöneticisi için bir GUID'nin dize gösterimi. |
Yeniden başlatma yöneticisi, tüm açık belgeleri izlemek ve gerektiğinde otomatik kaydetmek için sınıfını kullanır CDataRecoveryHandler
. Otomatik kaydetmeyi etkinleştirmek için CDataRecoveryHandler::SetSaveDocumentInfoOnIdle yöntemini kullanın. Bu yöntem, bir CDataRecoveryHandler
sonraki boşta döngüsünde otomatik kaydetme gerçekleştirmeye yönlendirir. Yeniden başlatma yöneticisi, otomatik kaydetme gerçekleştirmesi CDataRecoveryHandler
gerektiğinde öğesini çağırırSetSaveDocumentInfoOnIdle
.
sınıfının tüm yöntemleri CDataRecoveryHandler
sanaldır. Kendi özel veri kurtarma işleyicinizi oluşturmak için bu sınıftaki yöntemleri geçersiz kılın. Kendi veri kurtarma işleyicinizi oluşturmadığınız veya yeniden başlatma yöneticiniz olmadığı sürece CDataRecoveryHandler örneği oluşturmayın. CWinApp Sınıfı, gerektiğinde bir CDataRecoveryHandler
nesne oluşturur.
Bir CDataRecoveryHandler
nesneyi kullanabilmeniz için önce CDataRecoveryHandler::Initialize'ı çağırmanız gerekir.
Sınıfı yeniden CDataRecoveryHandler
başlatma yöneticisine yakından bağlı olduğundan, CDataRecoveryHandler
genel parametresine m_dwRestartManagerSupportFlags
bağlıdır. Bu parametre, yeniden başlatma yöneticisinin sahip olduğu izinleri ve uygulamanızla nasıl etkileşim kurdığını belirler. Yeniden başlatma yöneticisini mevcut bir uygulamaya eklemek için, ana uygulamanızın oluşturucusunda uygun değeri atamanız m_dwRestartManagerSupportFlags
gerekir. Yeniden başlatma yöneticisini kullanma hakkında daha fazla bilgi için bkz . Nasıl yapılır: Yeniden Başlatma Yöneticisi Desteği Ekleme.
Üst bilgi: afxdatarecovery.h
Sınıfına CDataRecoveryHandler
kayıtlı her dosyayı otomatik olarak açıklar.
virtual BOOL AutosaveAllDocumentInfo();
Tüm belgeler kaydedildiyse CDataRecoveryHandler
TRUE; Herhangi bir belge kaydedilmediyse YANLIŞ.
Kaydedilmesi gereken belge yoksa bu yöntem TRUE döndürür. Uygulama için veya CDocManager
alınırken CWinApp
hata oluşuyorsa, herhangi bir belge kaydetmeden DE TRUE döndürür.
Bu yöntemi kullanmak için AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART veya AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL içinde m_dwRestartManagerSupportFlags
ayarlanmalıdır. Daha fazla bilgi için bkz . Nasıl yapılır: Yeniden Başlatma Yöneticisi Desteği Ekleme.
Belirtilen belgeyi otomatik olarak açıklar.
virtual BOOL AutosaveDocumentInfo(
CDocument* pDocument,
BOOL bResetModifiedFlag = TRUE);
pDocument
[in] Kaydedilecek öğesinin CDocument
işaretçisi.
bResetModifiedFlag
[in] TRUE, pDocument'ın CDataRecoveryHandler
değiştirilmesini göz önünde bulundurduğunu belirtir; YANLIŞ, çerçevenin pDocument'ı değiştirilmemiş olarak kabul ettiğini belirtir. Bu bayrağın etkisi hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.
Uygun bayraklar ayarlanırsa ve pDocument geçerli CDocument
bir nesneyse TRUE.
Her CDocument
nesnenin, son kaydetmeden sonra değişip değişmediğini gösteren bir bayrağı vardır. Bu bayrağın durumunu belirlemek için CDocument::IsModified kullanın. Son kaydetme işleminden sonra bir CDocument
değişmediyse, AutosaveDocumentInfo
bu belge için otomatik olarak kaydedilen dosyaları siler. Son kaydetmeden sonra bir belge değiştiyse, belge kapatıldıktan sonra kullanıcıdan kapatmadan önce belgeyi kaydetmesi istenir.
Not
Belgenin durumunu değiştirilmemiş olarak değiştirmek için bResetModifiedFlag kullanılması kullanıcının kaydedilmemiş verileri kaybetmesine neden olabilir. Çerçeve bir belgeyi değiştirilmemiş olarak kabul ederse, belgenin kapatılması kullanıcıdan kaydetmesini istemez.
pDocument geçerli CDocument
bir nesne değilse, bu yöntem ASSERT makrosunun bir özel durumu oluşturur.
Bu yöntemi kullanmak için AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART veya AFX_RESTARTMANAGER_AUTOSAVE_AT_INTERVAL m_dwRestartManagerSupportFlags olarak ayarlanmalıdır.
Bir CDataRecoveryHandler
nesne oluşturur.
CDataRecoveryHandler(
DWORD dwRestartManagerSupportFlags,
int nAutosaveInterval);
dwRestartManagerSupportFlags
[in] Yeniden başlatma yöneticisinin hangi seçeneklerinin destekleneceğini gösterir.
nAutosaveInterval
[in] Otomatik tasdikler arasındaki süre. Bu parametre milisaniye cinsindendir.
MFC çerçevesi, Yeni Proje sihirbazını kullandığınızda uygulamanız için otomatik olarak bir CDataRecoveryHandler
nesne oluşturur. Veri kurtarma davranışını veya yeniden başlatma yöneticisini özelleştirmediğiniz sürece bir CDataRecoveryHandler
nesne oluşturmamalısınız.
Açık belgeler listesine belge ekler.
virtual BOOL CreateDocumentInfo(CDocument* pDocument);
pDocument
[in] bir işaretçisi CDocument
. Bu yöntem, bu CDocument
için belge bilgilerini oluşturur.
Varsayılan uygulama TRUE döndürür.
Bu yöntem, belgeyi eklemeden önce pDocument'ın zaten belge listesinde olup olmadığını denetler. pDocument zaten listedeyse, bu yöntem pDocument ile ilişkili otomatik kaydedilen dosyayı siler.
Bu yöntemi kullanmak için AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART veya AFX_RESTARTMANAGER_AUTOSAVE_AT_INTERVAL m_dwRestartManagerSupportFlags olarak ayarlanmalıdır.
Geçerli otomatik kaydedilen tüm dosyaları siler.
virtual BOOL DeleteAllAutosavedFiles();
Varsayılan uygulama her zaman TRUE döndürür.
Belirtilen otomatik kaydedilen dosyayı siler.
virtual BOOL DeleteAutosavedFile(const CString& strAutosavedFile);
strAutosavedFile
[in] Otomatik olarak kaydedilen dosya adını içeren bir dize.
Varsayılan uygulama her zaman TRUE döndürür.
Bu yöntem otomatik kaydedilen dosyayı silemiyorsa, dosyanın adını bir listeye kaydeder. için yıkıcı, CDataRecoveryHandler
bu listede belirtilen otomatik olarak kaydedilen her dosyayı silmeye çalışır.
Sağlanan belge dosyası adıyla ilişkilendirilmiş bir otomatik kaydetme dosyasının adını oluşturur.
virtual CString GenerateAutosaveFileName(const CString& strDocumentName) const;
strDocumentName
[in] Belge adını içeren bir dize. GenerateAutosaveFileName
ilgili otomatik kaydetme dosya adını oluşturmak için bu belge adını kullanır.
strDocumentName öğesinden oluşturulan otomatik kaydetme dosyası adı.
Her belge adının otomatik kaydetme dosya adıyla bire bir eşlemesi vardır.
Otomatik kaydetme denemeleri arasındaki aralığı döndürür.
virtual int GetAutosaveInterval() const;
Otomatik kaydetme denemeleri arasındaki milisaniye sayısı.
Otomatik olarak kaydedilen dosyaların yolunu döndürür.
virtual CString GetAutosavePath() const;
Otomatik kaydedilen belgelerin depolandığı konum.
Nesneden CDocument
belge adını alır.
virtual CString GetDocumentListName(CDocument* pDocument) const;
pDocument
[in] bir işaretçisi CDocument
. GetDocumentListName
belge adını bu CDocument
konumundan alır.
pDocument'dan belge adı.
m_mapDocNameToAutosaveNameCDataRecoveryHandler
, m_mapDocNameToDocumentPtr ve m_mapDocNameToRestoreBool anahtar olarak belge adını kullanır. Bu parametre nesneleri izlemesiniCDocument
, dosya adını otomatik kaydetmeyi ve otomatik kaydetme ayarlarını etkinleştirirCDataRecoveryHandler
.
Belirtilen belge için normal başlığı alır.
virtual CString GetNormalDocumentTitle(CDocument* pDocument);
pDocument
[in] bir işaretçisi CDocument
.
Belirtilen belge için normal başlık.
Belgenin normal başlığı genellikle yolu olmayan belgenin dosya adıdır. Bu, Farklı Kaydet iletişim kutusunun Dosya adı alanındaki başlıktır.
Kurtarılan belgenin başlığını oluşturur ve döndürür.
virtual CString GetRecoveredDocumentTitle(const CString& strDocumentTitle) const;
strDocumentTitle
[in] Belgenin normal başlığı.
Kurtarılan belge başlığı.
Varsayılan olarak, bir belgenin kurtarılan başlığı, sonuna [kurtarılan] eklenmiş normal başlıktır. Kurtarılan başlık, otomatik kaydedilen belgeleri geri yüklemek için kullanıcıyı sorguladığında CDataRecoveryHandler
kullanıcıya görüntülenir.
Uygulamanın benzersiz yeniden başlatma tanımlayıcısını alır.
virtual CString GetRestartIdentifier() const;
Benzersiz yeniden başlatma tanımlayıcısı.
Yeniden başlatma tanımlayıcısı, uygulamanın her yürütmesi için benzersizdir.
, CDataRecoveryHandler
şu anda açık olan belgelerle ilgili bilgileri kayıt defterinde depolar. Yeniden başlatma yöneticisi bir uygulamadan çıkıp uygulamayı yeniden başlattığınızda, yeniden başlatma tanımlayıcısını öğesine CDataRecoveryHandler
sağlar. , CDataRecoveryHandler
daha önce açık olan belgelerin listesini almak için yeniden başlatma tanımlayıcısını kullanır. Bu, öğesinin CDataRecoveryHandler
otomatik kaydedilen dosyaları bulmayı ve geri yüklemeyi denemesini sağlar.
öğesinin CDataRecoveryHandler
geçerli boşta döngüsünde otomatik kaydetme gerçekleştirip gerçekleştirmediğini gösterir.
virtual BOOL GetSaveDocumentInfoOnIdle() const;
TRUE, geçerli boşta döngüsündeki otomatik doğrulamaları gösterir CDataRecoveryHandler
; YANLIŞ, olmadığını gösterir.
Yeniden başlatma yöneticisinin uygulamanın çıkışa neden olup olmadığını gösterir.
virtual BOOL GetShutdownByRestartManager() const;
TRUE, yeniden başlatma yöneticisinin uygulamanın çıkışa neden olduğunu gösterir; YANLIŞ, olmadığını gösterir.
CDataRecoveryHandler
öğesini başlatır.
virtual BOOL Initialize();
Başlatma başarılı olursa TRUE; aksi takdirde YANLIŞ.
Başlatma işlemi, kayıt defterinden otomatik kaydetme dosyalarını depolama yolunu yükler. Initialize
Yöntem bu dizini bulamazsa veya yol NULL ise başarısız Initialize
olur ve döndürürFALSE
.
Uygulamanız tarafından başlatıldıktan CDataRecoveryHandler
sonra otomatik kaydetme yolunu değiştirmek için CDataRecoveryHandler::SetAutosavePath kullanın.
Yöntemi ayrıca Initialize
bir sonraki otomatik kaydetme işlemi gerçekleştiğinde izlemek için bir zamanlayıcı başlatır. Uygulamanız tarafından başlatıldıktan CDataRecoveryHandler
sonra otomatik kaydetme aralığını değiştirmek için CDataRecoveryHandler::SetAutosaveInterval kullanın.
Otomatik olarak kaydedilen her belge CDataRecoveryHandler
için kullanıcıya bir iletişim kutusu görüntüler. İletişim kutusu, kullanıcının otomatik olarak kaydedilen belgeyi geri yüklemek isteyip istemediğini belirler.
virtual void QueryRestoreAutosavedDocuments();
Uygulamanız Unicode ise, bu yöntem kullanıcıya bir CTaskDialog görüntüler. Aksi takdirde, çerçeve kullanıcıyı sorgulamak için AfxMessageBox kullanır.
Kullanıcıdan gelen tüm yanıtları topladıktan sonra QueryRestoreAutosavedDocuments
bilgileri m_mapDocNameToRestoreBool üye değişkeninde depolar. Bu yöntem, otomatik olarak kaydedilen belgeleri geri yüklemez.
Açık belge listesini kayıt defterinden yükler.
virtual BOOL ReadOpenDocumentList();
DOĞRU, kayıt defterinden en az bir belgenin bilgilerini yüklediğini ReadOpenDocumentList
gösterir; YANLIŞ, hiçbir belge bilgisinin yüklenmediğini gösterir.
Bu işlev, açık belge bilgilerini kayıt defterinden yükler ve m_mapDocNameToAutosaveName üye değişkeninde depolar.
Tüm verileri yükledikten sonra ReadOpenDocumentList
, belge bilgilerini kayıt defterinden siler.
Sağlanan belgeyi açık belge listesinden kaldırır.
virtual BOOL RemoveDocumentInfo(CDocument* pDocument);
pDocument
[in] Kaldırılacak belge işaretçisi.
pDocument listeden kaldırıldıysa TRUE; Hata oluştuysa YANLIŞ.
Kullanıcı bir belgeyi kapattığında, çerçeve bu yöntemi kullanarak belgeyi açık belgeler listesinden kaldırır.
Açık belgeler listesinde pDocument bulunamazsa RemoveDocumentInfo
hiçbir şey yapmaz ve TRUE döndürür.
Bu yöntemi kullanmak için AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES m_dwRestartManagerSupportFlags olarak ayarlanmalıdır.
Daha önce açık olan belgeleri açar.
virtual BOOL ReopenPreviousDocuments();
En az bir belge açıldıysa DOĞRU; aksi takdirde YANLIŞ.
Bu yöntem, daha önce açık olan belgelerin en son kaydetmesini açar. Bir belge kaydedilmediyse veya otomatik olarak kaydedilmediyse, ReopenPreviousDocuments
bu dosya türünün şablonunu temel alan boş bir belge açar.
Bu yöntemi kullanmak için AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES m_dwRestartManagerSupportFlags olarak ayarlanmalıdır. Bu parametre ayarlanmazsa hiçbir ReopenPreviousDocuments
şey yapmaz ve YANLIŞ döndürür.
Daha önce açık olan belgeler listesinde depolanan belge yoksa, ReopenPreviousDocuments
hiçbir şey yapmaz ve YANLIŞ döndürür.
Kullanıcı girişlerine göre otomatik olarak kaydedilen belgeleri geri yükler.
virtual BOOL RestoreAutosavedDocuments();
Bu yöntem belgeleri başarıyla geri yüklerse TRUE.
Bu yöntem, kullanıcının hangi belgeleri geri yüklemek istediğini belirlemek için CDataRecoveryHandler::QueryRestoreAutosavedDocuments öğesini çağırır. Kullanıcı otomatik kaydedilen bir belgeyi geri yüklememeye karar verirse, RestoreAutosavedDocuments
otomatik kaydetme dosyasını siler. Aksi takdirde, RestoreAutosavedDocuments
açık belgeyi otomatik olarak kaydedilen sürümle değiştirir.
Bu yöntemi kullanmak için AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES veya AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES içinde m_dwRestartManagerSupportFlags
ayarlanmalıdır.
Açık belgelerin geçerli listesini Windows kayıt defterine kaydeder.
virtual BOOL SaveOpenDocumentList();
Kaydedilecek açık belge yoksa veya başarıyla kaydedildiyse TRUE. Kayıt defterine kaydedilecek belgeler varsa, ancak bir hata oluştuğundan kaydedilmemişse YANLIŞ.
Yeniden başlatma yöneticisi, uygulama beklenmedik bir şekilde çıktığında veya yükseltme için çıktığında çağırır SaveOpenDocumentList
. Uygulama yeniden başlatıldığında, açık belgelerin listesini almak için CDataRecoveryHandler::ReadOpenDocumentList kullanır.
Bu yöntem yalnızca açık belgelerin listesini kaydeder. CDataRecoveryHandler::AutosaveDocumentInfo yöntemi, belgeleri kaydetmekle sorumludur.
Otomatik kaydetme döngüleri arasındaki süreyi milisaniye cinsinden ayarlar.
Virtual void SetAutosaveInterval(int nAutosaveInterval);
nAutosaveInterval
[in] Milisaniye cinsinden yeni otomatik kaydetme aralığı.
Otomatik kaydedilen dosyaların depolandığı dizini ayarlar.
virtual void SetAutosavePath(const CString& strAutosavePath);
strAutosavePath
[in] Otomatik kaydetme dosyalarının depolandığı yol.
Otomatik kaydetme dizininin değiştirilmesi, otomatik olarak kaydedilen dosyaları taşımaz.
bu örneği için benzersiz yeniden başlatma tanımlayıcısını CDataRecoveryHandler
ayarlar.
virtual void SetRestartIdentifier(const CString& strRestartIdentifier);
strRestartIdentifier
[in] Yeniden başlatma yöneticisinin benzersiz tanımlayıcısı.
Yeniden başlatma yöneticisi, kayıt defterindeki açık belgeler hakkındaki bilgileri kaydeder. Bu bilgiler anahtar olarak benzersiz yeniden başlatma tanımlayıcısıyla depolanır. Yeniden başlatma tanımlayıcısı bir uygulamanın her örneği için benzersiz olduğundan, bir uygulamanın birden çok örneği beklenmedik bir şekilde çıkabilir ve yeniden başlatma yöneticisi bunların her birini kurtarabilir.
geçerli boşta kalma döngüsü sırasında açık belge bilgilerinin Windows kayıt defterine kaydedilip kaydedilmeyeceğini CDataRecoveryHandler
ayarlar.
virtual void SetSaveDocumentInfoOnIdle(BOOL bSaveOnIdle);
bSaveOnIdle
[in] Geçerli boşta kalma döngüsü sırasında belge bilgilerini kaydetmek için TRUE; Kaydetme işlemi gerçekleştirmemek için YANLIŞ.
Uygulamanın önceki çıkışının yeniden başlatma yöneticisinden kaynaklanıp kaynaklandığını ayarlar.
virtual void SetShutdownByRestartManager(BOOL bShutdownByRestartManager);
bShutdownByRestartManager
[in] Uygulamanın çıkışa yeniden başlatma yöneticisinin neden olduğunu belirtmek için TRUE; Uygulamanın başka bir nedenle çıktığını belirtmek için YANLIŞ.
Çerçeve, önceki çıkışın beklenmeyen olmasına veya yeniden başlatma yöneticisi tarafından başlatılıp başlatılmadığına bağlı olarak farklı davranır.
Kullanıcı belgeyi kaydettiğinden, belgenin bilgilerini güncelleştirir.
virtual BOOL UpdateDocumentInfo(CDocument* pDocument);
pDocument
[in] Kaydedilen belgenin işaretçisi.
Bu yöntem otomatik olarak kaydedilen belgeyi silip belge bilgilerini güncelleştirdiyse TRUE; Hata oluştuysa YANLIŞ.
Kullanıcı belgeyi kaydettiğinde, uygulama artık gerekli olmadığından otomatik olarak kaydedilen dosyayı kaldırır. UpdateDocumentInfo
CDataRecoveryHandler::RemoveDocumentInfo çağrısı yaparak otomatik kaydedilen dosyayı siler. UpdateDocumentInfo
ardından pDocument'dan bilgileri açık olan belgeler listesine ekler çünkü RemoveDocumentInfo
bu bilgiler silinir, ancak kaydedilen belge hala açık durumdadır.
Bu yöntemi kullanmak için AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES m_dwRestartManagerSupportFlags olarak ayarlanmalıdır.
Sınıflar
Hiyerarşi Grafiği
CObject Sınıfı
Nasıl yapılır: Yeniden Başlatma Yöneticisi Desteği Ekleme