27 return _hObject == INVALID_HANDLE_VALUE ? FALSE : TRUE;
32 return ::CommitTransaction (
_hObject);
37 return ::RollbackTransaction (
_hObject);
42 return ::CreateDirectoryTransacted (
51 return ::DeleteFileTransacted (lpctszFileName,
_hObject);
55 LPCTSTR lpctszSrcFileName, LPCTSTR lpctszDstFileName)
const
57 DWORD dwFlags = COPY_FILE_FAIL_IF_EXISTS;
59 return ::CopyFileTransacted (
70 LPCTSTR lpctszSrcFileName, LPCTSTR lpctszDstFileName)
const
72 DWORD dwFlags = MOVEFILE_REPLACE_EXISTING;
74 return ::MoveFileTransacted (
83#if defined (_MSC_VER) && (_MSC_VER >= 1910)
85BOOL TransactionFileUtility::MakeSymbolicLink (
86 LPCTSTR lpctszSrcFileName, LPCTSTR lpctszLinkFileName, BOOL isFile)
const
88 DWORD dwFlags = isFile == TRUE ? 0 : SYMBOLIC_LINK_FLAG_DIRECTORY;
89 dwFlags |= SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE;
91 return ::CreateSymbolicLinkTransacted (
101 LPCTSTR lpctszSrcFileName, LPCTSTR lpctszLinkFileName)
const
103 return ::CreateHardLinkTransacted (
113 HANDLE hTransaction, LPCTSTR pctszFileName, DWORD dwDesiredAccess,
114 DWORD dwShareMode, DWORD dwCreationDisposition)
116 PSECURITY_ATTRIBUTES pSecurityAttributes = NULL;
117 DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL;
118 HANDLE hTemplateFile = NULL;
125 dwCreationDisposition,
126 dwFlagsAndAttributes,
132 return _hObject == INVALID_HANDLE_VALUE ? FALSE : TRUE;
トランザクションNTFSに関するAPIを集約したクラス
HANDLE _hObject
ハンドルを使用するWindowsAPIで保持するHANDLE値
BOOL APIENTRY Create(HANDLE hTransaction, LPCTSTR pctszFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDisposition)
ファイルを作成、オープンします。
BOOL APIENTRY Copy(LPCTSTR lpctszSrcFileName, LPCTSTR lpctszDstFileName) const
ファイルのコピー
BOOL APIENTRY Delete(LPCTSTR lpctszFileName) const
ファイルの削除
BOOL APIENTRY Init(LPWSTR lpwszDescription)
初期化
BOOL APIENTRY MakeHardLink(LPCTSTR lpctszSrcFileName, LPCTSTR lpctszLinkFileName) const
ハードリンクの作成
BOOL APIENTRY Rollback() const
トランザクションのロールバック
BOOL APIENTRY CreateFolder(LPCTSTR lpctszFolderName) const
フォルダの作成
BOOL APIENTRY Move(LPCTSTR lpctszSrcFileName, LPCTSTR lpctszDstFileName) const
ファイルの移動
BOOL APIENTRY Commit() const
トランザクションのコミット