共用方式為


CAtlTransactionManager 類別

CAtlTransactionManager 類別提供核心交易管理員 (KTM) 函式的包裝函式。

重要

這個類別及其成員不能用於在Windows 執行階段中執行的應用程式。

語法

class CAtlTransactionManager;

成員

公用建構函式

名稱 描述
~CAtlTransactionManager CAtlTransactionManager 解構函式。
CAtlTransactionManager CAtlTransactionManager 建構函式。

公用方法

名稱 描述
關閉 關閉一個交易控制碼。
提交 要求認可交易。
建立 建立交易控制碼。
CreateFile 建立或開啟檔案、檔案資料流程或目錄做為交易作業。
DeleteFile 刪除現有的檔案做為交易作業。
FindFirstFile 以交易作業的形式搜尋檔案或子目錄的目錄。
GetFileAttributes 擷取指定檔案或目錄的檔案系統屬性做為交易作業。
GetFileAttributesEx 擷取指定檔案或目錄的檔案系統屬性做為交易作業。
GetHandle 傳回交易控制碼。
IsFallback 判斷是否啟用後援呼叫。
MoveFile 將現有的檔案或目錄,包括其子系移動為交易作業。
RegCreateKeyEx 建立指定的登錄機碼,並將它與交易產生關聯。 如果索引鍵已經存在,函式就會開啟它。
RegDeleteKey 從登錄的指定平臺特定檢視中刪除子機碼及其值,做為交易作業。
RegOpenKeyEx 開啟指定的登錄機碼,並將它與交易產生關聯。
回 滾 要求回復交易。
SetFileAttributes 將檔案或目錄的屬性設定為交易作業。

受保護的資料成員

名稱 描述
m_bFallback 如果支援後援,則為 TRUE;否則為 FALSE。
m_hTransaction 交易控制碼。

備註

繼承階層架構

ATL::CAtlTransactionManager

需求

標頭: atltransactionmanager.h

~CAtlTransactionManager

CAtlTransactionManager 解構函式。

virtual ~CAtlTransactionManager();

備註

在一般處理中,交易會自動認可並關閉。 如果在例外狀況回溯期間呼叫解構函式,則會回復並關閉交易。

CAtlTransactionManager

CAtlTransactionManager 建構函式。

CAtlTransactionManager(BOOL bFallback = TRUE, BOOL bAutoCreateTransaction = TRUE);

參數

bFallback
TRUE 表示支援後援。 如果交易函式失敗,類別會自動呼叫「非交易」函式。 FALSE 表示沒有「後援」呼叫。

bAutoCreateTransaction
TRUE 表示在建構函式中自動建立交易處理程式。 FALSE 表示它不是。

備註

關閉​​

關閉交易控制碼。

inline BOOL Close();

傳回值

如果成功,則為 TRUE,否則為 FALSE。

備註

這個包裝函式會呼叫 函 CloseHandle 式。 解構函式中會自動呼叫 方法。

Commit

要求認可交易。

inline BOOL Commit();

傳回值

如果成功,則為 TRUE,否則為 FALSE。

備註

這個包裝函式會呼叫 函 CommitTransaction 式。 解構函式中會自動呼叫 方法。

建立

建立交易控制碼。

inline BOOL Create();

傳回值

如果成功,則為 TRUE,否則為 FALSE。

備註

這個包裝函式會呼叫 函 CreateTransaction 式。 檢查它是否有

CreateFile

建立或開啟檔案、檔案資料流程或目錄做為交易作業。

inline HANDLE CreateFile(
    LPCTSTR lpFileName,
    DWORD dwDesiredAccess,
    DWORD dwShareMode,
    LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    DWORD dwCreationDisposition,
    DWORD dwFlagsAndAttributes,
    HANDLE hTemplateFile);

參數

lpFileName
要建立或開啟的物件名稱。

dwDesiredAccess
物件的存取權,可以摘要為讀取、寫入、兩者或兩者皆不(零)。 最常用的值為 GENERIC_READGENERIC_WRITE 或兩者: GENERIC_READ | GENERIC_WRITE

dwShareMode
物件的共用模式,可以是讀取、寫入、兩者、刪除、全部或無:0、FILE_SHARE_DELETE、FILE_SHARE_READ、FILE_SHARE_WRITE。

