Funzione RpcSmAllocate (rpcndr.h)
La funzione RpcSmAllocate alloca memoria all'interno della funzione di gestione della memoria stub RPC e restituisce un puntatore alla memoria allocata o NULL.
Sintassi
void * RpcSmAllocate(
size_t Size,
RPC_STATUS *pStatus
);
Parametri
Size
Dimensioni della memoria da allocare, in byte.
pStatus
Puntatore allo stato restituito.
Valore restituito
Valore | Significato |
---|---|
|
La chiamata ha avuto esito positivo. |
|
Il sistema non è in memoria. |
Commenti
La routine RpcSmAllocate consente a un'applicazione di allocare memoria all'interno dell'ambiente di gestione della memoria stub RPC. Prima di chiamare RpcSmAllocate, l'ambiente di gestione della memoria deve essere già stabilito. Per la gestione della memoria chiamata all'interno dello stub, lo stub del server stesso può stabilire l'ambiente necessario. Per altre informazioni, vedere RpcSmEnableAllocate. Quando si usa RpcSmAllocate per allocare memoria non chiamata dallo stub, l'applicazione deve chiamare RpcSmEnableAllocate per stabilire l'ambiente di gestione della memoria richiesto.
La routine RpcSmAllocate restituisce un puntatore alla memoria allocata se la chiamata ha esito positivo. In caso contrario, viene restituito un valore NULL .
Quando lo stub stabilisce la gestione della memoria, libera qualsiasi memoria allocata da RpcSmAllocate. L'applicazione può liberare tale memoria prima di tornare al stub chiamante chiamando RpcSmFree.
Al contrario, quando l'applicazione stabilisce la gestione della memoria, deve liberare qualsiasi memoria allocata. Lo fa chiamando RpcSmFree o RpcSmDisableAllocate.
Per gestire la stessa memoria all'interno dell'ambiente di gestione della memoria stub, più thread possono chiamare RpcSmAllocate e RpcSmFree. In questo caso, i thread devono condividere lo stesso handle di thread di gestione della memoria stub. Le applicazioni passano gli handle di thread dal thread al thread chiamando RpcSmGetThreadHandle e RpcSmSetThreadHandle.
Per altre informazioni, vedere Gestione della memoria.
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 |