44 CRecoveryFiles(
bool isDefaultRecoveryMode =
false) : m_isDefaultRecoveryMode(isDefaultRecoveryMode)
51 if ( m_isDefaultRecoveryMode )
86 p.backHandle = ::CreateFile(bak, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
105 m_names[i].backHandle.Null();
106 r &= !! ::DeleteFile(m_names[i].backName);
125 CStr reg = m_names[i].registName;
131 tmp = reg +
CStr::Fmt(_T(
".%04X.tmp"), ii);
132 if ( ! m_Exist(tmp) )
137 if ( ! ::MoveFile(reg, tmp) )
139 _GetLastError(
"MoveFile");
140 m_names[i].tempName.Empty();
145 m_names[i].tempName = tmp;
152 m_names[i].backHandle.Null();
153 if ( ::MoveFile(m_names[i].backName, m_names[i].registName) )
155 if ( ! m_names[i].tempName.
IsEmpty() )
157 VERIFY( ::DeleteFile(m_names[i].tempName) );
172 bool m_Exist(LPCTSTR lpszName)
const
175 HANDLE h = ::FindFirstFile(lpszName, &t);
176 if ( h != INVALID_HANDLE_VALUE )
190 TParam(LPCTSTR reg = NULL, LPCTSTR tmp = NULL) : registName(reg), backName(tmp)
195 bool m_isDefaultRecoveryMode;
196 friend class CRecoveryFilesTest;
#define loop(VAR, CNT)
loop構文.
bool CopyTo(LPCTSTR lpszNew, bool boIsAllowUndo=false, bool boIsSilent=true)
[操作] コピー.
bool IsExist(void) const
[確認] 有無チェック
CStr GetFullName(void) const
[取得] フルName名取得
~CRecoveryFiles(void)
デストラクタ
bool UnregisterAll(void)
[設定] 登録解除.
bool RecoverAll(void)
[設定] リカバー.
CRecoveryFiles(bool isDefaultRecoveryMode=false)
コンストラクタ
bool Register(LPCTSTR lpszFile)
[設定] 登録.
static CStrT Fmt(const TCHAR *lpszFormat,...)
[作成] 書式付き文字列作成
virtual size_t GetSize(void) const
[取得] サイズ取得
virtual bool RemoveAll(void)
[削除] 空化
virtual INDEX Add(const TYP &t)
[追加] 要素一つ追加.
bool IsEmpty(void) const
[確認] 要素の有無確認.