Web/DB システム開発、プログラミング方法からホスティングの選定まで、Web/DB システムを構築する人のための徹底解説ガイド!
Web/DB プログラミング徹底解説
サイト内検索
カスタム検索
最終更新日: 2/27/2010
Windows プログラミング入門 » COM プログラミング入門 » COM オブジェクトの寿命管理 ~ 作ってわかる COM の基礎

COM オブジェクトの寿命管理 ~ 作ってわかる COM の基礎

IUnknown インターフェイスの AddRef メソッドと Release メソッドは、「いつオブジェクトをメモリから解放してよいか」とか、 「いつ DLL をアンロードしてよいか」 などを判断するため、すなわち 寿命管理 をするために使います。

COM は参照カウンタで寿命管理するのですが、 ある COM オブジェクトへの参照が増えたときに、参照カウンタを増やし、参照されなくなったときに参照カウンタを減らします。 この参照カウンタが0になったときに、そのオブジェクトをメモリから解放したり、DLL をアンロードしたりします。

参照カウンタの実装を失敗すると、不要になったオブジェクトが解放されずメモリリークが発生したり、 あるいはまだ使用中なのにメモリから解放されて、アクセス違反の原因になったりします。


Windows プログラミング入門 » COM プログラミング入門 » COM オブジェクトの寿命管理 ~ 作ってわかる COM の基礎

© 2008-2010 小山圭介 All Rights Reserved.