次の方法で共有


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 メンバーは、新しいイベントの セキュリティ記述子 を指定します。 lpTransactionAttributes が NULL場合、オブジェクトは既定のセキュリティ記述子を取得します。 トランザクションの既定のセキュリティ記述子のアクセス制御リスト (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-28183575) を含むアクセス制御エントリが含まれている必要があります。 84-3387065753-4000393942-342927828-138088443) とTRANSACTION_ENLIST右側。 詳細については、「分散トランザクション コーディネーターの とアクセス制御コンポーネントの 」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
サポートされる最小サーバー Windows Server 2008
ターゲット プラットフォーム の ウィンドウズ
ヘッダー ktmw32.h
ライブラリ KtmW32.lib
DLL KtmW32.dll

関連項目

CommitTransaction を する

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

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

RollbackTransaction の

SECURITY_ATTRIBUTES

SetTransactionInformation の