Função RpcSmAllocate (rpcndr.h)
A função RpcSmAllocate aloca memória dentro da função de gerenciamento de memória stub RPC e retorna um ponteiro para a memória alocada ou NULL.
Sintaxe
void * RpcSmAllocate(
size_t Size,
RPC_STATUS *pStatus
);
Parâmetros
Size
Tamanho da memória a ser alocada, em bytes.
pStatus
Ponteiro para o status retornado.
Valor retornado
Valor | Significado |
---|---|
|
A chamada foi bem-sucedida. |
|
O sistema está sem memória. |
Comentários
A rotina RpcSmAllocate permite que um aplicativo aloque memória dentro do ambiente de gerenciamento de memória stub RPC. Antes de chamar RpcSmAllocate, o ambiente de gerenciamento de memória já deve estar estabelecido. Para o gerenciamento de memória chamado dentro do stub, o stub do servidor em si pode estabelecer o ambiente necessário. Para obter mais informações, consulte RpcSmEnableAllocate. Ao usar RpcSmAllocate para alocar memória não chamada do stub, o aplicativo deve chamar RpcSmEnableAllocate para estabelecer o ambiente de gerenciamento de memória necessário.
A rotina RpcSmAllocate retornará um ponteiro para a memória alocada se a chamada for bem-sucedida. Caso contrário, um NULL será retornado.
Quando o stub estabelece o gerenciamento de memória, ele libera qualquer memória alocada por RpcSmAllocate. O aplicativo pode liberar essa memória antes de retornar ao stub de chamada chamando RpcSmFree.
Por outro lado, quando o aplicativo estabelece o gerenciamento de memória, ele deve liberar qualquer memória alocada. Ele faz isso chamando RpcSmFree ou RpcSmDisableAllocate.
Para gerenciar a mesma memória dentro do ambiente de gerenciamento de memória stub, vários threads podem chamar RpcSmAllocate e RpcSmFree. Nesse caso, os threads devem compartilhar o mesmo identificador de thread de gerenciamento de memória stub. Os aplicativos passam identificadores de thread para thread chamando RpcSmGetThreadHandle e RpcSmSetThreadHandle.
Para obter mais informações, consulte Gerenciamento de memória.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | rpcndr.h (inclua Rpc.h) |
Biblioteca | Rpcrt4.lib |
DLL | Rpcrt4.dll |