| 76 | /* QueryInterface */ |
| 77 | |
| 78 | STDMETHODIMP CUnknown::NonDelegatingQueryInterface(REFIID riid, void ** ppv) |
| 79 | { |
| 80 | CheckPointer(ppv,E_POINTER); |
| 81 | ValidateReadWritePtr(ppv,sizeof(PVOID)); |
| 82 | |
| 83 | /* We know only about IUnknown */ |
| 84 | |
| 85 | if (riid == IID_IUnknown) { |
| 86 | GetInterface((LPUNKNOWN) (PNDUNKNOWN) this, ppv); |
| 87 | return NOERROR; |
| 88 | } else { |
| 89 | *ppv = NULL; |
| 90 | return E_NOINTERFACE; |
| 91 | } |
| 92 | } |
| 93 | |
| 94 | /* We have to ensure that we DON'T use a max macro, since these will typically */ |
| 95 | /* lead to one of the parameters being evaluated twice. Since we are worried */ |