attribut d’allocation de l' _ utilisateur MIDL _
La fonction d' _ _ allocation utilisateur MIDL est une fonction que les applications client et serveur fournissent pour allouer de la mémoire.
void __RPC_FAR * __RPC_API midl_user_allocate (size_t cBytes);
Paramètres
-
cBytes
-
Spécifie le nombre d’octets à allouer.
Notes
Les applications clientes et les applications serveur doivent implémenter la fonction d' _ _ allocation utilisateur MIDL , sauf si vous compilez en mode de compatibilité OSF (/OSF). Les applications et les stubs générés appellent MIDL _ User _ allocate lors du traitement d’objets référencés par des pointeurs :
- L’application serveur doit appeler MIDL _ User _ allocate pour allouer de la mémoire pour le application, par exemple, lors de la création d’un nouveau nœud.
- Le stub serveur appelle l' _ _ allocation d’utilisateur MIDL lors du démarshaling de données pointant vers l’espace d’adressage du serveur.
- Le stub client appelle l' _ _ allocation d’utilisateur MIDL lors du démarshaling de données à partir du serveur qui est référencé par un pointeur de sortie . Notez que pour les [ ] pointeurs in, [ ] out et [ unique ] , le stub client appelle l’allocation de l' _ utilisateur _ MIDL uniquement si la valeur de pointeur [ unique ] était null en entrée et que les modifications apportées à une valeur non null au cours de 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 l' _ _ allocation d’utilisateur MIDL échoue pour allouer de la mémoire, elle doit retourner un pointeur null .
Il est recommandé que l' _ _ allocation d’utilisateur MIDL retourne un pointeur de 8 octets alignés.
Exemples
#include <windows.h>
void __RPC_FAR * __RPC_API midl_user_allocate(size_t cBytes)
{
return(malloc(cBytes));
}