Fonction RpcSmAllocate (rpcndr.h)
La fonction RpcSmAllocate alloue de la mémoire dans la fonction de gestion de la mémoire stub RPC et retourne un pointeur vers la mémoire allouée ou NULL.
Syntaxe
void * RpcSmAllocate(
size_t Size,
RPC_STATUS *pStatus
);
Paramètres
Size
Taille de la mémoire à allouer, en octets.
pStatus
Pointeur vers le status retourné.
Valeur retournée
Valeur | Signification |
---|---|
|
L’appel a réussi. |
|
La mémoire du système est insuffisante. |
Notes
La routine RpcSmAllocate permet à une application d’allouer de la mémoire dans l’environnement de gestion de la mémoire du stub RPC. Avant d’appeler RpcSmAllocate, 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 du serveur lui-même peut établir l’environnement nécessaire. Pour plus d’informations, consultez RpcSmEnableAllocate. Lorsque vous utilisez RpcSmAllocate pour allouer de la mémoire non appelée à partir du stub, l’application doit appeler RpcSmEnableAllocate pour établir l’environnement de gestion de la mémoire requis.
La routine RpcSmAllocate retourne un pointeur vers la mémoire allouée si l’appel réussit. Dans le cas contraire, une valeur NULL est retournée.
Lorsque le stub établit la gestion de la mémoire, il libère toute mémoire allouée par RpcSmAllocate. L’application peut libérer cette mémoire avant de revenir au stub appelant en appelant RpcSmFree.
En revanche, lorsque l’application établit la gestion de la mémoire, elle doit libérer toute la mémoire allouée. Pour ce faire, il appelle RpcSmFree ou RpcSmDisableAllocate.
Pour gérer la même mémoire dans l’environnement de gestion de la mémoire stub, plusieurs threads peuvent appeler RpcSmAllocate et RpcSmFree. Dans ce cas, les threads doivent partager le même handle de thread de gestion de mémoire stub. Les applications passent des handles de thread de thread à thread en appelant RpcSmGetThreadHandle et RpcSmSetThreadHandle.
Pour plus d’informations, consultez Gestion de la mémoire.
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 |