CreateMemoryResourceNotification 関数 (memoryapi.h)

メモリ リソース通知オブジェクトを作成します。

構文

HANDLE CreateMemoryResourceNotification(
  [in] MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType
);

パラメーター

[in] NotificationType

オブジェクトのシグナルを受け取るメモリ条件。 このパラメーターには、 MEMORY_RESOURCE_NOTIFICATION_TYPE 列挙体の次のいずれかの値を指定できます。

説明
LowMemoryResourceNotification
0
使用可能な物理メモリが不足しています。
HighMemoryResourceNotification
1
使用可能な物理メモリが高くなっています。

戻り値

関数が成功した場合、戻り値はメモリ リソース通知オブジェクトへのハンドルです。

関数が失敗した場合は、返される値は NULL です。 拡張情報を取得するには、 GetLastError を呼び出します。

解説

アプリケーションでは、メモリ リソース通知イベントを使用して、必要に応じてメモリ使用量をスケーリングできます。 使用可能なメモリが少ない場合、アプリケーションはワーキング セットを減らすことができます。 使用可能なメモリが多い場合、アプリケーションはより多くのメモリを割り当てることができます。

呼び出し元プロセスのすべてのスレッドは、 QueryMemoryResourceNotification 関数または いずれかの待機関数の呼び出しでメモリ リソース通知ハンドルを指定できます。 オブジェクトの状態は、指定されたメモリ条件が存在する場合に通知されます。 これはシステム全体のイベントであるため、オブジェクトが通知されると、すべてのアプリケーションが通知を受け取ります。 LowMemoryResourceNotification オブジェクトも HighMemoryResourceNotification オブジェクトもシグナル通知されないメモリの可用性の範囲があることに注意してください。 この場合、アプリケーションはメモリ使用量を一定に保つようにする必要があります。

CloseHandle 関数を使用してハンドルを閉じます。 プロセスが終了すると、ハンドルが自動的に閉じられます。 メモリ リソース通知オブジェクトは、最後のハンドルが閉じられたときに破棄されます。

この関数を使用するアプリケーションをコンパイルするには、 _WIN32_WINNT マクロを 0x0501 以降として定義します。 詳細については、「 Windows ヘッダーの使用」を参照してください。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー memoryapi.h (Windows.h、Memoryapi.h を含む)
Library onecore.lib
[DLL] Kernel32.dll

関連項目

CloseHandle

メモリ管理関数

QueryMemoryResourceNotification