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


Функция RpcSsAllocate (rpcndr.h)

Функция RpcSsAllocate выделяет память в функции управления памятью заглушки RPC и возвращает указатель на выделенную память или значение NULL.

Синтаксис

void * RpcSsAllocate(
  size_t Size
);

Параметры

Size

Размер выделенной памяти в байтах.

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

Значение Значение
RPC_S_OUT_OF_MEMORY
Системе не хватает памяти.
 
Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

Функция RpcSsAllocate позволяет приложению выделять память в функции управления памятью заглушки RPC. Перед вызовом RpcSsAllocate необходимо уже установить среду управления памятью. Для управления памятью, вызываемой внутри заглушки, сама заглушка обычно устанавливает необходимую среду. Дополнительные сведения см. в разделе Управление памятью. При использовании RpcSsAllocate для выделения памяти, не вызванной из заглушки, приложение должно вызвать RpcSsEnableAllocate , чтобы установить требуемую среду управления памятью.

Подпрограмма RpcSsAllocate возвращает указатель на выделенную память, если вызов выполнен успешно. В противном случае возникает исключение.

Когда заглушка устанавливает управление памятью, она освобождает любую память, выделенную RpcSsAllocate. Приложение может освободить такую память перед возвратом к вызывающей заглушку, вызвав RpcSsFree.

В отличие от этого, когда приложение устанавливает управление памятью, оно должно освободить любую выделенную память. Для этого вызывается RpcSsFree или RpcSsDisableAllocate.

Для управления одной и той же памятью в среде управления памятью заглушки несколько потоков могут вызывать RpcSsAllocate и RpcSsFree. В этом случае потоки должны совместно использовать один и тот же дескриптор управления памятью заглушки. Приложения передают дескрипторы потоков из потока в поток, вызывая RpcSsGetThreadHandle и RPCSsSetThreadHandle.

Примечание Подпрограмма RpcSsAllocate вызывает исключения, в отличие от RpcSmAllocate, которая возвращает код ошибки.
 

Требования

   
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header rpcndr.h (включая Rpc.h)
Библиотека Rpcrt4.lib
DLL Rpcrt4.dll

См. также раздел

RpcSmAllocate

RpcSsDisableAllocate

RpcSsEnableAllocate

RpcSsFree

RpcSsGetThreadHandle

RpcSsSetThreadHandle