CreateEnlistment 関数 (ktmw32.h)
参加リストを作成し、その初期状態を設定し、指定されたアクセス権を持つ参加リストへのハンドルを開きます。
構文
HANDLE CreateEnlistment(
[in, optional] LPSECURITY_ATTRIBUTES lpEnlistmentAttributes,
[in] HANDLE ResourceManagerHandle,
[in] HANDLE TransactionHandle,
[in] NOTIFICATION_MASK NotificationMask,
[in, optional] DWORD CreateOptions,
[in, optional] PVOID EnlistmentKey
);
パラメーター
[in, optional] lpEnlistmentAttributes
参加マネージャーのセキュリティ属性を含む SECURITY_ATTRIBUTES 構造体へのポインター。 既定 属性を取得するには、NULL を指定します。
[in] ResourceManagerHandle
参加するリソース マネージャー (RM) へのハンドル。
[in] TransactionHandle
RM が参加しているトランザクションのハンドル。
[in] NotificationMask
この RM が TransactionHandle パラメーターに対して要求している通知。 有効な値の一覧については、NOTIFICATION_MASKを参照してください。
[in, optional] CreateOptions
任意の参加手順。
価値 | 意味 |
---|---|
|
優れたトランザクション マネージャーとして参加します。 |
[in, optional] EnlistmentKey
通知が TRANSACTION_NOTIFICATION 構造体で送信されたときに返される RM によって使用されるユーザー定義構造体へのポインター。 これは通常、プライベート構造をこの特定のトランザクションに関連付けるために使用されます。
戻り値
関数が成功した場合、戻り値は参加リストへのハンドルです。
関数が失敗した場合、戻り値は INVALID_HANDLE_VALUE。 拡張エラー情報を取得するには、GetLastError 関数を呼び出します。
次の一覧は、考えられるエラー コードを示しています。
備考
Windows Vista: 事前準備フェーズ以降に参加しようとすると失敗します。
通知マスク内で単一フェーズコミット要求を受け入れることを指定しない場合、KTM は常に 2 フェーズコミット操作を実行します。
トランザクションに参加するときは、次の通知ルールに注意してください。
- RM は常にロールバック通知を要求する必要があります。
- RM が準備通知を要求する場合は、コミット通知も要求する必要があります。
- RM が単一フェーズのコミット操作を要求する場合は、準備とコミットの通知も指定する必要があります。
- RM がコミット通知を要求する必要がないのは、少なくとも 1 組の準備通知とロールバック通知を要求するときだけです。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista |
サポートされる最小サーバー | Windows Server 2008 |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | ktmw32.h |
ライブラリ | KtmW32.lib |
DLL | KtmW32.dll |
関連項目
カーネル トランザクション マネージャー関数 の