IHostMemoryManager::GetMemoryLoad (Método)
Obtiene la cantidad de memoria física que está actualmente en uso y, por lo tanto, no disponible, según lo que ha notificado el host.
Sintaxis
HRESULT GetMemoryLoad (
[out] DWORD* pMemoryLoad,
[out] SIZE_T *pAvailableBytes
);
Parámetros
pMemoryLoad
[out] Puntero al porcentaje aproximado de memoria física total que está actualmente en uso.
pAvailableBytes
[out] Puntero al número de bytes disponibles para Common Language Runtime (CLR).
Valor devuelto
HRESULT | Descripción |
---|---|
S_OK | GetMemoryLoad se devolvió correctamente. |
HOST_E_CLRNOTAVAILABLE | Si se devuelve este valor, significa que Common Language Runtime (CLR) no se ha cargado en un proceso o se encuentra en un estado en el que no puede ejecutar código administrado ni procesar la llamada correctamente. |
HOST_E_TIMEOUT | Se agotó el tiempo de espera de la llamada. |
HOST_E_NOT_OWNER | El autor de la llamada no es el propietario del bloqueo. |
HOST_E_ABANDONED | Se canceló un evento mientras que una fibra o subproceso que estaba bloqueado lo estaba esperando. |
E_FAIL | Ocurrió un error grave desconocido. Si un método devuelve el valor E_FAIL, el CLR ya no se podrá usar en el proceso. Las llamadas que se hagan a los métodos de hospedaje posteriormente devolverán el valor HOST_E_CLRNOTAVAILABLE. |
Comentarios
GetMemoryLoad
encapsula la función GlobalMemoryStatus
de Win32. El valor de pMemoryLoad
es el equivalente del campo dwMemoryLoad
de la estructura MEMORYSTATUS
devuelta de GlobalMemoryStatus
.
El runtime usa el valor devuelto como heurística para el recolector de elementos no utilizados. Por ejemplo, si el host informa de que la mayoría de la memoria está en uso, el recolector de elementos no utilizados puede optar por recopilar de varias generaciones para aumentar la cantidad de memoria que puede estar disponible.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: MSCorEE.h
Biblioteca: incluida como recurso en MSCorEE.dll
Versiones de .NET Framework: disponible a partir de la versión 2.0