static HRESULT WINAPI DEVENUM_IMediaCatMoniker_QueryInterface( LPMONIKER iface, REFIID riid, LPVOID *ppvObj) { MediaCatMoniker *This = (MediaCatMoniker *)iface; TRACE("\n\tIID:\t%s\n",debugstr_guid(riid)); if (This == NULL || ppvObj == NULL) return E_POINTER; *ppvObj = NULL; if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IPersist) || IsEqualGUID(riid, &IID_IPersistStream) || IsEqualGUID(riid, &IID_IMoniker)) { *ppvObj = iface; DEVENUM_IMediaCatMoniker_AddRef(iface); return S_OK; } FIXME("- no interface IID: %s\n", debugstr_guid(riid)); return E_NOINTERFACE; }
MediaCatMoniker * DEVENUM_IMediaCatMoniker_Construct(void) { MediaCatMoniker * pMoniker = NULL; pMoniker = CoTaskMemAlloc(sizeof(MediaCatMoniker)); if (!pMoniker) return NULL; pMoniker->IMoniker_iface.lpVtbl = &IMoniker_Vtbl; pMoniker->ref = 0; pMoniker->hkey = NULL; DEVENUM_IMediaCatMoniker_AddRef(&pMoniker->IMoniker_iface); DEVENUM_LockModule(); return pMoniker; }