Fonction midl_user_free
La fonction midl_user_free doit être fournie par les développeurs RPC. Il libère la mémoire allouée par midl_user_allocate pour les stubs RPC et les routines de bibliothèque. Votre fonction midl_user_free doit correspondre au prototype suivant :
void __RPC_USER midl_user_free(void * pBuffer);
Le paramètre pBuffer spécifie un pointeur vers la mémoire à libérer. L’application cliente et l’application serveur doivent implémenter la fonction midl_user_free , sauf si vous effectuez une compilation en mode de compatibilité OSF (/osf). La fonction midl_user_free doit pouvoir libérer tout le stockage alloué par midl_user_allocate.
Les applications et les stubs appellent midl_user_free lors du traitement des objets alloués :
- L’application serveur doit appeler midl_user_free pour libérer la mémoire allouée par l’application, par exemple lors de la suppression d’un nœud de données alloué dynamiquement.
- Le stub du serveur appelle midl_user_free pour libérer la mémoire sur le serveur après avoir marshalé tous les arguments [out], [in],[out] et la valeur de retour de la fonction.
Par exemple, l’exemple de programme WINDOWS RPC qui affiche « Hello, world » implémente midl_user_free en termes de la fonction C libre :
void __RPC_USER midl_user_free(void __RPC_FAR * p)
{
free(p);
}
Notes
Si le package RpcSs est activé (par exemple, à la suite de l’utilisation de l’attribut [ enable_allocate], votre programme serveur doit utiliser RpcSmFree pour libérer de la mémoire. Pour plus d’informations, consultez Package de gestion de la mémoire RpcSs.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour