GetNotificationResourceManager-Funktion (ktmw32.h)

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

Syntax

BOOL GetNotificationResourceManager(
  [in]            HANDLE                    ResourceManagerHandle,
  [out]           PTRANSACTION_NOTIFICATION TransactionNotification,
  [in]            ULONG                     NotificationLength,
  [in, optional]  DWORD                     dwMilliseconds,
  [out, optional] PULONG                    ReturnLength
);

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] NotificationLength

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

[in, optional] dwMilliseconds

Die Zeit in Millisekunden, für die die aufrufende Anwendung blockiert wird, während sie darauf wartet, dass die Benachrichtigung verfügbar wird. Wenn keine Benachrichtigungen verfügbar sind, wenn das Timeout abläuft, wird ERROR_TIMEOUT zurückgegeben.

[out, optional] ReturnLength

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

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.

Anforderungen

Anforderung Wert
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

GetNotificationResourceManagerAsync

Kerneltransaktions-Manager-Funktionen

NOTIFICATION_MASK

SetResourceManagerCompletionPort

TRANSACTION_NOTIFICATION

TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT