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)); 
}

Voir aussi

lui

tableaux

Tableaux et pointeurs

Attributs de tableau et de Sized-Pointer

dans

_utilisateur _ gratuit MIDL

/osf

à

ptr

ref

unique