アプリケーション通知の概要

Windows Server 2008 以降、プロセッサとメモリ モジュールはプラグ アンド プレイ (PnP) デバイスと見なされます。 そのため、オペレーティング システムは、アプリケーション通知に PnP 通知メカニズムを使用します。 PnP 通知メカニズムは、WM_DEVICECHANGE ウィンドウ メッセージをユーザー モード アプリケーションに送信し、ハードウェア パーティション内のハードウェアへの変更についてアプリケーションに通知します。

新しいプロセッサまたはメモリ モジュールがハードウェア パーティションに追加されると、オペレーティング システムは、オペレーティング システムが新しいプロセッサまたはメモリ デバイスを起動した後、この通知をユーザー モード アプリケーションに送信します。 新しいプロセッサの場合、オペレーティング システムは、新しいプロセッサでスレッドのスケジュールを開始するまで、このメッセージをユーザー モード アプリケーションに送信しません。

すべての PnP 通知は非同期です。 したがって、オペレーティング システムがプロセッサまたはメモリ モジュールを起動するまで、これらの通知はユーザー モード アプリケーションによって受信されない可能性があります。

ユーザー モード アプリケーションは、この通知を受信すると、それに応じて次の項目の一部またはすべてを調整できます。

  • プロセッサ単位のメモリ割り当て

  • アプリケーションのスレッド プール内のスレッドの数

  • メモリ バッファーの割り当て

  • 負荷分散アルゴリズム

ユーザー モード アプリケーションは、GlobalMemoryStatusEx 関数を呼び出すことによって、ハードウェア パーティション内の物理メモリの量を取得できます。 GlobalMemoryStatusEx 関数の詳細については、Microsoft Windows SDK のドキュメントを参照してください。

ユーザー モード アプリケーションは、アプリケーション通知を受信するため、オペレーティング システムに自身を登録する必要があります。 詳しくは、「アプリケーション通知の登録」をご覧ください。