建立相同物件的新介面
在此案例中,伺服器會取得相同物件的新介面指標,以回應每個 OBJID_CLIENT 要求。
在下列範例程式碼中, m_pUIObj 是支援多個元件物件模型 (COM) 介面的物件指標。 即使重複使用現有的物件,每次擷取物件時都會建立新的介面指標,因此必須遞減參考計數。
case WM_GETOBJECT:
if ((DWORD)lParam == OBJID_CLIENT)
{
// Get a new interface to the same object.
IAccessible *pAcc = NULL;
// The following increments the reference count.
m_pUIObj->QueryInterface(IID_IAccessible, (LPVOID*)&pAcc);
LRESULT lAcc = LresultFromObject(IID_IAccessible, wParam,
(LPUNKNOWN) &pAcc);
// Release our reference to the object.
pAcc->Release();
return lAcc;
}
break; // Fall through to DefWindowProc.