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

2004年08月17日

吉里吉里2/KAG3ムービー拡張日誌:: 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 : 2004年08月17日 02:16




comments powered by Disqus
Total : Today : Yesterday : なかのひと