lpSecurityAttributes
包含選擇性安全性描述元之SECURITY_ATTRIBUTES結構的指標,也會判斷傳回的控制碼是否可以由子進程繼承。 參數可以是 Null。

dwCreationDisposition
針對存在且不存在的檔案採取動作。 此參數必須是無法合併的下列其中一個值:CREATE_ALWAYS、CREATE_NEW、OPEN_ALWAYS、OPEN_EXISTING或TRUNCATE_EXISTING。

dwFlagsAndAttributes
檔案屬性和旗標。 此參數可以包含可用檔案屬性的任何組合(FILE_ATTRIBUTE_*)。 所有其他檔案屬性都會覆寫FILE_ATTRIBUTE_NORMAL。 此參數也可以包含旗標的組合(FILE_FLAG_*),以控制緩衝行為、存取模式和其他特殊用途旗標。 這些會與任何FILE_ATTRIBUTE_* 值結合。

hTemplateFile
具有GENERIC_READ存取權限之範本檔案的有效控制碼。 範本檔案會提供所建立檔案的檔案屬性和擴充屬性。 此參數可以是 Null。

傳回值

傳回可用來存取物件的控制碼。

備註

這個包裝函式會呼叫 函 CreateFileTransacted 式。

DeleteFile

刪除現有的檔案做為交易作業。

inline BOOL DeleteFile(LPCTSTR lpFileName);

參數

lpFileName
要刪除的檔案的名稱。

備註

這個包裝函式會呼叫 函 DeleteFileTransacted 式。

FindFirstFile

以交易作業的形式搜尋檔案或子目錄的目錄。

inline HANDLE FindFirstFile(
    LPCTSTR lpFileName,
    WIN32_FIND_DATA* pNextInfo);

參數

lpFileName
要搜尋的目錄或路徑,以及檔案名。 此參數可以包含萬用字元,例如星號 • 或問號 ()。

pNextInfo
WIN32_FIND_DATA 結構的指標,可接收找到的檔案或子目錄的相關資訊。

傳回值

如果函式成功,傳回值是後續呼叫 FindNextFileFindClose 時所使用的搜尋控制碼。 如果函式失敗或無法從 lpFileName 參數中的 搜尋字串中尋找檔案,則會INVALID_HANDLE_VALUE傳回值。

備註

這個包裝函式會呼叫 函 FindFirstFileTransacted 式。

GetFileAttributes

擷取指定檔案或目錄的檔案系統屬性做為交易作業。

inline DWORD GetFileAttributes(LPCTSTR lpFileName);

參數

lpFileName
檔案或目錄的名稱。

備註

這個包裝函式會呼叫 函 GetFileAttributesTransacted 式。

GetFileAttributesEx

擷取指定檔案或目錄的檔案系統屬性做為交易作業。

inline BOOL GetFileAttributesEx(
    LPCTSTR lpFileName,
    GET_FILEEX_INFO_LEVELS fInfoLevelId,
    LPVOID lpFileInformation);

參數

lpFileName
檔案或目錄的名稱。

fInfoLevelId
要擷取的屬性資訊層級。

lpFileInformation
接收屬性資訊的緩衝區指標。 儲存在此緩衝區的屬性資訊類型是由 fInfoLevelId 的值 所決定。 如果 fInfoLevelId 參數是 GetFileExInfoStandard,則此參數會指向WIN32_FILE_ATTRIBUTE_DATA結構。

備註

這個包裝函式會呼叫 函 GetFileAttributesTransacted 式。

GetHandle

傳回交易控制碼。

HANDLE GetHandle() const;

傳回值

傳回 類別的交易控制碼。 如果未附加至控制碼, CAtlTransactionManager 則傳回 Null。

備註

IsFallback

判斷是否啟用後援呼叫。

BOOL IsFallback() const;

傳回值

傳回 TRUE 是 類別支援後援呼叫。 否則為 FALSE。

備註

m_bFallback

如果支援後援,則為 TRUE;否則為 FALSE。

BOOL m_bFallback;

備註

m_hTransaction

交易控制碼。

HANDLE m_hTransaction;

備註

MoveFile

將現有的檔案或目錄,包括其子系移動為交易作業。

inline BOOL MoveFile(LPCTSTR lpOldFileName, LPCTSTR lpNewFileName);

