Windows 8 の RasSetEntryProperties() を実行するとハンドル リークが発生します

現象
Windows 8 ベースのコンピューターにおいて Win32 API RasSetEntryProperties() 関数を実行するとハンドル リークが発生します。繰り返しこの関数が実行される場合、このハンドル リークが原因でページ プール内のリソース不足になることがあります。また、この関数は 既存の電話帳エントリのプロパティを変更したり、新規で電話帳エントリを作成するために使われるため、このような動作をするプログラムを実行した場合もハンドル リークが発生することがあります。
原因
Windows 8 の RasSetEntryProperties() 関数内部の動作でレジストリを操作するためにハンドルを 1 つ生成します。しかし、このハンドルが解放されないため、この関数を実行したプロセスにおいてハンドル リークが発生します。
解決方法
プロセスを終了させると、そのプロセスが生成したハンドルは、すべて解放されます。
そのため、ハンドル リークが発生するプロセスを定期的に再起動することによって、ページ プール内のリソース不足を抑止できます。
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細
プロセスが保持するハンドルの数はタスク マネージャーを使って確認することができます。
以下の手順に沿って操作してください。
  1. Ctrl + Shift + Esc キーを入力し、タスク マネージャーを起動します。
  2. 「詳細」タブをクリックします。
  3. 名前、PID 等が表示されているカラムを右クリックし、「列の選択」をクリックします。
  4. 「ハンドル」にチェックし、「OK」ボタンをクリックします。
  5. 名前、PID 等が表示されているカラムに「ハンドル」が追加されていることを確認します。

注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2862500 - 最終更新日: 09/29/2016 15:01:00 - リビジョン: 3.0

Windows 8, Windows 8 Enterprise, Windows 8 Pro

  • kbbug KB2862500
フィードバック