attribut midl_user_allocate
La fonction midl_user_allocate est une fonction que les applications clientes et serveur fournissent pour allouer de la mémoire.
void __RPC_FAR * __RPC_API midl_user_allocate (size_t cBytes);
Paramètres
-
octets cBytes
-
Spécifie le nombre d’octets à allouer.
Notes
Les applications clientes et les applications serveur doivent implémenter la fonction midl_user_allocate , sauf si vous effectuez une compilation en mode de compatibilité OSF (/osf). Les applications et les stubs générés appellent midl_user_allocate lors du traitement des objets référencés par des pointeurs :
- L’application serveur doit appeler midl_user_allocate pour allouer de la mémoire pour l’application, par exemple lors de la création d’un nœud.
- Le stub du serveur appelle midl_user_allocate lors de la démarshalation de données pointues dans l’espace d’adressage du serveur.
- Le stub client appelle midl_user_allocate lors de la démarshalation des données du serveur référencées par un pointeur sortant . Notez que pour les pointeurs [in], [out] et [unique], le stub client appelle midl_user_allocate uniquement si la valeur du pointeur [unique] était NULL en entrée et change une valeur non NULL pendant l’appel. Si le pointeur [unique] n’était pas NULL en entrée, le stub client écrit les données associées dans la mémoire existante.
Si midl_user_allocate ne parvient pas à allouer de la mémoire, il doit retourner un pointeur NULL .
Il est recommandé midl_user_allocate de retourner un pointeur de 8 octets aligné.
Exemples
#include <windows.h>
void __RPC_FAR * __RPC_API midl_user_allocate(size_t cBytes)
{
return(malloc(cBytes));
}
Voir aussi