06/07/15 01:50:23
COM Essentialで
void foo(void)
{
IPug * pPug;
hr = pUnk->QueryInterface(IID_IPug, (void**)&pPug);
if(FAILED(hr)) goto clean_exit;
・・・
clean_exit:
pPug->Release();
}
見たいな事が書かれていたんだけどQueryInterface失敗したら
取得できなかったインターフェースの開放はありえないよな?
それともIPugのポインタが返って、参照カウントも上がった状態でS_FALSEが返ることがある?