Función WsAlloc (webservices.h)

Asigna un segmento de memoria del montón especificado.

Sintaxis

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

Parámetros

[in] heap

Puntero a una estructura de WS_HEAP que representa el montón desde el que se va a asignar la memoria.

[in] size

Número de bytes que se van a asignar. Este valor puede ser cero.

ptr

Si se ejecuta correctamente, un puntero que recibe la dirección de la memoria asignada. Este puntero es válido hasta que se llama a WsFreeHeap o WsResetHeap en el montón.

El puntero devuelto se alinea en un límite de 8 bytes.

Las asignaciones de bytes cero devolverán un puntero distinto de NULL.

[in, optional] error

Puntero a una estructura de WS_ERROR que recibe información de error adicional si se produce un error en la función.

Valor devuelto

Si la función se realiza correctamente, devuelve NO_ERROR; de lo contrario, devuelve un código de error HRESULT.

Código devuelto Descripción
WS_E_QUOTA_EXCEEDED
Los bytes solicitados, además de los bytes ya asignados, superan el tamaño del montón, según lo especificado por la propiedad WS_HEAP_PROPERTY_MAX_SIZE .
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.

Comentarios

La memoria devuelta por esta función no es cero inicializada y contiene valores no definidos.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado webservices.h
Library WebServices.lib
Archivo DLL WebServices.dll