29 cs.pUnk =
host->plugin_unk;
30 cs.dwFlags = CONFIRMSAFETYACTION_LOADOBJECT;
32 hres = IInternetHostSecurityManager_QueryCustomPolicy(&
host->doc->IInternetHostSecurityManager_iface,
39 return policy == URLPOLICY_ALLOW;
53 cs.pUnk =
host->plugin_unk;
56 hres = IInternetHostSecurityManager_QueryCustomPolicy(&
host->doc->IInternetHostSecurityManager_iface,
64 if(
policy != URLPOLICY_ALLOW)
86 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IDispatchEx, (
void**)&dispex);
88 FIXME(
"Use IDispatchEx\n");
89 IDispatchEx_Release(dispex);
97 IDispatch_Release(disp);
124 IPropertyBag_Release(prop_bag);
129 hres = IPersistPropertyBag_Load(persist_prop_bag, prop_bag,
NULL);
130 IPropertyBag_Release(prop_bag);
134 hres = IPersistPropertyBag_InitNew(persist_prop_bag);
136 WARN(
"InitNew failed: %08x\n",
hres);
146 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IPersistPropertyBag2, (
void**)&persist_prop_bag2);
148 FIXME(
"Use IPersistPropertyBag2 iface\n");
149 IPersistPropertyBag2_Release(persist_prop_bag2);
156 IPersistPropertyBag_Release(persist_prop_bag);
160 FIXME(
"No IPersistPropertyBag iface\n");
180 FIXME(
"Handle IClientSecurity\n");
185 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IQuickActivate, (
void**)&quick_activate);
188 QACONTROL control = {
sizeof(control)};
190 TRACE(
"Using IQuickActivate\n");
193 container.dwAmbientFlags = QACONTAINER_SUPPORTSMNEMONICS|QACONTAINER_MESSAGEREFLECT|QACONTAINER_USERMODE;
195 container.pPropertyNotifySink = &
host->IPropertyNotifySink_iface;
197 hres = IQuickActivate_QuickActivate(quick_activate, &
container, &control);
198 IQuickActivate_Release(quick_activate);
200 FIXME(
"QuickActivate failed: %08x\n",
hres);
206 hres = IOleObject_GetMiscStatus(ole_obj, DVASPECT_CONTENT, &
status);
209 hres = IOleObject_SetClientSite(ole_obj, &
host->IOleClientSite_iface);
210 IOleObject_Release(ole_obj);
212 FIXME(
"SetClientSite failed: %08x\n",
hres);
216 TRACE(
"Plugin does not support IOleObject\n");
223 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IViewObjectEx, (
void**)&view_obj);
225 DWORD view_status = 0;
227 hres = IViewObjectEx_SetAdvise(view_obj, DVASPECT_CONTENT, 0, (
IAdviseSink*)&
host->IAdviseSinkEx_iface);
229 WARN(
"SetAdvise failed: %08x\n",
hres);
231 hres = IViewObjectEx_GetViewStatus(view_obj, &view_status);
232 IViewObjectEx_Release(view_obj);
233 TRACE(
"GetViewStatus returned %08x %x\n",
hres, view_status);
241 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IDispatchEx, (
void**)&dispex);
243 FIXME(
"Use IDispatchEx\n");
250 TRACE(
"no IDispatch iface\n");
253 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IOleCommandTarget, (
void**)&cmdtrg);
255 FIXME(
"Use IOleCommandTarget\n");
256 IOleCommandTarget_Release(cmdtrg);
268 FIXME(
"Plugin does not support IOleObject\n");
274 IOleObject_Release(ole_obj);
276 WARN(
"DoVerb failed: %08x\n",
hres);
278 if(
host->ip_object) {
281 hres = IOleInPlaceObject_GetWindow(
host->ip_object, &
hwnd);
292 FIXME(
"unhandled hwnd\n");
308 if(rect_changed &&
host->ip_object)
309 IOleInPlaceObject_SetObjectRects(
host->ip_object, &
host->rect, &
host->rect);
322 FIXME(
"Could not get IDispatch iface: %08x\n",
hres);
328 IDispatch_Release(disp);
347 IOleControl_OnAmbientPropertyChange(ole_control, dispid);
348 IOleControl_Release(ole_control);
358 ERR(
"No plugin host\n");
368 FIXME(
"Insecure object\n");
372 IDispatch_AddRef(
host->disp);
385 WARN(
"no plugin host\n");
400 if(
id == plugin_container->
props[
i]) {
406 if(!plugin_container->
props) {
408 if(!plugin_container->
props)
418 plugin_container->
props = new_props;
435 FIXME(
"Called with no disp\n");
440 FIXME(
"Insecure object\n");
478 for(iter =
sink->handlers; iter < sink->
handlers+
sink->handlers_cnt; iter++) {
492 IDispatch_Release(
entry->disp);
494 if(!
sink->handlers_size) {
498 sink->handlers_size = 4;
499 }
else if(
sink->handlers_cnt ==
sink->handlers_size) {
505 sink->handlers = new_handlers;
506 sink->handlers_size *= 2;
512 IDispatch_AddRef(disp);
566 for(
i=0;
i <
This->handlers_cnt;
i++) {
567 if(
This->handlers[
i].disp)
568 IDispatch_Release(
This->handlers[
i].disp);
588 FIXME(
"(%p)->(%d %d %p)\n",
This, iTInfo, lcid, ppTInfo);
609 pDispParams, pVarResult, pExcepInfo, puArgErr);
618 WARN(
"No handler %d\n", dispIdMember);
624 hres = IDispatch_QueryInterface(
entry->disp, &IID_IDispatchEx, (
void**)&dispex);
628 hres = IDispatchEx_InvokeEx(dispex, DISPID_VALUE, lcid,
wFlags, pDispParams, pVarResult, pExcepInfo,
NULL);
629 IDispatchEx_Release(dispex);
631 hres = IDispatch_Invoke(
entry->disp, DISPID_VALUE,
riid, lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
664 typekind = typeattr->typekind;
665 guid = typeattr->guid;
666 ITypeInfo_ReleaseTypeAttr(
typeinfo, typeattr);
671 WARN(
"invalid typekind %d\n", typekind);
677 WARN(
"Could not get IConnectionPointContainer iface: %08x\n",
hres);
681 hres = IConnectionPointContainer_FindConnectionPoint(cp_container, &
guid, &
cp);
682 IConnectionPointContainer_Release(cp_container);
688 ret = heap_alloc_zero(
sizeof(*
ret));
692 ret->host = plugin_host;
704 IConnectionPoint_Release(
cp);
706 WARN(
"Advise failed: %08x\n",
hres);
715 int impl_types,
i, impl_flags;
726 WARN(
"not coclass\n");
727 ITypeInfo_ReleaseTypeAttr(
class_info, typeattr);
731 impl_types = typeattr->cImplTypes;
732 ITypeInfo_ReleaseTypeAttr(
class_info, typeattr);
734 for(
i=0;
i<impl_types;
i++) {
739 if((impl_flags & IMPLTYPEFLAG_FSOURCE)) {
740 if(!(impl_flags & IMPLTYPEFLAG_FDEFAULT)) {
741 FIXME(
"Handle non-default source iface\n");
767 if(!plugin_host || !plugin_host->
plugin_unk) {
768 WARN(
"detached element %p\n", plugin_host);
772 if(plugin_host->
sink) {
774 ITypeInfo_AddRef(source_info);
780 FIXME(
"No IProvideClassInfo, try GetTypeInfo?\n");
785 IProvideClassInfo_Release(provide_ci);
787 WARN(
"GetClassInfo failed: %08x\n",
hres);
797 hres = ITypeInfo_GetIDsOfNames(source_info, &
event, 1, &
id);
799 WARN(
"Could not get disp id: %08x\n",
hres);
800 else if(!plugin_host->
sink)
803 ITypeInfo_Release(source_info);
821 *
ppv = &
This->IOleClientSite_iface;
824 *
ppv = &
This->IOleClientSite_iface;
827 *
ppv = &
This->IAdviseSinkEx_iface;
830 *
ppv = &
This->IAdviseSinkEx_iface;
832 TRACE(
"(%p)->(IID_IPropertyNotifySink %p)\n",
This,
ppv);
833 *
ppv = &
This->IPropertyNotifySink_iface;
839 *
ppv = &
This->IOleInPlaceSiteEx_iface;
842 *
ppv = &
This->IOleInPlaceSiteEx_iface;
845 *
ppv = &
This->IOleInPlaceSiteEx_iface;
848 *
ppv = &
This->IOleControlSite_iface;
854 *
ppv = &
This->IServiceProvider_iface;
878 IDispatch_Release(
This->disp);
882 if(
This->ip_object) {
883 IOleInPlaceObject_Release(
This->ip_object);
887 if(
This->plugin_unk) {
892 ref = IUnknown_Release(unk);
909 IDispatch_Release(&
This->sink->IDispatch_iface);
933 TRACE(
"(%p)->(%d %d %p)\n",
This, dwAssign, dwWhichMoniker, ppmk);
935 switch(dwWhichMoniker) {
936 case OLEWHICHMK_CONTAINER:
937 if(!
This->doc || !
This->doc->window || !
This->doc->window->mon) {
938 FIXME(
"no moniker\n");
942 *ppmk =
This->doc->window->mon;
943 IMoniker_AddRef(*ppmk);
946 FIXME(
"which %d\n", dwWhichMoniker);
957 TRACE(
"(%p)->(%p)\n",
This, ppContainer);
960 ERR(
"Called on detached object\n");
964 *ppContainer = &
This->doc->basedoc.IOleContainer_iface;
965 IOleContainer_AddRef(*ppContainer);
1012 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1018 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1024 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1030 FIXME(
"(%p)->(%p %p)\n",
This, pFormatetc, pStgMedium);
1036 FIXME(
"(%p)->(%d %d)\n",
This, dwAspect, lindex);
1060 FIXME(
"(%p)->(%d)\n",
This, dwViewStatus);
1083 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1089 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1095 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1109 FIXME(
"Unimplemented dispID %d\n", dispID);
1139 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1145 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1151 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1165 FIXME(
"(%p)->(%d %d %p)\n",
This, iTInfo, lcid, ppTInfo);
1181 FIXME(
"(%p)->(%d %x %p %p)\n",
This, dispid,
wFlags, pDispParams, pVarResult);
1203 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1209 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1215 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1224 *phwnd =
This->hwnd;
1231 FIXME(
"(%p)->(%x)\n",
This, fEnterMode);
1257 if(!
This->plugin_unk) {
1258 ERR(
"No plugin object\n");
1278 TRACE(
"(%p)->(%p %p %p %p %p)\n",
This, ppFrame, ppDoc, lprcPosRect, lprcClipRect,
frame_info);
1280 if(!
This->doc || !
This->doc->basedoc.doc_obj || !
This->doc->basedoc.doc_obj->ipsite) {
1281 FIXME(
"No ipsite\n");
1285 hres = IOleInPlaceSite_GetWindowContext(
This->doc->basedoc.doc_obj->ipsite, &ip_frame, &ip_window, &pr, &cr,
frame_info);
1287 WARN(
"GetWindowContext failed: %08x\n",
hres);
1292 IOleInPlaceUIWindow_Release(ip_window);
1294 IOleInPlaceFrame_Release(ip_frame);
1302 IOleInPlaceFrame_Release(ip_frame);
1306 *ppFrame = ip_frame;
1307 *lprcPosRect =
This->rect;
1308 *lprcClipRect =
This->rect;
1315 FIXME(
"(%p)->({%d %d})\n",
This, scrollExtent.
cx, scrollExtent.
cy);
1332 if(
This->ip_object) {
1333 IOleInPlaceObject_Release(
This->ip_object);
1357 FIXME(
"(%p)->(%p)\n",
This, lprcPosRect);
1376 hres = IOleInPlaceObject_GetWindow(
This->ip_object, &
hwnd);
1380 *pfNoRedraw =
FALSE;
1427 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1433 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1439 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1473 FIXME(
"(%p)->(%x)\n",
This, grfModifiers);
1512 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1518 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1524 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1533 if(!
This->doc || !
This->doc->window || !
This->doc->window->mon) {
1534 FIXME(
"no moniker\n");
1574 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1580 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1586 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1594 TRACE(
"SID_SBindHost service\n");
1595 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1600 if(!
This->doc || !
This->doc->basedoc.window) {
1605 return IServiceProvider_QueryService(&
This->doc->basedoc.window->base.IServiceProvider_iface,
1632 }
else if(
len == 36) {
1654 static const PRUnichar classidW[] = {
'c',
'l',
'a',
's',
's',
'i',
'd',0};
1684 *
ppv = &
This->IBindStatusCallback_iface;
1686 TRACE(
"(%p)->(IID_IBindStatusCallback %p)\n",
This,
ppv);
1687 *
ppv = &
This->IBindStatusCallback_iface;
1689 TRACE(
"(%p)->(IID_IWindowForBindingUI %p)\n",
This,
ppv);
1690 *
ppv = &
This->IWindowForBindingUI_iface;
1735 TRACE(
"(%p)->(%p)\n",
This, pnPriority);
1750 TRACE(
"(%p)->(%u %u %u %s)\n",
This, ulProgress, ulProgressMax, ulStatusCode,
debugstr_w(szStatusText));
1763 DWORD* grfBINDF, BINDINFO* pbindinfo)
1767 TRACE(
"(%p)->(%p %p)\n",
This, grfBINDF, pbindinfo);
1769 *grfBINDF = BINDF_ASYNCHRONOUS;
1774 DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed)
1811 return IBindStatusCallback_QueryInterface(&
This->IBindStatusCallback_iface,
riid,
ppv);
1817 return IBindStatusCallback_AddRef(&
This->IBindStatusCallback_iface);
1823 return IBindStatusCallback_Release(&
This->IBindStatusCallback_iface);
1853 0, 0, { (
DWORD_PTR)(__FILE__
": install_list") }
1872 IBindStatusCallback_Release(&
callback->IBindStatusCallback_iface);
1877 IBindCtx_Release(bctx);
1892 static const PRUnichar codebaseW[] = {
'c',
'o',
'd',
'e',
'b',
'a',
's',
'e',0};
1914 TRACE(
"already proceeded\n");
1935 hres = IUri_GetDisplayUri(
uri, &display_uri);
1954 WARN(
"Could not determine element CLSID\n");
1974 hres = IClassFactory_QueryInterface(
cf, &IID_IClassFactoryEx, (
void**)&cfex);
1976 FIXME(
"Use IClassFactoryEx\n");
1977 IClassFactoryEx_Release(cfex);
1981 IClassFactory_Release(
cf);
1997 if(
host->ip_object) {
1999 IOleInPlaceObject_UIDeactivate(
host->ip_object);
2000 IOleInPlaceObject_InPlaceDeactivate(
host->ip_object);
2003 if(
host->plugin_unk) {
2008 if(!
host->ip_object)
2009 IOleObject_Close(ole_obj, OLECLOSE_NOSAVE);
2010 IOleObject_SetClientSite(ole_obj,
NULL);
2011 IOleObject_Release(ole_obj);
2023 hres = IConnectionPointContainer_FindConnectionPoint(cp_container, &
host->sink->iid, &
cp);
2024 IConnectionPointContainer_Release(cp_container);
2026 IConnectionPoint_Unadvise(
cp,
host->sink->cookie);
2027 IConnectionPoint_Release(
cp);
2032 IDispatch_Release(&
host->sink->IDispatch_iface);
2060 host = heap_alloc_zero(
sizeof(*
host));
2062 IUnknown_Release(unk);
2077 host->plugin_unk = unk;
static PHEventSink * PHEventSink_from_IDispatch(IDispatch *iface)
#define DISP_E_UNKNOWNNAME
static HRESULT WINAPI InstallCallback_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
HRESULT get_plugin_dispid(HTMLPluginContainer *plugin_container, WCHAR *name, DISPID *ret)
static BOOL check_script_safety(PluginHost *host)
static const WCHAR szName[]
static void WINAPI PHAdviseSinkEx_OnViewChange(IAdviseSinkEx *iface, DWORD dwAspect, LONG lindex)
static HRESULT WINAPI PHDispatch_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI PHBindHost_QueryInterface(IBindHost *iface, REFIID riid, void **ppv)
void bind_activex_event(HTMLDocumentNode *doc, HTMLPluginContainer *plugin_container, WCHAR *event, IDispatch *disp)
HRESULT WINAPI CoInternetCombineUrlEx(IUri *pBaseUri, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved)
#define DISPATCH_PROPERTYGET
static ULONG WINAPI PHBindHost_Release(IBindHost *iface)
HRESULT create_ip_frame(IOleInPlaceFrame **ret)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
WINE_UNICODE_INLINE unsigned int strlenW(const WCHAR *str)
static HRESULT WINAPI PHPropertyNotifySink_OnChanged(IPropertyNotifySink *iface, DISPID dispID)
static HRESULT WINAPI PHDispatch_Invoke(IDispatch *iface, DISPID dispid, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static HRESULT WINAPI PHClientSite_SaveObject(IOleClientSite *iface)
void update_plugin_window(PluginHost *host, HWND hwnd, const RECT *rect)
static ULONG WINAPI PHInPlaceSite_Release(IOleInPlaceSiteEx *iface)
static ULONG WINAPI PHClientSite_AddRef(IOleClientSite *iface)
static xmlCharEncodingHandlerPtr * handlers
static HRESULT WINAPI PHClientSite_OnShowWindow(IOleClientSite *iface, BOOL fShow)
const GUID IID_IOleInPlaceSite
#define MSHTML_DISPID_CUSTOM_MIN
static HRESULT WINAPI WindowForBindingUI_QueryInterface(IWindowForBindingUI *iface, REFIID riid, void **ppv)
const GUID IID_IOleClientSite
IWindowForBindingUI IWindowForBindingUI_iface
static const IBindHostVtbl BindHostVtbl
static ULONG WINAPI PHDispatch_Release(IDispatch *iface)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
static PluginHost * impl_from_IAdviseSinkEx(IAdviseSinkEx *iface)
const GUID IID_IConnectionPointContainer
static HRESULT WINAPI PHEventSink_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static const IDispatchVtbl DispatchVtbl
static ULONG WINAPI PHDispatch_AddRef(IDispatch *iface)
nsresult get_elem_attr_value(nsIDOMHTMLElement *nselem, const WCHAR *name, nsAString *val_str, const PRUnichar **val)
static ULONG WINAPI PHPropertyNotifySink_Release(IPropertyNotifySink *iface)
static void WINAPI PHAdviseSinkEx_OnSave(IAdviseSinkEx *iface)
static HRESULT WINAPI PHInPlaceSite_OnInPlaceDeactivate(IOleInPlaceSiteEx *iface)
static IUnknown * create_activex_object(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, CLSID *clsid)
void notif_container_change(HTMLPluginContainer *plugin_container, DISPID dispid)
#define strncmpiW(s1, s2, n)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
static void load_plugin(PluginHost *host)
static ULONG WINAPI InstallCallback_Release(IBindStatusCallback *iface)
static const IPropertyNotifySinkVtbl PropertyNotifySinkVtbl
static ULONG WINAPI PHServiceProvider_Release(IServiceProvider *iface)
HRESULT WINAPI AsyncInstallDistributionUnit(const WCHAR *szDistUnit, const WCHAR *szTYPE, const WCHAR *szExt, DWORD dwFileVersionMS, DWORD dwFileVersionLS, const WCHAR *szURL, IBindCtx *pbc, void *pvReserved, DWORD flags)
#define eq(received, expected, label, type)
static HRESULT WINAPI PHInPlaceSite_OnInPlaceActivate(IOleInPlaceSiteEx *iface)
const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY
static void * heap_realloc(void *mem, size_t len)
static ULONG WINAPI PHClientSite_Release(IOleClientSite *iface)
GLsizei GLenum GLboolean sink
static HRESULT WINAPI PHBindHost_CreateMoniker(IBindHost *iface, LPOLESTR szName, IBindCtx *pBC, IMoniker **ppmk, DWORD dwReserved)
static HRESULT WINAPI PHBindHost_MonikerBindToObject(IBindHost *iface, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, REFIID riid, void **ppvObj)
static void * heap_alloc(size_t len)
static HRESULT WINAPI PHInPlaceSite_CanInPlaceActivate(IOleInPlaceSiteEx *iface)
static ULONG WINAPI PHInPlaceSite_AddRef(IOleInPlaceSiteEx *iface)
static IBindStatusCallback InstallCallback
#define DISPID_SECURITYCTX
static void WINAPI PHAdviseSinkEx_OnRename(IAdviseSinkEx *iface, IMoniker *pmk)
GLsizei GLsizei GLuint * obj
static HRESULT WINAPI PHInPlaceSite_OnUIDeactivate(IOleInPlaceSiteEx *iface, BOOL fUndoable)
WDF_INTERRUPT_POLICY policy
static HRESULT WINAPI PHInPlaceSite_GetWindowContext(IOleInPlaceSiteEx *iface, IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, RECT *lprcPosRect, RECT *lprcClipRect, OLEINPLACEFRAMEINFO *frame_info)
static HRESULT WINAPI PHInPlaceSiteEx_OnInPlaceActivateEx(IOleInPlaceSiteEx *iface, BOOL *pfNoRedraw, DWORD dwFlags)
HRESULT invoke_plugin_prop(HTMLPluginContainer *plugin_container, DISPID id, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei)
const GUID IID_IAdviseSink
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
GLenum GLuint GLenum GLsizei const GLchar * buf
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
static HRESULT WINAPI InstallCallback_OnProgress(IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
static HRESULT WINAPI PHInPlaceSiteEx_RequestUIActivate(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI PHInPlaceSite_OnPosRectChange(IOleInPlaceSiteEx *iface, LPCRECT lprcPosRect)
static void notif_enabled(PluginHost *plugin_host)
static const IOleInPlaceSiteExVtbl OleInPlaceSiteExVtbl
static HRESULT WINAPI PHEventSink_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
GLenum const GLfloat * params
static BOOL get_elem_clsid(nsIDOMHTMLElement *elem, CLSID *clsid)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
static void install_codebase(const WCHAR *url)
static HRESULT WINAPI PHControlSite_ShowPropertyFrame(IOleControlSite *iface)
const GUID IID_IOleControlSite
const GUID IID_IPersistPropertyBag
static HRESULT WINAPI WindowForBindingUI_GetWindow(IWindowForBindingUI *iface, REFGUID rguidReason, HWND *phwnd)
static HRESULT WINAPI PHControlSite_TransformCoords(IOleControlSite *iface, POINTL *pPtlHimetric, POINTF *pPtfContainer, DWORD dwFlags)
const GUID IID_IProvideClassInfo
static HRESULT WINAPI InstallCallback_OnObjectAvailable(IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
static HRESULT WINAPI PHBindHost_MonikerBindToStorage(IBindHost *iface, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, REFIID riid, void **ppvObj)
IInternetHostSecurityManager IInternetHostSecurityManager_iface
static HRESULT WINAPI PHControlSite_QueryInterface(IOleControlSite *iface, REFIID riid, void **ppv)
static HRESULT WINAPI PHDispatch_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
static HRESULT WINAPI PHInPlaceSite_GetWindow(IOleInPlaceSiteEx *iface, HWND *phwnd)
IDispatch IDispatch_iface
static ULONG WINAPI PHBindHost_AddRef(IBindHost *iface)
static ULONG WINAPI PHAdviseSinkEx_AddRef(IAdviseSinkEx *iface)
static ITypeInfo * get_eventiface_info(HTMLPluginContainer *plugin_container, ITypeInfo *class_info)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
static void update_readystate(PluginHost *host)
const GUID IID_IOleInPlaceObject
HRESULT WINAPI DECLSPEC_HOTPATCH CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, COSERVERINFO *pServerInfo, REFIID iid, LPVOID *ppv)
static HRESULT WINAPI PHInPlaceSite_QueryInterface(IOleInPlaceSiteEx *iface, REFIID riid, void **ppv)
const GUID IID_IOleObject
HRESULT get_plugin_disp(HTMLPluginContainer *plugin_container, IDispatch **ret)
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
static HRESULT WINAPI InstallCallback_GetPriority(IBindStatusCallback *iface, LONG *pnPriority)
static HRESULT WINAPI PHAdviseSinkEx_QueryInterface(IAdviseSinkEx *iface, REFIID riid, void **ppv)
static const WCHAR clsidW[]
static void add_sink_handler(PHEventSink *sink, DISPID id, IDispatch *disp)
static ULONG WINAPI PHPropertyNotifySink_AddRef(IPropertyNotifySink *iface)
static ULONG WINAPI InstallCallback_AddRef(IBindStatusCallback *iface)
static HRESULT WINAPI PHControlSite_GetExtendedControl(IOleControlSite *iface, IDispatch **ppDisp)
static CRITICAL_SECTION cs_install_list
const char * wine_dbgstr_rect(const RECT *rect)
static HRESULT WINAPI PHControlSite_TranslateAccelerator(IOleControlSite *iface, MSG *pMsg, DWORD grfModifiers)
static ULONG WINAPI WindowForBindingUI_AddRef(IWindowForBindingUI *iface)
#define NS_SUCCEEDED(res)
static struct list install_list
static InstallCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
static HRESULT WINAPI PHDispatch_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI InstallCallback_OnStopBinding(IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError)
static HRESULT WINAPI PHPropertyNotifySink_QueryInterface(IPropertyNotifySink *iface, REFIID riid, void **ppv)
static HRESULT WINAPI PHDispatch_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
static PluginHost * impl_from_IOleControlSite(IOleControlSite *iface)
const GUID IID_IOleControl
IClientSecurity client_security
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
static PluginHost * impl_from_IBindHost(IBindHost *iface)
static PluginHost * impl_from_IOleClientSite(IOleClientSite *iface)
static ITypeInfo * typeinfo[last_tid]
#define InterlockedDecrement
static HRESULT WINAPI PHServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
static IBindStatusCallbackVtbl InstallCallbackVtbl
static const IAdviseSinkExVtbl AdviseSinkExVtbl
#define memcpy(s1, s2, n)
static HRESULT WINAPI PHClientSite_GetContainer(IOleClientSite *iface, IOleContainer **ppContainer)
static HRESULT WINAPI PHInPlaceSiteEx_OnInPlaceDeactivateEx(IOleInPlaceSiteEx *iface, BOOL fNoRedraw)
static void WINAPI PHAdviseSinkEx_OnDataChange(IAdviseSinkEx *iface, FORMATETC *pFormatetc, STGMEDIUM *pStgMedium)
static const IWindowForBindingUIVtbl WindowForBindingUIVtbl
static const IOleClientSiteVtbl OleClientSiteVtbl
HRESULT create_plugin_host(HTMLDocumentNode *doc, HTMLPluginContainer *container)
static IHTMLWindow2 * window
static HRESULT WINAPI PHInPlaceSite_DeactivateAndUndo(IOleInPlaceSiteEx *iface)
LIST_ENTRY ProcessLocksList
static HRESULT WINAPI PHControlSite_OnFocus(IOleControlSite *iface, BOOL fGotFocus)
static sink_entry_t * find_sink_entry(PHEventSink *sink, DISPID id)
static void initialize_plugin_object(PluginHost *host)
static BOOL check_load_safety(PluginHost *host)
static HRESULT WINAPI PHClientSite_GetMoniker(IOleClientSite *iface, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk)
static ULONG WINAPI PHControlSite_AddRef(IOleControlSite *iface)
static void check_codebase(HTMLInnerWindow *window, nsIDOMHTMLElement *nselem)
static InstallCallback * impl_from_IWindowForBindingUI(IWindowForBindingUI *iface)
_In_ DWORD _Out_ _In_ WORD wFlags
struct stdole::EXCEPINFO EXCEPINFO
static const char * debugstr_variant(const VARIANT *var)
static VARIANTARG static DISPID
static HRESULT WINAPI PHPropertyNotifySink_OnRequestEdit(IPropertyNotifySink *iface, DISPID dispID)
HRESULT WINAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *callback, IEnumFORMATETC *format, IBindCtx **pbind)
HRESULT create_ip_window(IOleInPlaceUIWindow **ret)
#define REGDB_E_CLASSNOTREG
#define InterlockedIncrement
static void get_pos_rect(PluginHost *host, RECT *ret)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static ULONG WINAPI PHEventSink_AddRef(IDispatch *iface)
static HRESULT WINAPI PHClientSite_ShowObject(IOleClientSite *iface)
static BOOL parse_classid(const PRUnichar *classid, CLSID *clsid)
static HRESULT WINAPI PHEventSink_Invoke(IDispatch *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
HRESULT create_param_prop_bag(nsIDOMHTMLElement *, IPropertyBag **) DECLSPEC_HIDDEN
static const IOleControlSiteVtbl OleControlSiteVtbl
#define OLEIVERB_INPLACEACTIVATE
static ULONG WINAPI PHServiceProvider_AddRef(IServiceProvider *iface)
static HRESULT WINAPI PHEventSink_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static PHEventSink * create_event_sink(PluginHost *plugin_host, ITypeInfo *typeinfo)
static HRESULT WINAPI PHInPlaceSite_ContextSensitiveHelp(IOleInPlaceSiteEx *iface, BOOL fEnterMode)
const GUID IID_IPropertyNotifySink
static void load_prop_bag(PluginHost *host, IPersistPropertyBag *persist_prop_bag)
#define DISPID_READYSTATE
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
static HRESULT WINAPI PHInPlaceSite_DiscardUndoState(IOleInPlaceSiteEx *iface)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
static HRESULT WINAPI PHInPlaceSite_OnUIActivate(IOleInPlaceSiteEx *iface)
static CRITICAL_SECTION_DEBUG cs_install_list_dbg
static const IDispatchVtbl PHCPDispatchVtbl
IBindStatusCallback IBindStatusCallback_iface
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
static PluginHost * impl_from_IOleInPlaceSiteEx(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI InstallCallback_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
struct stdole::DISPPARAMS DISPPARAMS
static void release_plugin_ifaces(PluginHost *This)
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
const GUID IID_IOleWindow
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
static HRESULT WINAPI PHEventSink_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk)
static PluginHost * impl_from_IServiceProvider(IServiceProvider *iface)
static ULONG WINAPI PHAdviseSinkEx_Release(IAdviseSinkEx *iface)
static PluginHost * impl_from_IDispatch(IDispatch *iface)
static void WINAPI PHAdviseSinkEx_OnViewStatusChange(IAdviseSinkEx *iface, DWORD dwViewStatus)
static IPrintDialogCallback callback
static HRESULT WINAPI PHControlSite_LockInPlaceActive(IOleControlSite *iface, BOOL fLock)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
static HRESULT WINAPI InstallCallback_QueryInterface(IBindStatusCallback *iface, REFIID riid, void **ppv)
void detach_plugin_host(PluginHost *host)
static HRESULT WINAPI PHClientSite_QueryInterface(IOleClientSite *iface, REFIID riid, void **ppv)
static HRESULT WINAPI InstallCallback_OnStartBinding(IBindStatusCallback *iface, DWORD dwReserved, IBinding *pib)
const GUID IID_IClassFactory
static ULONG WINAPI PHControlSite_Release(IOleControlSite *iface)
static HRESULT WINAPI PHControlSite_OnControlInfoChanged(IOleControlSite *iface)
static HRESULT WINAPI PHClientSite_RequestNewObjectLayout(IOleClientSite *iface)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static const IServiceProviderVtbl ServiceProviderVtbl
static ULONG WINAPI PHEventSink_Release(IDispatch *iface)
static ULONG WINAPI WindowForBindingUI_Release(IWindowForBindingUI *iface)
static HRESULT WINAPI PHServiceProvider_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
static void embed_plugin_object(PluginHost *host)
static void WINAPI PHAdviseSinkEx_OnClose(IAdviseSinkEx *iface)
static PluginHost * impl_from_IPropertyNotifySink(IPropertyNotifySink *iface)
static BOOL heap_free(void *mem)
static HRESULT WINAPI InstallCallback_OnLowResource(IBindStatusCallback *iface, DWORD dwReserved)
static HRESULT WINAPI PHInPlaceSite_Scroll(IOleInPlaceSiteEx *iface, SIZE scrollExtent)