32 #define DOCHOST_DOCCANNAVIGATE 0 35 #define CMDID_EXPLORER_UPDATEHISTORY 38 91 dispparams.cNamedArgs = 0;
92 dispparams.rgdispidNamedArgs =
NULL;
93 dispparams.rgvarg =
params;
120 dispparams.cArgs = 2;
121 dispparams.cNamedArgs = 0;
122 dispparams.rgdispidNamedArgs =
NULL;
123 dispparams.rgvarg =
params;
134 TRACE(
"%d >>>\n", dispid);
136 TRACE(
"%d <<<\n", dispid);
148 if(!
This->document) {
149 WARN(
"document == NULL\n");
153 hres = IUnknown_QueryInterface(
This->document, &IID_IHlinkTarget, (
void**)&hlink);
155 hres = IHlinkTarget_Navigate(hlink, 0,
NULL);
156 IHlinkTarget_Release(hlink);
158 FIXME(
"Navigate failed\n");
163 TRACE(
"No IHlink iface\n");
167 FIXME(
"Could not get IOleObject iface: %08x\n",
hres);
173 IOleObject_Release(ole_object);
193 IDispatch_Release(disp);
195 WARN(
"Invoke(DISPID_READYSTATE failed: %08x\n",
hres);
220 IConnectionPointContainer_Release(cp_container);
225 hres = IConnectionPoint_Advise(
cp, (
IUnknown*)&
This->IPropertyNotifySink_iface, &
This->prop_notif_cookie);
227 hres = IConnectionPoint_Unadvise(
cp,
This->prop_notif_cookie);
228 IConnectionPoint_Release(
cp);
236 This->doc_state = doc_state;
237 if(doc_state >
This->ready_state)
238 This->ready_state = doc_state;
243 if(ready_state > READYSTATE_LOADING &&
This->travellog.loading_pos != -1) {
244 WARN(
"histupdate not notified\n");
245 This->travellog.position =
This->travellog.loading_pos;
246 This->travellog.loading_pos = -1;
249 if(ready_state > READYSTATE_LOADING &&
This->doc_state <= READYSTATE_LOADING && !
This->browser_service )
252 if(ready_state == READYSTATE_COMPLETE &&
This->doc_state < READYSTATE_COMPLETE) {
254 if(!
This->browser_service)
271 IUnknown_Release(task->
doc);
279 if(task->
doc ==
This->document)
287 IUnknown_AddRef(
This->document);
306 READYSTATE ready_state;
311 IUnknown_AddRef(doc);
312 This->document = doc;
318 hres = IOleObject_GetUserClassID(oleobj, &
clsid);
320 TRACE(
"Got clsid %s\n",
323 hres = IOleObject_SetClientSite(oleobj, &
This->IOleClientSite_iface);
325 FIXME(
"SetClientSite failed: %08x\n",
hres);
327 IOleObject_Release(oleobj);
329 FIXME(
"Could not get IOleObject iface: %08x\n",
hres);
339 if(ready_state == READYSTATE_COMPLETE)
341 if(ready_state != READYSTATE_COMPLETE ||
This->doc_navigate)
343 }
else if(!
This->doc_navigate) {
359 IOleDocumentView_SetRect(
This->view, &
rect);
368 static const WCHAR wszTHIS[] = {
'T',
'H',
'I',
'S',0};
388 IStream_Release(
entry->stream);
398 hres = IUnknown_QueryInterface(
This->document, &IID_IPersistHistory, (
void**)&persist_history);
404 hres = IPersistHistory_SaveHistory(persist_history,
stream);
405 IPersistHistory_Release(persist_history);
418 for(
i=0;
i <
This->travellog.length;
i++)
420 if(
i ==
This->travellog.position)
428 static const WCHAR about_schemeW[] = {
'a',
'b',
'o',
'u',
't',
':'};
431 TRACE(
"Skipping about URL\n");
435 if(!
This->travellog.log) {
437 if(!
This->travellog.log)
440 This->travellog.size = 4;
441 }
else if(
This->travellog.size <
This->travellog.position+1) {
448 This->travellog.log = new_travellog;
449 This->travellog.size *= 2;
452 if(
This->travellog.loading_pos == -1) {
454 while(
This->travellog.length >
This->travellog.position)
458 new_entry =
This->travellog.log +
This->travellog.position;
467 if(
This->travellog.loading_pos == -1) {
468 This->travellog.position++;
470 This->travellog.position =
This->travellog.loading_pos;
471 This->travellog.loading_pos = -1;
473 if(
This->travellog.position >
This->travellog.length)
474 This->travellog.length =
This->travellog.position;
483 static const WCHAR wszShell_DocObject_View[] =
484 {
'S',
'h',
'e',
'l',
'l',
' ',
'D',
'o',
'c',
'O',
'b',
'j',
'e',
'c',
't',
' ',
'V',
'i',
'e',
'w',0};
493 wszShell_DocObject_View,
504 wszShell_DocObject_View,
517 if(!
This->document)
return;
519 if(
This->doc_navigate) {
520 IUnknown_Release(
This->doc_navigate);
524 if(
This->is_prop_notif)
528 IOleDocumentView_UIActivate(
This->view,
FALSE);
530 hres = IUnknown_QueryInterface(
This->document, &IID_IOleInPlaceObjectWindowless,
533 IOleInPlaceObjectWindowless_InPlaceDeactivate(winobj);
534 IOleInPlaceObjectWindowless_Release(winobj);
538 IOleDocumentView_Show(
This->view,
FALSE);
539 IOleDocumentView_CloseView(
This->view, 0);
540 IOleDocumentView_SetInPlaceSite(
This->view,
NULL);
541 IOleDocumentView_Release(
This->view);
547 IOleObject_Close(oleobj, OLECLOSE_NOSAVE);
549 hres = IUnknown_QueryInterface(
This->document, &IID_IHlinkTarget, (
void**)&hlink);
551 IHlinkTarget_SetBrowseContext(hlink,
NULL);
552 IHlinkTarget_Release(hlink);
561 IOleObject_SetClientSite(oleobj,
NULL);
565 IOleObject_Release(oleobj);
568 IUnknown_Release(
This->document);
581 if(!
This->document) {
582 FIXME(
"no document\n");
586 hres = IUnknown_QueryInterface(
This->document, &IID_IOleCommandTarget, (
void**)&cmdtrg);
592 hres = IOleCommandTarget_Exec(cmdtrg,
NULL, OLECMDID_REFRESH, OLECMDEXECOPT_PROMPTUSER, &vin, &vout);
593 IOleCommandTarget_Release(cmdtrg);
609 IDocHostUIHandler_Release(
This->hostui);
613 if(
This->client_disp) {
614 IDispatch_Release(
This->client_disp);
619 IOleInPlaceFrame_Release(
This->frame);
624 IOleCommandTarget_Release(
This->olecmd);
638 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
644 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
650 return IOleClientSite_Release(&
This->IOleClientSite_iface);
654 const GUID *pguidCmdGroup,
ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
661 for(
i=0; prgCmds &&
i < cCmds;
i++)
662 TRACE(
"unsupported command %u (%x)\n", prgCmds[
i].cmdID, prgCmds[
i].
cmdf);
678 case OLECMDID_UPDATECOMMANDS:
681 return IOleCommandTarget_Exec(
This->olecmd, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut);
682 case OLECMDID_SETDOWNLOADSTATE:
684 This->busy =
V_I4(pvaIn) ? VARIANT_TRUE : VARIANT_FALSE;
686 return IOleCommandTarget_Exec(
This->olecmd, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut);
694 TRACE(
"Unimplemented cmdid %d\n", nCmdID);
699 if(
IsEqualGUID(pguidCmdGroup, &CGID_DocHostCmdPriv)) {
705 if(
This->doc_navigate)
706 IUnknown_Release(
This->doc_navigate);
736 hres = IUnknown_QueryInterface(
V_UNKNOWN(&htmlwindow), &IID_IHTMLWindow2, (
void**)&win2);
741 IHTMLWindow2_Release(win2);
746 TRACE(
"unsupported command %d of CGID_DocHostCmdPriv\n", nCmdID);
759 TRACE(
"Unimplemented cmdid %d of CGID_Explorer\n", nCmdID);
764 if(
IsEqualGUID(pguidCmdGroup, &CGID_ShellDocView)) {
767 TRACE(
"Unimplemented cmdid %d of CGID_ShellDocView\n", nCmdID);
772 if(
IsEqualGUID(&CGID_DocHostCommandHandler, pguidCmdGroup)) {
775 return IOleCommandTarget_Exec(
This->olecmd, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut);
799 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
805 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
811 return IOleClientSite_Release(&
This->IOleClientSite_iface);
820 TRACE(
"(%p)->(%d %p %p %p)\n",
This, dwID, ppt, pcmdtReserved, pdispReserved);
823 hres = IDocHostUIHandler_ShowContextMenu(
This->hostui, dwID, ppt, pcmdtReserved,
829 FIXME(
"default action not implemented\n");
834 DOCHOSTUIINFO *pInfo)
842 hres = IDocHostUIHandler_GetHostInfo(
This->hostui, pInfo);
858 FIXME(
"(%p)->(%d %p %p %p %p)\n",
This, dwID, pActiveObject, pCommandTarget,
879 return IDocHostUIHandler_UpdateUI(
This->hostui);
910 FIXME(
"(%p)->(%p %p %X)\n",
This, prcBorder, pUIWindow, fRameWindow);
919 TRACE(
"(%p)->(%p %p %d)\n",
This, lpMsg, pguidCmdGroup, nCmdID);
922 hr = IDocHostUIHandler_TranslateAccelerator(
This->hostui, lpMsg, pguidCmdGroup, nCmdID);
935 return IDocHostUIHandler_GetOptionKeyPath(
This->hostui, pchKey,
dw);
956 return IDocHostUIHandler_GetExternal(
This->hostui, ppDispatch);
958 if(!
This->shell_ui_helper) {
967 IDispatch_AddRef(*ppDispatch);
979 return IDocHostUIHandler_TranslateUrl(
This->hostui, dwTranslate,
980 pchURLIn, ppchURLOut);
989 FIXME(
"(%p)->(%p %p)\n",
This, pDO, ppDORet);
1005 hres = IDocHostUIHandler_QueryInterface(
This->hostui, &IID_IDocHostUIHandler2,
1008 hres = IDocHostUIHandler2_GetOverrideKeyPath(
handler, pchKey,
dw);
1009 IDocHostUIHandler2_Release(
handler);
1047 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1053 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1059 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1070 READYSTATE ready_state;
1077 if(ready_state == READYSTATE_COMPLETE && !
This->doc_navigate)
1084 FIXME(
"unimplemented dispid %d\n", dispID);
1115 This->ready_state = READYSTATE_UNINITIALIZED;
1118 This->travellog.loading_pos = -1;
1130 if(
This->shell_ui_helper)
1131 IShellUIHelper2_Release(
This->shell_ui_helper);
1139 while(
This->travellog.length)
static HRESULT WINAPI ClOleCommandTarget_QueryInterface(IOleCommandTarget *iface, REFIID riid, void **ppv)
void on_commandstate_change(DocHost *doc_host, LONG command, BOOL enable)
#define DISPID_COMMANDSTATECHANGE
UINT WINAPI SafeArrayGetDim(SAFEARRAY *psa)
static HRESULT WINAPI DocHostUIHandler_ShowUI(IDocHostUIHandler2 *iface, DWORD dwID, IOleInPlaceActiveObject *pActiveObject, IOleCommandTarget *pCommandTarget, IOleInPlaceFrame *pFrame, IOleInPlaceUIWindow *pDoc)
GLint GLint GLsizei width
static IOleClientSite * client_site
static DocHost * impl_from_IDocHostUIHandler2(IDocHostUIHandler2 *iface)
static void object_available_proc(DocHost *This, task_header_t *task)
#define DISPATCH_PROPERTYGET
void DocHost_ClientSite_Init(DocHost *This)
static LRESULT resize_document(DocHost *This, LONG width, LONG height)
HRESULT refresh_document(DocHost *This, const VARIANT *level)
static ULONG WINAPI DocHostUIHandler_AddRef(IDocHostUIHandler2 *iface)
static IStream * get_travellog_stream(DocHost *This)
LRESULT process_dochost_tasks(DocHost *This)
static HRESULT WINAPI DocHostUIHandler_GetOverrideKeyPath(IDocHostUIHandler2 *iface, LPOLESTR *pchKey, DWORD dw)
static void advise_prop_notif(DocHost *This, BOOL set)
void(* on_command_state_change)(DocHost *, LONG, BOOL)
static ULONG WINAPI PropertyNotifySink_Release(IPropertyNotifySink *iface)
const IDocHostContainerVtbl * container_vtbl
_Check_return_ _CRTIMP int __cdecl _wcsnicmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
static ULONG WINAPI ClOleCommandTarget_AddRef(IOleCommandTarget *iface)
const GUID IID_IConnectionPointContainer
static HRESULT WINAPI DocHostUIHandler_TranslateUrl(IDocHostUIHandler2 *iface, DWORD dwTranslate, OLECHAR *pchURLIn, OLECHAR **ppchURLOut)
static HRESULT WINAPI ClOleCommandTarget_Exec(IOleCommandTarget *iface, const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
#define DISPID_DOCUMENTCOMPLETE
HINSTANCE ieframe_instance
static void update_ready_state(DocHost *This, READYSTATE ready_state)
static void update_travellog(DocHost *This)
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM *ppstm)
void DocHost_Init(DocHost *This, IWebBrowser2 *wb, const IDocHostContainerVtbl *container)
static void ready_state_task_destr(task_header_t *_task)
HRESULT WINAPI SafeArrayGetElement(SAFEARRAY *psa, LONG *rgIndices, void *pvData)
__IHTMLWindow2_FWD_DEFINED__ typedef interface IHTMLWindow2 IHTMLWindow2
void release_dochost_client(DocHost *This)
BOOL WINAPI DestroyWindow(_In_ HWND)
static void free_travellog_entry(travellog_entry_t *entry)
static DocHost * impl_from_IOleCommandTarget(IOleCommandTarget *iface)
static void * heap_realloc(void *mem, size_t len)
static void object_available_task_destr(task_header_t *task)
static void * heap_alloc(size_t len)
void update_navigation_commands(DocHost *dochost)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
static HRESULT WINAPI DocHostUIHandler_GetExternal(IDocHostUIHandler2 *iface, IDispatch **ppDispatch)
static HRESULT WINAPI DocHostUIHandler_OnFrameWindowActivate(IDocHostUIHandler2 *iface, BOOL fActivate)
void(* task_proc_t)(DocHost *, struct _task_header_t *)
ConnectionPointContainer cps
struct status_code status_code
ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW *)
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
void handle_navigation_error(DocHost *, HRESULT, BSTR, IHTMLWindow2 *) DECLSPEC_HIDDEN
static HRESULT WINAPI ClOleCommandTarget_QueryStatus(IOleCommandTarget *iface, const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
GLenum const GLfloat * params
static ULONG WINAPI PropertyNotifySink_AddRef(IPropertyNotifySink *iface)
static ATOM doc_view_atom
void call_sink(ConnectionPoint *This, DISPID dispid, DISPPARAMS *dispparams)
static WCHAR * heap_strdupW(const WCHAR *str)
#define CMDID_EXPLORER_UPDATEHISTORY
REFIID LPVOID DWORD_PTR dw
#define DISPID_NAVIGATECOMPLETE2
static void push_ready_state_task(DocHost *This, READYSTATE ready_state)
BSTR WINAPI SysAllocString(LPCOLESTR str)
static UINT set(struct ID3DXConstantTableImpl *table, IDirect3DDevice9 *device, struct ctab_constant *constant, const void **indata, D3DXPARAMETER_TYPE intype, UINT *size, UINT incol, D3DXPARAMETER_CLASS inclass, UINT index, BOOL is_pointer)
static void ready_state_proc(DocHost *This, task_header_t *_task)
HRESULT create_shell_ui_helper(IShellUIHelper2 **) DECLSPEC_HIDDEN
static LRESULT WINAPI doc_view_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
SHDocVw::uuid CSC_NAVIGATEBACK
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)
void deactivate_document(DocHost *This)
struct DocHost::@415 travellog
const GUID IID_IOleObject
static const IDocHostUIHandler2Vtbl DocHostUIHandler2Vtbl
static HRESULT WINAPI DocHostUIHandler_HideUI(IDocHostUIHandler2 *iface)
void ConnectionPointContainer_Init(ConnectionPointContainer *This, IUnknown *impl)
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
static const IPropertyNotifySinkVtbl PropertyNotifySinkVtbl
void(* task_destr_t)(struct _task_header_t *)
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
INT WSAAPI send(IN SOCKET s, IN CONST CHAR FAR *buf, IN INT len, IN INT flags)
static DocHost * impl_from_IPropertyNotifySink(IPropertyNotifySink *iface)
static HRESULT WINAPI DocHostUIHandler_UpdateUI(IDocHostUIHandler2 *iface)
void DocHost_Frame_Init(DocHost *This)
static HRESULT WINAPI DocHostUIHandler_TranslateAccelerator(IDocHostUIHandler2 *iface, LPMSG lpMsg, const GUID *pguidCmdGroup, DWORD nCmdID)
#define LOCALE_SYSTEM_DEFAULT
void create_doc_view_hwnd(DocHost *This)
static void dump_travellog(DocHost *This)
void DocHost_Release(DocHost *This)
void set_doc_state(DocHost *This, READYSTATE doc_state)
static void notif_complete(DocHost *This, DISPID dispid)
WINE_DEFAULT_DEBUG_CHANNEL(ieframe)
static ULONG WINAPI ClOleCommandTarget_Release(IOleCommandTarget *iface)
static HRESULT WINAPI DocHostUIHandler_QueryInterface(IDocHostUIHandler2 *iface, REFIID riid, void **ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
HRESULT dochost_object_available(DocHost *This, IUnknown *doc)
void push_dochost_task(DocHost *This, task_header_t *task, task_proc_t proc, task_destr_t destr, BOOL send)
void NewWindowManager_Init(DocHost *) DECLSPEC_HIDDEN
static ULONG WINAPI DocHostUIHandler_Release(IDocHostUIHandler2 *iface)
#define DOCHOST_DOCCANNAVIGATE
static HRESULT WINAPI PropertyNotifySink_OnChanged(IPropertyNotifySink *iface, DISPID dispID)
void IEHTMLWindow_Init(DocHost *) DECLSPEC_HIDDEN
GLint GLint GLsizei GLsizei height
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
struct stdole::EXCEPINFO EXCEPINFO
static HRESULT get_doc_ready_state(DocHost *This, READYSTATE *ret)
__WINE_SERVER_LIST_INLINE int list_empty(const struct list *list)
static const char * debugstr_variant(const VARIANT *var)
static VARIANTARG static DISPID
void abort_dochost_tasks(DocHost *This, task_proc_t proc)
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
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
void notify_download_state(DocHost *, BOOL) DECLSPEC_HIDDEN
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
const GUID IID_IPropertyNotifySink
#define DISPID_READYSTATE
static HRESULT WINAPI DocHostUIHandler_EnableModeless(IDocHostUIHandler2 *iface, BOOL fEnable)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
static HRESULT WINAPI DocHostUIHandler_GetHostInfo(IDocHostUIHandler2 *iface, DOCHOSTUIINFO *pInfo)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
SHDocVw::uuid CSC_NAVIGATEFORWARD
static HRESULT WINAPI PropertyNotifySink_OnRequestEdit(IPropertyNotifySink *iface, DISPID dispID)
static HRESULT WINAPI DocHostUIHandler_ShowContextMenu(IDocHostUIHandler2 *iface, DWORD dwID, POINT *ppt, IUnknown *pcmdtReserved, IDispatch *pdispReserved)
static HRESULT WINAPI DocHostUIHandler_FilterDataObject(IDocHostUIHandler2 *iface, IDataObject *pDO, IDataObject **ppDORet)
int command(const char *fmt,...)
static const IOleCommandTargetVtbl OleCommandTargetVtbl
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
DEFINE_OLEGUID(CGID_DocHostCmdPriv, 0x000214D4L, 0, 0)
struct stdole::DISPPARAMS DISPPARAMS
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
void ConnectionPointContainer_Destroy(ConnectionPointContainer *This)
UINT(* handler)(MSIPACKAGE *)
static HRESULT WINAPI DocHostUIHandler_OnDocWindowActivate(IDocHostUIHandler2 *iface, BOOL fActivate)
static void object_available(DocHost *This)
void DocHost_ClientSite_Release(DocHost *This)
static struct sockaddr_in sa
static HRESULT WINAPI DocHostUIHandler_ResizeBorder(IDocHostUIHandler2 *iface, LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fRameWindow)
static HRESULT WINAPI PropertyNotifySink_QueryInterface(IPropertyNotifySink *iface, REFIID riid, void **ppv)
static BOOL heap_free(void *mem)
static HRESULT WINAPI DocHostUIHandler_GetOptionKeyPath(IDocHostUIHandler2 *iface, LPOLESTR *pchKey, DWORD dw)
static HRESULT WINAPI DocHostUIHandler_GetDropTarget(IDocHostUIHandler2 *iface, IDropTarget *pDropTarget, IDropTarget **ppDropTarget)