GetNotificationResourceManagerAsync-Funktion (ktmw32.h)

Fordert eine asynchrone Benachrichtigung für einen Ressourcen-Manager (RM) an und empfängt diese. Diese Funktion wird vom RM-Register verwendet, um Benachrichtigungen zu erhalten, wenn sich der Zustand einer Transaktion ändert.

Syntax

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

Parameter

[in] ResourceManagerHandle

Ein Handle für den Ressourcen-Manager.

[out] TransactionNotification

Ein Zeiger auf eine TRANSACTION_NOTIFICATION-Struktur , die die erste verfügbare Benachrichtigung empfängt.

[in] TransactionNotificationLength

Die Größe des TransactionNotification-Puffers in Bytes.

[out] ReturnLength

Ein Zeiger auf eine Variable, die die tatsächliche Größe der Benachrichtigung empfängt, die vom TransactionNotification-Parameter empfangen wird.

[in] lpOverlapped

Ein Zeiger auf eine OVERLAPPED-Struktur , die für asynchrone Vorgänge erforderlich ist.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (null). Um erweiterte Fehlerinformationen zu erhalten, rufen Sie die GetLastError-Funktion auf.

Die folgende Liste identifiziert die möglichen Fehlercodes:

Hinweise

Alle Ressourcenmanager müssen sich registrieren, um TRANSACTION_NOTIFY_PREPREPARE-, TRANSACTION_NOTIFY_PREPARE- und TRANSACTION_NOTIFY_COMMIT benachrichtigungen zu erhalten, auch wenn sie anschließend ReadOnlyEnlistment aufrufen, um eine Eintragung als schreibgeschützt zu markieren. Ressourcenmanager können TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT unterstützen, müssen aber auch die mehrstufigen Benachrichtigungen zur Vorbereitung, Vorbereitung und Commit unterstützen. Eine Liste aller Benachrichtigungen, die Ressourcen-Manager erhalten können, finden Sie unter TRANSACTION_NOTIFICATION.

Resource Manager (RM) möchten diese Funktion möglicherweise mehrmals aufrufen, um mehrere Puffer bereitzustellen, die KTM bei der Übermittlung von Benachrichtigungen verwenden kann. Die Anzahl der Aufrufe dieser Funktion hängt davon ab, wie viel Last Ihr RM trägt.

Diese Funktion muss aufgerufen werden, nachdem die Funktion SetResourceManagerCompletionPort aufgerufen wurde.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile ktmw32.h
Bibliothek KtmW32.lib
DLL KtmW32.dll

Weitere Informationen

CreateEnlistment

Kerneltransaktions-Manager-Funktionen

NOTIFICATION_MASK

SetResourceManagerCompletionPort

TRANSACTION_NOTIFICATION

TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT