ICLRMemoryNotificationCallback::OnMemoryNotification Method

Notifies the common language runtime (CLR) of the memory load on the computer.

HRESULT OnMemoryNotification (
    [in] EMemoryAvailable eMemoryAvailable
);

Parameters

  • eMemoryAvailable
    [in] One of the EMemoryAvailable values, indicating the memory pressure the computer is currently experiencing.

Return Value

HRESULT

Description

S_OK

OnMemoryNotification returned successfully.

HOST_E_CLRNOTAVAILABLE

The CLR has not been loaded into a process, or the CLR is in a state in which it cannot run managed code or process the call successfully.

HOST_E_TIMEOUT

The call timed out.

HOST_E_NOT_OWNER

The caller does not own the lock.

HOST_E_ABANDONED

An event was canceled while a blocked thread or fiber was waiting on it.

E_FAIL

An unknown catastrophic failure occurred. After a method returns E_FAIL, the CLR is no longer usable within the process. Subsequent calls to hosting methods return HOST_E_CLRNOTAVAILABLE.

Remarks

The CLR registers a callback to OnMemoryNotification by using a call to the IHostMemoryManager::RegisterMemoryNotificationCallback method. The runtime uses the information returned in the callback to free additional memory when the host reports that memory resources are running low.

Note

Calls to OnMemoryNotification never block. They always return immediately.

Requirements

Platforms: See .NET Framework System Requirements.

Header: MSCorEE.idl

Library: Included as a resource in MSCorEE.dll

.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

See Also

Reference

IHostMemoryManager Interface

IHostMemoryManager::RegisterMemoryNotificationCallback Method

ICLRMemoryNotificationCallback Interface