Поделиться через


Функция WsAlloc (webservices.h)

Выделяет сегмент памяти из указанной кучи.

Синтаксис

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

Параметры

[in] heap

Указатель на структуру WS_HEAP , представляющую кучу, из которой выделяется память.

[in] size

Количество байтов, которые необходимо выделить. Это значение может быть равно 0.

ptr

При успешном выполнении — указатель, получающий адрес выделенной памяти. Этот указатель действителен до вызова WsFreeHeap или WsResetHeap в куче.

Возвращаемый указатель выравнивается по 8-байтовой границе.

При нулевом выделении байтов возвращается указатель, отличный от NULL.

[in, optional] error

Указатель на структуру WS_ERROR , которая получает дополнительные сведения об ошибке в случае сбоя функции.

Возвращаемое значение

Если функция выполняется успешно, она возвращает NO_ERROR; В противном случае возвращается код ошибки HRESULT.

Код возврата Описание
WS_E_QUOTA_EXCEEDED
Запрошенные байты в дополнение к уже выделенным байтам превышают размер кучи, как указано в свойстве WS_HEAP_PROPERTY_MAX_SIZE .
E_OUTOFMEMORY
Недостаточно памяти для завершения операции.

Комментарии

Память, возвращаемая этой функцией, не инициализирована нулем и содержит неопределенные значения.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header webservices.h
Библиотека WebServices.lib
DLL WebServices.dll