| 72 | } |
| 73 | |
| 74 | STDMETHODIMP |
| 75 | CClassFactory::QueryInterface(REFIID riid, __deref_out void **ppv) |
| 76 | { |
| 77 | CheckPointer(ppv, E_POINTER) ValidateReadWritePtr(ppv, sizeof(PVOID)); |
| 78 | *ppv = NULL; |
| 79 | |
| 80 | // any interface on this object is the object pointer. |
| 81 | if ((riid == IID_IUnknown) || (riid == IID_IClassFactory)) |
| 82 | { |
| 83 | *ppv = (LPVOID)this; |
| 84 | // AddRef returned interface pointer |
| 85 | ((LPUNKNOWN)*ppv)->AddRef(); |
| 86 | return NOERROR; |
| 87 | } |
| 88 | |
| 89 | return ResultFromScode(E_NOINTERFACE); |
| 90 | } |
| 91 | |
| 92 | STDMETHODIMP_(ULONG) |
| 93 | CClassFactory::AddRef() |
no test coverage detected