Présentation de la méthode Get
La méthode Get est appelée pour obtenir des données d'une ressource afin de servir d'entrée dans une mappe.
MPIRC Get (HMPIADAPT hAdapter,HMPICONNECT
hConnection)Entrées
- hAdapter
- Descripteur d'adaptateur
- hConnection
- Descripteur de connexion
Sorties
Aucun
Renvoie
Statut de réussite
mpiPropertyGetObject (hAdapter,
MPIP_ADAPTER_DATA_FROM_ADAPT, 0, &hStream);
mpiStreamNewPage(hStream, &hPage, iSize);
mpiStreamPageGetInfo(hPage, &pData, &iSize);
get data into pData
mpiStreamWritePage(hStream, hPage);Les valeurs de Quantity ou de FetchUnit n'ont pas d'effet sur l'adaptateur ; ceci est géré par le Gestionnaire de ressources. Chaque appel Get doit renvoyer une unité de travail unique. Si Get est appelé à partir de la fonction de mappage GET (MPIP_ADAPTER_CONTEXT sera paramétrée sur MPI_CONTEXT_GET), des données peuvent être transmises à l'appel Get à partir du troisième paramètre dans la fonction de mappage GET. Cela s'applique aux adaptateurs qui requièrent que les données soient envoyées sous la forme d'une requête, de sorte que la réponse correspondante soit renvoyée par l'appel Get.
Pour déterminer si des données ont été transmises, l'adaptateur doit obtenir la propriété MPIP_ADAPTER_DATA_TO_ADAPT. Si l'opération renvoie une erreur MPIRC_NULL_OBJECT, cela signifie qu'aucune donnée n'a été transmise à Get. Si des données ont été transmises, utilisez l'objet de flux pour obtenir les données.
Si Get est appelé en tant que résultat d'un événement d'entrée (la propriété MPIP_ADAPTER_CONTEXT est MPI_CONTEXT_SOURCE_EVENT), les informations sur l'événement ou les événements sont obtenues à partir de la propriété MPIP_ADAPTER_MSG_COLLECTION en appelant de manière répétée mpiMsgCollGetNext jusqu'à ce qu'il n'y ait plus de messages dans la collection. Ces messages ont déjà été ajoutés à une collection par la méthode Listen de l'adaptateur.