Commit ff06e37c authored by Vijay Kiran Kamuju's avatar Vijay Kiran Kamuju Committed by Alexandre Julliard

dhtmled.ocx: Add IProvideClassInfo2 stub interface.

parent a6462195
...@@ -29,6 +29,7 @@ typedef struct ...@@ -29,6 +29,7 @@ typedef struct
{ {
IDHTMLEdit IDHTMLEdit_iface; IDHTMLEdit IDHTMLEdit_iface;
IOleObject IOleObject_iface; IOleObject IOleObject_iface;
IProvideClassInfo2 IProvideClassInfo2_iface;
IPersistStreamInit IPersistStreamInit_iface; IPersistStreamInit IPersistStreamInit_iface;
IOleControl IOleControl_iface; IOleControl IOleControl_iface;
IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless_iface; IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless_iface;
...@@ -48,6 +49,11 @@ static inline DHTMLEditImpl *impl_from_IOleObject(IOleObject *iface) ...@@ -48,6 +49,11 @@ static inline DHTMLEditImpl *impl_from_IOleObject(IOleObject *iface)
return CONTAINING_RECORD(iface, DHTMLEditImpl, IOleObject_iface); return CONTAINING_RECORD(iface, DHTMLEditImpl, IOleObject_iface);
} }
static inline DHTMLEditImpl *impl_from_IProvideClassInfo2(IProvideClassInfo2 *iface)
{
return CONTAINING_RECORD(iface, DHTMLEditImpl, IProvideClassInfo2_iface);
}
static inline DHTMLEditImpl *impl_from_IPersistStreamInit(IPersistStreamInit *iface) static inline DHTMLEditImpl *impl_from_IPersistStreamInit(IPersistStreamInit *iface)
{ {
return CONTAINING_RECORD(iface, DHTMLEditImpl, IPersistStreamInit_iface); return CONTAINING_RECORD(iface, DHTMLEditImpl, IPersistStreamInit_iface);
...@@ -95,6 +101,13 @@ static HRESULT dhtml_edit_qi(DHTMLEditImpl *This, REFIID iid, void **out) ...@@ -95,6 +101,13 @@ static HRESULT dhtml_edit_qi(DHTMLEditImpl *This, REFIID iid, void **out)
*out = &This->IOleObject_iface; *out = &This->IOleObject_iface;
return S_OK; return S_OK;
} }
else if (IsEqualGUID(iid, &IID_IProvideClassInfo) ||
IsEqualGUID(iid, &IID_IProvideClassInfo2))
{
dhtml_edit_addref(This);
*out = &This->IProvideClassInfo2_iface;
return S_OK;
}
else if (IsEqualGUID(iid, &IID_IPersistStreamInit)) else if (IsEqualGUID(iid, &IID_IPersistStreamInit))
{ {
dhtml_edit_addref(This); dhtml_edit_addref(This);
...@@ -826,6 +839,43 @@ static const IOleObjectVtbl OleObjectVtbl = { ...@@ -826,6 +839,43 @@ static const IOleObjectVtbl OleObjectVtbl = {
OleObject_SetColorScheme OleObject_SetColorScheme
}; };
static HRESULT WINAPI ProvideClassInfo2_QueryInterface(IProvideClassInfo2 *iface, REFIID iid, LPVOID *out)
{
return dhtml_edit_qi(impl_from_IProvideClassInfo2(iface), iid, out);
}
static ULONG WINAPI ProvideClassInfo2_AddRef(IProvideClassInfo2 *iface)
{
return dhtml_edit_addref(impl_from_IProvideClassInfo2(iface));
}
static ULONG WINAPI ProvideClassInfo2_Release(IProvideClassInfo2 *iface)
{
return dhtml_edit_release(impl_from_IProvideClassInfo2(iface));
}
static HRESULT WINAPI ProvideClassInfo2_GetClassInfo(IProvideClassInfo2 *iface, ITypeInfo **ppTI)
{
DHTMLEditImpl *This = impl_from_IProvideClassInfo2(iface);
FIXME("(%p)->(%p)\n", This, ppTI);
return E_NOTIMPL;
}
static HRESULT WINAPI ProvideClassInfo2_GetGUID(IProvideClassInfo2 *iface, DWORD dwGuidKind, GUID *pGUID)
{
DHTMLEditImpl *This = impl_from_IProvideClassInfo2(iface);
FIXME("(%p)->(%d %p)\n", This, dwGuidKind, pGUID);
return E_NOTIMPL;
}
static const IProvideClassInfo2Vtbl ProvideClassInfo2Vtbl = {
ProvideClassInfo2_QueryInterface,
ProvideClassInfo2_AddRef,
ProvideClassInfo2_Release,
ProvideClassInfo2_GetClassInfo,
ProvideClassInfo2_GetGUID
};
static HRESULT WINAPI PersistStreamInit_QueryInterface(IPersistStreamInit *iface, REFIID iid, void **out) static HRESULT WINAPI PersistStreamInit_QueryInterface(IPersistStreamInit *iface, REFIID iid, void **out)
{ {
return dhtml_edit_qi(impl_from_IPersistStreamInit(iface), iid, out); return dhtml_edit_qi(impl_from_IPersistStreamInit(iface), iid, out);
...@@ -1095,6 +1145,7 @@ HRESULT dhtml_edit_create(REFIID iid, void **out) ...@@ -1095,6 +1145,7 @@ HRESULT dhtml_edit_create(REFIID iid, void **out)
This->IDHTMLEdit_iface.lpVtbl = &DHTMLEditVtbl; This->IDHTMLEdit_iface.lpVtbl = &DHTMLEditVtbl;
This->IOleObject_iface.lpVtbl = &OleObjectVtbl; This->IOleObject_iface.lpVtbl = &OleObjectVtbl;
This->IProvideClassInfo2_iface.lpVtbl = &ProvideClassInfo2Vtbl;
This->IPersistStreamInit_iface.lpVtbl = &PersistStreamInitVtbl; This->IPersistStreamInit_iface.lpVtbl = &PersistStreamInitVtbl;
This->IOleControl_iface.lpVtbl = &OleControlVtbl; This->IOleControl_iface.lpVtbl = &OleControlVtbl;
This->IOleInPlaceObjectWindowless_iface.lpVtbl = &OleInPlaceObjectWindowlessVtbl; This->IOleInPlaceObjectWindowless_iface.lpVtbl = &OleInPlaceObjectWindowlessVtbl;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment