Condividi tramite


Funzione RpcSsAllocate (rpcndr.h)

La funzione RpcSsAllocate alloca memoria all'interno della funzione di gestione della memoria stub RPC e restituisce un puntatore alla memoria allocata o NULL.

Sintassi

void * RpcSsAllocate(
  size_t Size
);

Parametri

Size

Dimensione della memoria da allocare, in byte.

Valore restituito

Valore Significato
RPC_S_OUT_OF_MEMORY
Il sistema non è in memoria.
 
Nota Per un elenco di codici di errore validi, vedere Valori restituiti RPC.
 

Commenti

La funzione RpcSsAllocate consente a un'applicazione di allocare memoria all'interno della funzione di gestione della memoria stub RPC. Prima di chiamare RpcSsAllocate, è necessario che sia già stato stabilito l'ambiente di gestione della memoria. Per la gestione della memoria chiamata all'interno dello stub, lo stub stesso stabilisce in genere l'ambiente necessario. Per altre informazioni, vedere Gestione della memoria. Quando si usa RpcSsAllocate per allocare memoria non chiamata dallo stub, l'applicazione deve chiamare RpcSsEnableAllocate per stabilire l'ambiente di gestione della memoria richiesto.

La routine RpcSsAllocate restituisce un puntatore alla memoria allocata, se la chiamata ha avuto esito positivo. In caso contrario, genera un'eccezione.

Quando lo stub stabilisce la gestione della memoria, libera qualsiasi memoria allocata da RpcSsAllocate. L'applicazione può liberare tale memoria prima di tornare allo stub chiamante chiamando RpcSsFree.

Al contrario, quando l'applicazione stabilisce la gestione della memoria, deve liberare qualsiasi memoria allocata. A tale scopo, chiamare RpcSsFree o RpcSsDisableAllocate.

Per gestire la stessa memoria all'interno dell'ambiente di gestione della memoria stub, più thread possono chiamare RpcSsAllocate e RpcSSFree. In questo caso, i thread devono condividere lo stesso handle di gestione della memoria stub- thread. Le applicazioni passano handle di thread da thread a thread chiamando RpcSsGetThreadHandle e RPCSsSetThreadHandle.

Nota La routine RpcSsAllocate genera eccezioni, a differenza di RpcSmAllocate, che restituisce il codice di errore.
 

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione rpcndr.h (include Rpc.h)
Libreria Rpcrt4.lib
DLL Rpcrt4.dll

Vedi anche

RpcSmAllocate

RpcSsDisableAllocate

RpcSsEnableAllocate

RpcSsFree

RpcSsGetThreadHandle

RpcSsSetThreadHandle