Partager via


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

Spécifie le nombre d’octets à allouer.

Remarques

Les applications clientes et les applications serveur doivent implémenter la fonction midl_user_allocate , 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 des objets référencés par des pointeurs :

  • L’application serveur doit appeler midl_user_allocate pour allouer de la mémoire à 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 des données pointées 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é par un pointeur sortant . Notez que pour [in], [out] et [unique] pointeurs, le stub client appelle midl_user_allocate uniquement si la valeur de pointeur [unique] a été NULL lors de l’entrée et que les modifications apportées à une valeur non NULL pendant l’appel. Si le pointeur [unique] n’était pas NULL lors de l’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é de midl_user_allocate retourner un pointeur aligné sur 8 octets.

Exemples

#include <windows.h>

void __RPC_FAR * __RPC_API midl_user_allocate(size_t cBytes) 
{ 
    return(malloc(cBytes)); 
}

Voir aussi

allouer

tableaux

Tableaux et pointeurs

Array et Sized-Pointer Attributes

dans

midl_user_free

/Osf

ptr

ref

unique