Envoi de données à une mappe
Utilisez une méthode Get pour renvoyer (envoyer) des données au moteur par le biais d'objets de flux. Il y a plusieurs manières de faire ceci. La méthode choisie dépend de la façon dont la ressource renvoie les données à l'adaptateur.
- Une mémoire tampon est renvoyée par la ressource, qui peut être transmise au moteur. Dans ce scénario, un seul appel à mpiStreamWrite est requis :
Cette opération crée une page, copie les données sur la page et ajoute la page au flux.mpiStreamWrite (hStream, pData, nSizeOfData); - L'adaptateur alloue une seule mémoire tampon, qui est ensuite remplie par la ressource. Si l'adaptateur reçoit des données dans une mémoire tampon qu'il a allouée, elle doit être allouée via l'interface de flux, comme illustré dans l'exemple suivant :
Cette opération crée une page et ajoute la page au flux. C'est la meilleure façon de gérer ce type de ressource, car elle ne nécessite aucune copie de mémoire ou réallocation./* Create a page */ mpiStreamNewPage (hStream, &hPage, nSizeOfBuffer); /* Get the address of the buffer */ mpiStreamPageGetInfo (hPage, &pData, &nSizeOfBuffer); /* Get the data into the buffer */ MyGetData (pData, &ActualDataSize); /* Add the page to the stream */ mpiStreamWritePageEx (hStream, hPage, nActualDataSize); - L'adaptateur extrait les données de la ressource par morceaux.
Cette opération est identique au scénario ci-dessus, sauf qu'elle est allouée de manière répétée. Chaque appel à mpiStreamWritePage ajoute une page au flux.