Función RpcSmAllocate (rpcndr.h)
La función RpcSmAllocate asigna memoria dentro de la función de administración de memoria de código auxiliar RPC y devuelve un puntero a la memoria asignada o NULL.
void * RpcSmAllocate(
size_t Size,
RPC_STATUS *pStatus
);
Size
Tamaño de la memoria que se va a asignar, en bytes.
pStatus
Puntero al estado devuelto.
Valor | Significado |
---|---|
|
La llamada se realizó correctamente. |
|
El sistema no tiene memoria. |
La rutina RpcSmAllocate permite a una aplicación asignar memoria dentro del entorno de administración de memoria de código auxiliar rpc. Antes de llamar a RpcSmAllocate, ya se debe establecer el entorno de administración de memoria. Para la administración de memoria denominada dentro del código auxiliar, el propio código auxiliar del servidor puede establecer el entorno necesario. Para obtener más información, vea RpcSmEnableAllocate. Cuando se usa RpcSmAllocate para asignar memoria no llamada desde el código auxiliar, la aplicación debe llamar a RpcSmEnableAllocate para establecer el entorno de administración de memoria necesario.
La rutina RpcSmAllocate devuelve un puntero a la memoria asignada si la llamada se realiza correctamente. De lo contrario, se devuelve un valor NULL .
Cuando el código auxiliar establece la administración de memoria, libera cualquier memoria asignada por RpcSmAllocate. La aplicación puede liberar dicha memoria antes de volver al código auxiliar que realiza la llamada mediante una llamada a RpcSmFree.
Por el contrario, cuando la aplicación establece la administración de memoria, debe liberar cualquier memoria asignada. Para ello, llama a RpcSmFree o RpcSmDisableAllocate.
Para administrar la misma memoria en el entorno de administración de memoria de código auxiliar, varios subprocesos pueden llamar a RpcSmAllocate y RpcSmFree. En este caso, los subprocesos deben compartir el mismo identificador de subproceso de administración de memoria auxiliar. Las aplicaciones pasan identificadores de subproceso de subproceso a subproceso llamando a RpcSmGetThreadHandle y RpcSmSetThreadHandle.
Para obtener más información, consulte Administración de memoria.
Cliente mínimo compatible | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | rpcndr.h (incluya Rpc.h) |
Library | Rpcrt4.lib |
Archivo DLL | Rpcrt4.dll |