class IUnKnown

{

virtual void QueryInterface(REFIID riid,IUnknown** ppv)=0;

virtual void addref()=0;

virtual void release()=0;

}

void QueryInterface(REFIID riid,IUnknown** ppv)

{

if(riid==IID_ITest)

*ppv = static_cast<IPug*>(this);

else {

*ppv=0;

return E_NOINTERFACE;

}

reinterpret_cast<IUnknown*>(*ppv)->AddRef();

return S_OK;

}

05-08 08:30