diff --git a/dlls/ole32/oleobj.c b/dlls/ole32/oleobj.c index 2b0179c5cdd..a395557248d 100644 --- a/dlls/ole32/oleobj.c +++ b/dlls/ole32/oleobj.c @@ -792,14 +792,22 @@ static HRESULT WINAPI DataAdviseHolder_Unadvise( return S_OK; } -static HRESULT WINAPI DataAdviseHolder_EnumAdvise( - IDataAdviseHolder* iface, - IEnumSTATDATA** ppenumAdvise) +/****************************************************************************** + * DataAdviseHolder_EnumAdvise + */ +static HRESULT WINAPI DataAdviseHolder_EnumAdvise(IDataAdviseHolder *iface, + IEnumSTATDATA **enum_advise) { - DataAdviseHolder *This = (DataAdviseHolder *)iface; + DataAdviseHolder *This = (DataAdviseHolder *)iface; + IUnknown *unk; + HRESULT hr; - FIXME("(%p)->(%p)\n", This, ppenumAdvise); - return E_NOTIMPL; + TRACE("(%p)->(%p)\n", This, enum_advise); + + IDataAdviseHolder_QueryInterface(iface, &IID_IUnknown, (void**)&unk); + hr = EnumSTATDATA_Construct(unk, 0, This->maxCons, This->connections, enum_advise); + IUnknown_Release(unk); + return hr; } /******************************************************************************