Partager via


WsAlloc, fonction (webservices.h)

Alloue un segment de mémoire à partir du tas spécifié.

Syntaxe

HRESULT WsAlloc(
  [in]           WS_HEAP  *heap,
  [in]           SIZE_T   size,
                 void     **ptr,
  [in, optional] WS_ERROR *error
);

Paramètres

[in] heap

Pointeur vers une structure WS_HEAP représentant le tas à partir duquel allouer la mémoire.

[in] size

Nombre d'octets à allouer. Cette valeur peut être zéro.

ptr

En cas de réussite, pointeur qui reçoit l’adresse de la mémoire allouée. Ce pointeur est valide jusqu’à ce que WsFreeHeap ou WsResetHeap soit appelé sur le tas.

Le pointeur retourné est aligné sur une limite de 8 octets.

Les allocations d’octets zéro retournent un pointeur non NULL.

[in, optional] error

Pointeur vers une structure de WS_ERROR qui reçoit des informations d’erreur supplémentaires en cas d’échec de la fonction.

Valeur retournée

Si la fonction réussit, elle retourne NO_ERROR ; sinon, elle retourne un code d’erreur HRESULT.

Code de retour Description
WS_E_QUOTA_EXCEEDED
Les octets demandés, en plus des octets déjà alloués, dépassent la taille du tas, comme spécifié par la propriété WS_HEAP_PROPERTY_MAX_SIZE .
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.

Remarques

La mémoire retournée par cette fonction n’est pas zéro initialisée et contient des valeurs non définies.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête webservices.h
Bibliothèque WebServices.lib
DLL WebServices.dll