CAtlTransactionManager クラス

CAtlTransactionManager クラスは、カーネル トランザクション マネージャー (KTM) 関数のラッパーを提供します。

重要

このクラスとそのメンバーは、Windows ランタイムで実行するアプリケーションで使用することはできません。

構文

class CAtlTransactionManager;

メンバー

パブリック コンストラクター

名前 説明
~CAtlTransactionManager CAtlTransactionManager デストラクター。
CAtlTransactionManager CAtlTransactionManager コンストラクター。

パブリック メソッド

名前 説明
クローズ 1 つのトランザクション ハンドルを閉じます。
コミット トランザクションのコミットを要求します。
作成 トランザクション ハンドルを作成します。
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
オブジェクトへのアクセス。これは、読み取り、書き込み、その両方、またはそのどちらでもない (0) としてまとめることができます。 最も一般的に使用される値は 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 構造体へのポインター。

戻り値

関数が成功した場合、戻り値は、FindNextFile または FindClose への後続の呼び出しに使用される検索ハンドルです。 関数が失敗するか、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
このパラメーターは予約されており、0 である必要があります。

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 で定義されている 0 以外のエラー コードです。

解説

このラッパーは、RegCreateKeyTransacted 関数を呼び出します。

RegDeleteKey

トランザクション操作として、レジストリの指定されたプラットフォーム固有のビューから、サブキーとその値を削除します。

inline LSTATUS RegDeleteKeyEx(HKEY hKey, LPCTSTR lpSubKey);

パラメーター

hKey
開いているレジストリ キーへのハンドル。

lpSubKey
削除するキーの名前。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS です。 関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。

解説

このラッパーは、RegDeleteKeyTransacted 関数を呼び出します。

RegOpenKeyEx

指定されたレジストリ キーを開き、トランザクションに関連付けます。

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

パラメーター

hKey
開いているレジストリ キーへのハンドル。

lpSubKey
開くレジストリ サブキーの名前。

ulOptions
このパラメーターは予約されており、0 である必要があります。

samDesired
キーのアクセス権を指定するマスク。

phkResult
開かれた、または作成されたキーへのハンドルを受け取る変数へのポインター。 キーが定義済みのレジストリ キーのいずれかではない場合、ハンドルの使用が完了した後に RegCloseKey 関数を呼び出します。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS です。 関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです

解説

このラッパーは、RegOpenKeyTransacted 関数を呼び出します。

ロールバック

トランザクションのロールバックを要求します。

inline BOOL Rollback();

戻り値

成功した場合は TRUE、それ以外の場合は FALSE。

解説

このラッパーは、RollbackTransaction 関数を呼び出します。

SetFileAttributes

トランザクション操作として、ファイルまたはディレクトリの属性を設定します。

inline BOOL SetFileAttributes(LPCTSTR lpFileName, DWORD dwAttributes);

パラメーター

lpFileName
ファイルまたはディレクトリの名前。

dwAttributes
ファイルに設定するファイル属性。 詳細については、「SetFileAttributesTransacted」を参照してください。

解説

このラッパーは、SetFileAttributesTransacted 関数を呼び出します。

関連項目

ATL COM デスクトップ コンポーネント