質問: windowsのハンドルについて認識があいまいなので確認させてください。 アプリケーションAを開くときにアプリケーションAからハンドルを 取得し、アプリケーションAを閉じるとアプリケーションAにハンドルを 返却すると認識しています。 (そのためアプリケーション自身は自分が使われているかが分かる) そのためたまにアプリケーションを閉じるときハンドルを返却し忘れると(ハンドルリーク) アプリケーションはハンドルを貸し出したままだから、使用中のメッセージ を出してアプリケーションを閉じれないという認識でいますが正しいでしょうか。 何かわかりやすい例があれば教えてください。
回答: ハンドルはあくまでもリソースなどに割り当てられた番号なので、返却するという概念はないんじゃないかと思います。 例えば、アプリAがアプリBから返却されたハンドルを使って処理し、アプリAが終了するときには、そのハンドルを指定してアプリBにリソースの解放を要求する、とかはあると思います。 これを忘れるとメモリリークにつながるのでは。 但しそれはあくまでもアプリの作りによります。 アプリが終了するときに自身が管理しているリソースを自動で解放するのもあるでしょうし。