Partager via


RpcSsAllocate, fonction (rpcndr.h)

La fonction RpcSsAllocate alloue de la mémoire dans la fonction de gestion de la mémoire du stub RPC et retourne un pointeur vers la mémoire allouée ou NULL.

Syntaxe

void * RpcSsAllocate(
  size_t Size
);

Paramètres

Size

Taille de la mémoire à allouer, en octets.

Valeur retournée

Valeur Signification
RPC_S_OUT_OF_MEMORY
Le système est en mémoire insuffisante.
 
Note Pour obtenir la liste des codes d’erreur valides, consultez Valeurs de retour RPC.
 

Notes

La fonction RpcSsAllocate permet à une application d’allouer de la mémoire dans la fonction de gestion de la mémoire stub RPC. Avant d’appeler RpcSsAllocate, l’environnement de gestion de la mémoire doit déjà être établi. Pour la gestion de la mémoire appelée dans le stub, le stub lui-même établit généralement l’environnement nécessaire. Pour plus d’informations, consultez Gestion de la mémoire. Lorsque vous utilisez RpcSsAllocate pour allouer de la mémoire non appelée à partir du stub, l’application doit appeler RpcSsEnableAllocate pour établir l’environnement de gestion de la mémoire requis.

La routine RpcSsAllocate retourne un pointeur vers la mémoire allouée, si l’appel a réussi. Sinon, une exception est levée.

Lorsque le stub établit la gestion de la mémoire, il libère toute la mémoire allouée par RpcSsAllocate. L’application peut libérer cette mémoire avant de revenir au stub appelant en appelant RpcSsFree.

En revanche, lorsque l’application établit la gestion de la mémoire, elle doit libérer toute mémoire allouée. Pour ce faire, il appelle RpcSsFree ou RpcSsDisableAllocate.

Pour gérer la même mémoire dans l’environnement de gestion de la mémoire stub, plusieurs threads peuvent appeler RpcSsAllocate et RpcSsFree. Dans ce cas, les threads doivent partager le même handle de thread de gestion de mémoire de stub. Les applications passent des handles de thread de thread à thread en appelant RpcSsGetThreadHandle et RPCSsSetThreadHandle.

Note La routine RpcSsAllocate déclenche des exceptions, contrairement à RpcSmAllocate, qui retourne le code d’erreur.
 

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête rpcndr.h (inclure Rpc.h)
Bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

RpcSmAllocate

RpcSsDisableAllocate

RpcSsEnableAllocate

RpcSsFree

RpcSsGetThreadHandle

RpcSsSetThreadHandle