GetNotificationResourceManagerAsync 関数 (ktmw32.h)

リソース・マネージャー (RM) の非同期通知を要求および受信します。 この機能は、トランザクションが状態を変更したときに通知を受け取るために RM レジスタによって使用されます。

構文

BOOL GetNotificationResourceManagerAsync(
  [in]  HANDLE                    ResourceManagerHandle,
  [out] PTRANSACTION_NOTIFICATION TransactionNotification,
  [in]  ULONG                     TransactionNotificationLength,
  [out] PULONG                    ReturnLength,
  [in]  LPOVERLAPPED              lpOverlapped
);

パラメーター

[in] ResourceManagerHandle

リソース マネージャーへのハンドル。

[out] TransactionNotification

使用可能な最初の通知を受け取る TRANSACTION_NOTIFICATION 構造体へのポインター。

[in] TransactionNotificationLength

TransactionNotification バッファーのサイズ (バイト単位)。

[out] ReturnLength

TransactionNotification パラメーターで受信した通知の実際のサイズを受け取る変数へのポインター。

[in] lpOverlapped

非同期操作に必要な OVERLAPPED 構造体へのポインター。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 エラーの詳細情報を得るには、GetLastError 関数を呼び出します。

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

解説

すべてのリソース マネージャーは、そのReadOnlyEnlistment を呼び出して参加リストを読み取り専用としてマークする場合でも、TRANSACTION_NOTIFY_PREPREPARE、TRANSACTION_NOTIFY_PREPARE、およびTRANSACTION_NOTIFY_COMMIT通知を受信するために登録する必要があります。 リソース マネージャーは TRANSACTION_NOTIFY_SINGLE_PHASE_COMMITをサポートできますが、マルチフェーズの事前準備、準備、コミット通知もサポートする必要があります。 リソース マネージャーが受信できるすべての通知の一覧については、「 TRANSACTION_NOTIFICATION」を参照してください。

リソース マネージャー (RM) は、通知を配信するときに使用する KTM 用の複数のバッファーを提供するために、この関数を複数回呼び出す必要がある場合があります。 この関数の呼び出しの数は、RM が実行している負荷によって異なります。

この関数は、 SetResourceManagerCompletionPort 関数が呼び出された後に呼び出す必要があります。

要件

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

関連項目

CreateEnlistment

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

NOTIFICATION_MASK

SetResourceManagerCompletionPort

TRANSACTION_NOTIFICATION

TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT