Функция RpcSmAllocate (rpcndr.h)
Функция RpcSmAllocate выделяет память внутри функции управления памятью заглушки RPC и возвращает указатель на выделенную память или значение NULL.
Синтаксис
void * RpcSmAllocate(
size_t Size,
RPC_STATUS *pStatus
);
Параметры
Size
Размер выделенной памяти в байтах.
pStatus
Указатель на возвращенное состояние.
Возвращаемое значение
Значение | Значение |
---|---|
|
Вызов выполнен успешно. |
|
Системе не хватает памяти. |
Комментарии
Подпрограмма RpcSmAllocate позволяет приложению выделять память в среде управления памятью заглушки RPC. Перед вызовом RpcSmAllocate необходимо уже установить среду управления памятью. Для управления памятью, вызываемой внутри заглушки, сама заглушка сервера может создать необходимую среду. Дополнительные сведения см. в разделе RpcSmEnableAllocate. При использовании RpcSmAllocate для выделения памяти, не вызванной из заглушки, приложение должно вызвать RpcSmEnableAllocate , чтобы установить необходимую среду управления памятью.
Подпрограмма RpcSmAllocate возвращает указатель на выделенную память, если вызов выполнен успешно. В противном случае возвращается значение NULL .
Когда заглушка устанавливает управление памятью, она освобождает любую память, выделенную RpcSmAllocate. Приложение может освободить такую память перед возвратом к вызывающей заглушку, вызвав RpcSmFree.
В отличие от этого, когда приложение устанавливает управление памятью, оно должно освободить все выделенные памяти. Для этого вызывается RpcSmFree или RpcSmDisableAllocate.
Для управления одной и той же памятью в среде управления памятью заглушки несколько потоков могут вызывать RpcSmAllocate и RpcSmFree. В этом случае потоки должны совместно использовать один и тот же дескриптор потока управления памятью заглушки. Приложения передают дескрипторы потоков из потока в поток, вызывая RpcSmGetThreadHandle и RpcSmSetThreadHandle.
Дополнительные сведения см. в разделе Управление памятью.
Требования
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | rpcndr.h (включая Rpc.h) |
Библиотека | Rpcrt4.lib |
DLL | Rpcrt4.dll |