CreateTransaction 関数 (ktmw32.h)

新しいトランザクション オブジェクトを作成します。

構文

HANDLE CreateTransaction(
  [in, optional] LPSECURITY_ATTRIBUTES lpTransactionAttributes,
  [in, optional] LPGUID                UOW,
  [in, optional] DWORD                 CreateOptions,
  [in, optional] DWORD                 IsolationLevel,
  [in, optional] DWORD                 IsolationFlags,
  [in, optional] DWORD                 Timeout,
  [in, optional] LPWSTR                Description
);

パラメーター

[in, optional] lpTransactionAttributes

返された ハンドルを子 プロセスによって継承できるかどうかを決定するSECURITY_ATTRIBUTES構造体へのポインター。 このパラメーターが NULL の場合、ハンドルを継承できません。

構造体の lpSecurityDescriptor メンバーは、新しいイベントの セキュリティ記述子 を指定します。 lpTransactionAttributesNULL の場合、オブジェクトは既定のセキュリティ記述子を取得します。 トランザクションの既定のセキュリティ記述子のアクセス制御リスト (ACL) は、作成者のプライマリ トークンまたは偽装トークンから取得されます。

[in, optional] UOW

予約済み。 ゼロ (0) にする必要があります。

[in, optional] CreateOptions

任意のトランザクション命令。

意味
TRANSACTION_DO_NOT_PROMOTE
トランザクションを分散できません。

[in, optional] IsolationLevel

予約;0 を指定します。

[in, optional] IsolationFlags

予約;0 を指定します。

[in, optional] Timeout

タイムアウト間隔 (ミリ秒単位)。 0 以外の値を指定した場合、準備された状態にまだ達していない場合、間隔が経過するとトランザクションは中止されます。

無限のタイムアウトを提供するには、ゼロ (0) または INFINITE を指定します。

[in, optional] Description

トランザクションのユーザーが読み取り可能な説明。

戻り値

関数が成功した場合、戻り値はトランザクションへのハンドルです。

失敗した場合の戻り値は、INVALID_HANDLE_VALUE です。 エラーの詳細情報を得るには、GetLastError 関数を呼び出します。

次の一覧は、考えられるエラー コードを示しています。

注釈

CloseHandle 関数を使用して、トランザクション ハンドルを閉じます。 クライアントがトランザクション ハンドルを使用して CommitTransaction 関数を呼び出す前に最後のトランザクション ハンドルが閉じられた場合、KTM はトランザクションをロールバックします。

トランザクションを分散トランザクションに昇格可能にする必要がある場合は、分散トランザクション コーディネーター (DTC) アクセス権を付与してトランザクションに参加させる必要があります。 そのためには、 lpTransactionAttributes パラメーターに、DTC の SID (S-1-5-80-2818357584-3387065753-4000393942-342927828-138088443) とTRANSACTION_ENLIST右のアクセス制御エントリが含まれている必要があります。 詳細については、「分散トランザクション コーディネーター」および「Access Control コンポーネント」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー ktmw32.h
Library KtmW32.lib
[DLL] KtmW32.dll

こちらもご覧ください

CommitTransaction

分散トランザクション コーディネーター

カーネル トランザクション マネージャー関数

RollbackTransaction

SECURITY_ATTRIBUTES

SetTransactionInformation