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

Allouer

Tableaux

Tableaux et pointeurs

Attributs de tableau et de Sized-Pointer

Dans

midl_user_free

/Osf

out

Ptr

Ref

Unique