« ソース整理・構成の変更 | メイン | ソースの整理2 »

August 17, 2004

CComPtrの代入時の振る舞い

COMのインターフェイスを管理する時はATLのCComPtrを使うと楽だ。
ソースはatlcomcli.hにある。
で、代入時の振る舞いがちょっと気になったので調べてみた。
中ではAtlComPtrAssignが呼ばれている。
その中を見ると次のような感じ。

if (pp == NULL)
   return NULL;

if (lp != NULL)
   lp->AddRef();
if (*pp)
   (*pp)->Release();
*
pp = lp;
return lp;

やっぱ代入元もAddRefされてるんすね。
と言うことは、呼び出し元管理のインターフェイスは代入後Release呼んどいた方が良さそうだ。

投稿者 Takenori : August 17, 2004 02:16 PM

Trackback Pings

このエントリーのトラックバックURL:
http://blog.kaede-software.com/mt-tb.cgi/92

コメント

Total : Today : Yesterday :