RpcAsyncCompleteCall, fonction (rpcasync.h)
Le client et le serveur appellent la fonction RpcAsyncCompleteCall pour effectuer un appel de procédure distante asynchrone.
Syntaxe
RPC_STATUS RpcAsyncCompleteCall(
PRPC_ASYNC_STATE pAsync,
void *Reply
);
Paramètres
pAsync
Pointeur vers la structure RPC_ASYNC_STATE qui contient des informations d’appel asynchrones.
Reply
Pointeur vers une mémoire tampon contenant la valeur de retour de l’appel de procédure distante.
Valeur retournée
En plus des valeurs suivantes, RpcAsyncCompleteCall peut également retourner toute erreur RPC générale ou spécifique à l’application.
Valeur | Signification |
---|---|
|
L’appel s’est terminé avec succès. |
|
Le handle d’appel asynchrone n’est pas valide. |
|
L’appel n’est pas encore terminé. |
|
L’appel a été annulé. |
Notes
Termine l’appel RPC asynchrone. Le client et le serveur appellent cette fonction.
Client : La réponse pointe vers une mémoire tampon qui recevra la réponse. Si le client appelle cette fonction avant l’arrivée de la réponse, l’appel retourne RPC_S_ASYNC_CALL_PENDING. La mémoire tampon doit être valide et doit être suffisamment grande pour recevoir la valeur de retour. Si cet appel réussit, les paramètres [out] et [in,out] sont valides. Si l’appel ne retourne pas RPC_S_ASYNC_CALL_PENDING, cet appel RpcAsyncCompleteCall est final pour l’appel RPC. Après cet appel de fonction, quelle que soit la réussite ou l’échec, toutes les ressources allouées par le runtime RPC sont libérées. Les appels suivants aux fonctions RpcAsyncCompleteCall ou RpcAsyncCancelCall ont des résultats non définis jusqu’à ce qu’un nouvel appel soit lancé sur la structure RPC_ASYNC_STATE.
Serveur : La réponse pointe vers une mémoire tampon qui contient la valeur de retour qui doit être envoyée au client. Vous devez uniquement définir une mémoire tampon valide pour Reply si votre fonction est déclarée avec un type de retour. Avant d’appeler RpcAsyncCompleteCall , les paramètres [out] et [in,out] doivent être mis à jour. Ces paramètres et le handle asynchrone ne doivent pas être touchés après le retour de l’appel à RpcAsyncCompleteCall . L’appel de RpcAsyncCompleteCall sur le serveur est final. Si l’appel de fonction RpcAsyncCompleteCall échoue, le runtime RPC libère les paramètres.
Tous les paramètres [out], y compris les paramètres [comm_status] et [fault_status], ne sont valides que si la valeur de retour de RpcAsyncCompleteCall est RPC_S_OK.
Spécifications
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | rpcasync.h (inclure Rpc.h) |
Bibliothèque | Rpcrt4.lib |
DLL | Rpcrt4.dll |