參數

lpOldFileName
本機電腦上現有檔案或目錄的目前名稱。

lpNewFileName
檔案或目錄的新名稱。 此名稱不得已存在。 新的檔案可能位於不同的檔案系統或磁片磁碟機上。 新目錄必須位於相同的磁片磁碟機上。

備註

這個包裝函式會呼叫 函 MoveFileTransacted 式。

RegCreateKeyEx

建立指定的登錄機碼,並將它與交易產生關聯。 如果索引鍵已經存在,函式就會開啟它。

inline LSTATUS RegCreateKeyEx(
    HKEY hKey,
    LPCTSTR lpSubKey,
    DWORD dwReserved,
    LPTSTR lpClass,
    DWORD dwOptions,
    REGSAM samDesired,
    CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    PHKEY phkResult,
    LPDWORD lpdwDisposition);

參數

hKey
開啟登錄機碼的控制碼。

lpSubKey
此函式開啟或建立的子機碼名稱。

dwReserved
此參數是保留的,而且必須是零。

lpClass
這個索引鍵的使用者定義類別。 這個參數可能會忽略。 此參數可以是 Null。

dwOptions
此參數可以是下列其中一個值:REG_OPTION_BACKUP_RESTORE、REG_OPTION_NON_VOLATILE或REG_OPTION_VOLATILE。

samDesired
指定金鑰存取權限的遮罩。

lpSecurityAttributes
SECURITY ATTRIBUTES 結構的指標,這個結構會判斷子處理序是否可以繼承傳回的控制代碼。 如果 lpSecurityAttributes 為 Null,則無法繼承控制碼。

phkResult
接收已開啟或建立之索引鍵控制碼之變數的指標。 如果機碼不是其中一個預先定義的登錄機碼,請在您使用控制碼完成之後呼叫 函 RegCloseKey 式。

lpdwDisposition
接收下列其中一個處置值的變數指標:REG_CREATED_NEW_KEY或REG_OPENED_EXISTING_KEY。

傳回值

如果函式成功,則傳回值會ERROR_SUCCESS。 如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。

備註

這個包裝函式會呼叫 函 RegCreateKeyTransacted 式。

RegDeleteKey

從登錄的指定平臺特定檢視中刪除子機碼及其值,做為交易作業。

inline LSTATUS RegDeleteKeyEx(HKEY hKey, LPCTSTR lpSubKey);

參數

hKey
開啟登錄機碼的控制碼。

lpSubKey
要刪除之金鑰的名稱。

傳回值

如果函式成功,則傳回值會ERROR_SUCCESS。 如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。

備註

這個包裝函式會呼叫 函 RegDeleteKeyTransacted 式。

RegOpenKeyEx

開啟指定的登錄機碼,並將它與交易產生關聯。

inline LSTATUS RegOpenKeyEx(
    HKEY hKey,
    LPCTSTR lpSubKey,
    DWORD ulOptions,
    REGSAM samDesired,
    PHKEY phkResult);

參數

hKey
開啟登錄機碼的控制碼。

lpSubKey
要開啟的登錄子機碼名稱。

ulOptions
此參數是保留的,而且必須是零。

samDesired
指定金鑰存取權限的遮罩。

phkResult
接收已開啟或建立之索引鍵控制碼之變數的指標。 如果機碼不是其中一個預先定義的登錄機碼,請在您使用控制碼完成之後呼叫 函 RegCloseKey 式。

傳回值

如果函式成功,則傳回值會ERROR_SUCCESS。 如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼

備註

這個包裝函式會呼叫 函 RegOpenKeyTransacted 式。

復原

要求回復交易。

inline BOOL Rollback();

傳回值

如果成功,則為 TRUE,否則為 FALSE。

備註

這個包裝函式會呼叫 函 RollbackTransaction 式。

SetFileAttributes

將檔案或目錄的屬性設定為交易作業。

inline BOOL SetFileAttributes(LPCTSTR lpFileName, DWORD dwAttributes);

參數

lpFileName
檔案或目錄的名稱。

dwAttributes
要為檔案設定的檔案屬性。 如需詳細資訊,請參閱 SetFileAttributesTransacted

備註

這個包裝函式會呼叫 函 SetFileAttributesTransacted 式。

另請參閱

ATL COM 桌面元件