Condividi tramite


Funzione GetNotificationResourceManagerAsync (ktmw32.h)

Richieste e riceve una notifica asincrona per un resource manager (RM). Questa funzione viene usata dal registro RM per ricevere notifiche quando una transazione cambia stato.

Sintassi

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

Parametri

[in] ResourceManagerHandle

Handle per resource manager.

[out] TransactionNotification

Puntatore a una struttura TRANSACTION_NOTIFICATION che riceve la prima notifica disponibile.

[in] TransactionNotificationLength

Dimensioni del buffer TransactionNotification , in byte.

[out] ReturnLength

Puntatore a una variabile che riceve le dimensioni effettive della notifica ricevuta dal parametro TransactionNotification .

[in] lpOverlapped

Puntatore a una struttura OVERLAPPED necessaria per l'operazione asincrona.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero (0). Per ottenere informazioni sull'errore estese, chiamare la funzione GetLastError .

L'elenco seguente identifica i possibili codici di errore:

Commenti

Tutti i responsabili delle risorse devono registrarsi per ricevere TRANSACTION_NOTIFY_PREPREPARE, TRANSACTION_NOTIFY_PREPAREe TRANSACTION_NOTIFY_COMMIT notifiche, anche se successivamente chiamano ReadOnlyEnlistment per contrassegnare un inserimento come sola lettura. I responsabili delle risorse possono supportare TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT, ma devono anche supportare le notifiche di pre-preparazione, preparazione e commit in più fasi. Per l'elenco di tutte le notifiche che possono ricevere i responsabili delle risorse, vedere TRANSACTION_NOTIFICATION.

I manager delle risorse (RM) possono voler chiamare questa funzione più volte per fornire più buffer per KTM da usare durante la distribuzione delle notifiche. Il numero di chiamate a questa funzione dipende dalla quantità di carico che l'RM sta trasportando.

Questa funzione deve essere chiamata dopo la chiamata della funzione SetResourceManagerCompletionPort .

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione ktmw32.h
Libreria KtmW32.lib
DLL KtmW32.dll

Vedi anche

CreateEnlistment

Funzioni di Gestione transazioni kernel

NOTIFICATION_MASK

SetResourceManagerCompletionPort

TRANSACTION_NOTIFICATION

TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT