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
任意のトランザクション命令。
値 | 意味 |
---|---|
|
トランザクションを分散できません。 |
[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 |