ReactOS 0.4.15-dev-7834-g00c4b3d
client.c
Go to the documentation of this file.
1/*
2 * Copyright 2005 Jacek Caban for CodeWeavers
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19#include <stdio.h>
20
21#include "ieframe.h"
22
23#include "mshtmdid.h"
24#include "idispids.h"
25
26#include "wine/debug.h"
27
29
31{
32 return CONTAINING_RECORD(iface, DocHost, IOleClientSite_iface);
33}
34
36{
38
40 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
41 *ppv = &This->IOleClientSite_iface;
43 TRACE("(%p)->(IID_IOleClientSite %p)\n", This, ppv);
44 *ppv = &This->IOleClientSite_iface;
45 }else if(IsEqualGUID(&IID_IOleWindow, riid)) {
46 TRACE("(%p)->(IID_IOleWindow %p)\n", This, ppv);
47 *ppv = &This->IOleInPlaceSiteEx_iface;
49 TRACE("(%p)->(IID_IOleInPlaceSite %p)\n", This, ppv);
50 *ppv = &This->IOleInPlaceSiteEx_iface;
51 }else if(IsEqualGUID(&IID_IOleInPlaceSiteEx, riid)) {
52 TRACE("(%p)->(IID_IOleInPlaceSiteEx %p)\n", This, ppv);
53 *ppv = &This->IOleInPlaceSiteEx_iface;
54 }else if(IsEqualGUID(&IID_IDocHostUIHandler, riid)) {
55 TRACE("(%p)->(IID_IDocHostUIHandler %p)\n", This, ppv);
56 *ppv = &This->IDocHostUIHandler2_iface;
57 }else if(IsEqualGUID(&IID_IDocHostUIHandler2, riid)) {
58 TRACE("(%p)->(IID_IDocHostUIHandler2 %p)\n", This, ppv);
59 *ppv = &This->IDocHostUIHandler2_iface;
60 }else if(IsEqualGUID(&IID_IOleDocumentSite, riid)) {
61 TRACE("(%p)->(IID_IOleDocumentSite %p)\n", This, ppv);
62 *ppv = &This->IOleDocumentSite_iface;
64 TRACE("(%p)->(IID_IOleControlSite %p)\n", This, ppv);
65 *ppv = &This->IOleControlSite_iface;
66 }else if(IsEqualGUID(&IID_IOleCommandTarget, riid)) {
67 TRACE("(%p)->(IID_IOleCommandTarget %p)\n", This, ppv);
68 *ppv = &This->IOleCommandTarget_iface;
69 }else if(IsEqualGUID(&IID_IDispatch, riid)) {
70 TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
71 *ppv = &This->IDispatch_iface;
73 TRACE("(%p)->(IID_IPropertyNotifySink %p)\n", This, ppv);
74 *ppv = &This->IPropertyNotifySink_iface;
75 }else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
76 TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv);
77 *ppv = &This->IServiceProvider_iface;
78 }else {
79 *ppv = NULL;
80 WARN("Unsupported interface %s\n", debugstr_guid(riid));
81 return E_NOINTERFACE;
82 }
83
84 IUnknown_AddRef((IUnknown*)*ppv);
85 return S_OK;
86}
87
89{
91 return This->container_vtbl->addref(This);
92}
93
95{
97 return This->container_vtbl->release(This);
98}
99
101{
103 FIXME("(%p)\n", This);
104 return E_NOTIMPL;
105}
106
108 DWORD dwWhichMoniker, IMoniker **ppmk)
109{
111 FIXME("(%p)->(%d %d %p)\n", This, dwAssign, dwWhichMoniker, ppmk);
112 return E_NOTIMPL;
113}
114
116{
118 FIXME("(%p)->(%p)\n", This, ppContainer);
119 return E_NOTIMPL;
120}
121
123{
125 FIXME("(%p)\n", This);
126 return E_NOTIMPL;
127}
128
130{
132 FIXME("(%p)->(%x)\n", This, fShow);
133 return E_NOTIMPL;
134}
135
137{
139 FIXME("(%p)\n", This);
140 return E_NOTIMPL;
141}
142
143static const IOleClientSiteVtbl OleClientSiteVtbl = {
153};
154
156{
157 return CONTAINING_RECORD(iface, DocHost, IOleInPlaceSiteEx_iface);
158}
159
161{
163 return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv);
164}
165
167{
169 return IOleClientSite_AddRef(&This->IOleClientSite_iface);
170}
171
173{
175 return IOleClientSite_Release(&This->IOleClientSite_iface);
176}
177
179{
181
182 TRACE("(%p)->(%p)\n", This, phwnd);
183
184 *phwnd = This->hwnd;
185 return S_OK;
186}
187
189{
191 FIXME("(%p)->(%x)\n", This, fEnterMode);
192 return E_NOTIMPL;
193}
194
196{
198
199 TRACE("(%p)\n", This);
200
201 /* Nothing to do here */
202 return S_OK;
203}
204
206{
208
209 TRACE("(%p)\n", This);
210
211 /* Nothing to do here */
212 return S_OK;
213}
214
216{
218 FIXME("(%p)\n", This);
219 return E_NOTIMPL;
220}
221
223 IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect,
224 LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
225{
227
228 TRACE("(%p)->(%p %p %p %p %p)\n", This, ppFrame, ppDoc, lprcPosRect,
229 lprcClipRect, lpFrameInfo);
230
231 IOleInPlaceFrame_AddRef(&This->IOleInPlaceFrame_iface);
232 *ppFrame = &This->IOleInPlaceFrame_iface;
233 *ppDoc = NULL;
234
235 GetClientRect(This->hwnd, lprcPosRect);
236 *lprcClipRect = *lprcPosRect;
237
238 lpFrameInfo->fMDIApp = FALSE;
239 lpFrameInfo->hwndFrame = This->frame_hwnd;
240 lpFrameInfo->haccel = NULL;
241 lpFrameInfo->cAccelEntries = 0; /* FIXME: should be 5 */
242
243 return S_OK;
244}
245
247{
249 FIXME("(%p)->({%d %d})\n", This, scrollExtent.cx, scrollExtent.cy);
250 return E_NOTIMPL;
251}
252
254{
256 FIXME("(%p)->(%x)\n", This, fUndoable);
257 return E_NOTIMPL;
258}
259
261{
263
264 TRACE("(%p)\n", This);
265
266 /* Nothing to do here */
267 return S_OK;
268}
269
271{
273 FIXME("(%p)\n", This);
274 return E_NOTIMPL;
275}
276
278{
280 FIXME("(%p)\n", This);
281 return E_NOTIMPL;
282}
283
285 LPCRECT lprcPosRect)
286{
288 FIXME("(%p)->(%p)\n", This, lprcPosRect);
289 return E_NOTIMPL;
290}
291
293 BOOL *pfNoRedraw, DWORD dwFlags)
294{
296
297 TRACE("(%p)->(%p, %x)\n", This, pfNoRedraw, dwFlags);
298
299 /* FIXME: Avoid redraw, when possible */
300 *pfNoRedraw = FALSE;
301
302 if (dwFlags) {
303 FIXME("dwFlags not supported (%x)\n", dwFlags);
304 }
305
306 /* Nothing to do here */
307 return S_OK;
308}
309
311{
313
314 TRACE("(%p)->(%x)\n", This, fNoRedraw);
315
316 if (fNoRedraw) {
317 FIXME("fNoRedraw (%x) ignored\n", fNoRedraw);
318 }
319
320 /* Nothing to do here */
321 return S_OK;
322}
323
325{
327 TRACE("(%p)\n", This);
328
329 /* OnUIActivate is always possible */
330 return S_OK;
331}
332
333static const IOleInPlaceSiteExVtbl OleInPlaceSiteExVtbl = {
349 /* OleInPlaceSiteEx */
353};
354
356{
357 return CONTAINING_RECORD(iface, DocHost, IOleDocumentSite_iface);
358}
359
361 REFIID riid, void **ppv)
362{
364 return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv);
365}
366
368{
370 return IOleClientSite_AddRef(&This->IOleClientSite_iface);
371}
372
374{
376 return IOleClientSite_Release(&This->IOleClientSite_iface);
377}
378
380 IOleDocumentView *pViewToActivate)
381{
383 IOleDocument *oledoc;
384 RECT rect;
386
387 TRACE("(%p)->(%p)\n", This, pViewToActivate);
388
389 hres = IUnknown_QueryInterface(This->document, &IID_IOleDocument, (void**)&oledoc);
390 if(FAILED(hres))
391 return hres;
392
393 hres = IOleDocument_CreateView(oledoc, (IOleInPlaceSite*) &This->IOleInPlaceSiteEx_iface, NULL, 0, &This->view);
394 IOleDocument_Release(oledoc);
395 if(FAILED(hres))
396 return hres;
397
398 GetClientRect(This->hwnd, &rect);
399 IOleDocumentView_SetRect(This->view, &rect);
400
401 hres = IOleDocumentView_Show(This->view, TRUE);
402
403 return hres;
404}
405
406static const IOleDocumentSiteVtbl OleDocumentSiteVtbl = {
411};
412
414{
415 return CONTAINING_RECORD(iface, DocHost, IOleControlSite_iface);
416}
417
419{
421 return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv);
422}
423
425{
427 return IOleClientSite_AddRef(&This->IOleClientSite_iface);
428}
429
431{
433 return IOleClientSite_Release(&This->IOleClientSite_iface);
434}
435
437{
439 FIXME("(%p)\n", This);
440 return E_NOTIMPL;
441}
442
444{
446 FIXME("(%p)->(%d)\n", This, fLock);
447 return E_NOTIMPL;
448}
449
451{
453 FIXME("(%p)->(%p)\n", This, ppDisp);
454 return E_NOTIMPL;
455}
456
458 POINTF *pPtfContainer, DWORD dwFlags)
459{
461 FIXME("(%p)->(%p, %p, %08x)\n", This, pPtlHimetric, pPtfContainer, dwFlags);
462 return E_NOTIMPL;
463}
464
466 DWORD grfModifiers)
467{
469 IOleObject *wb_obj;
470 IOleClientSite *clientsite;
471 IOleControlSite *controlsite;
472 HRESULT hr;
473
474 TRACE("(%p)->(%p, %08x)\n", This, pMsg, grfModifiers);
475
476 hr = IWebBrowser2_QueryInterface(This->wb, &IID_IOleObject, (void**)&wb_obj);
477 if(SUCCEEDED(hr)) {
478 hr = IOleObject_GetClientSite(wb_obj, &clientsite);
479 if(SUCCEEDED(hr)) {
480 hr = IOleClientSite_QueryInterface(clientsite, &IID_IOleControlSite, (void**)&controlsite);
481 if(SUCCEEDED(hr)) {
482 hr = IOleControlSite_TranslateAccelerator(controlsite, pMsg, grfModifiers);
483 IOleControlSite_Release(controlsite);
484 }
485 IOleClientSite_Release(clientsite);
486 }
487 IOleObject_Release(wb_obj);
488 }
489
490 if(FAILED(hr))
491 return S_FALSE;
492 else
493 return hr;
494}
495
497{
499 FIXME("(%p)->(%d)\n", This, fGotFocus);
500 return E_NOTIMPL;
501}
502
504{
506 FIXME("(%p)\n", This);
507 return E_NOTIMPL;
508}
509
510static IOleControlSiteVtbl OleControlSiteVtbl = {
521};
522
524{
525 return CONTAINING_RECORD(iface, DocHost, IDispatch_iface);
526}
527
529{
531 return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv);
532}
533
535{
537 return IOleClientSite_AddRef(&This->IOleClientSite_iface);
538}
539
541{
543 return IOleClientSite_Release(&This->IOleClientSite_iface);
544}
545
547{
549
550 TRACE("(%p)->(%p)\n", This, pctinfo);
551
552 return E_NOTIMPL;
553}
554
556 ITypeInfo **ppTInfo)
557{
559
560 TRACE("(%p)->(%u %d %p)\n", This, iTInfo, lcid, ppTInfo);
561
562 return E_NOTIMPL;
563}
564
566 UINT cNames, LCID lcid, DISPID *rgDispId)
567{
569
570 TRACE("(%p)->(%s %p %u %d %p)\n", This, debugstr_guid(riid), rgszNames, cNames,
571 lcid, rgDispId);
572
573 return E_NOTIMPL;
574}
575
576static const char *debugstr_dispid(DISPID dispid)
577{
578 static char buf[16];
579
580#define CASE_DISPID(did) case did: return #did
581 switch(dispid) {
588 }
589#undef CASE_DISPID
590
591 sprintf(buf, "%d", dispid);
592 return buf;
593}
594
596 LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
597 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
598{
600
601 TRACE("(%p)->(%s %s %d %04x %p %p %p %p)\n", This, debugstr_dispid(dispIdMember),
602 debugstr_guid(riid), lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
603
604 switch(dispIdMember) {
609 if(!This->client_disp)
610 return E_FAIL;
611 return IDispatch_Invoke(This->client_disp, dispIdMember, riid, lcid, wFlags,
612 pDispParams, pVarResult, pExcepInfo, puArgErr);
614 V_VT(pVarResult) = VT_BOOL;
615 V_BOOL(pVarResult) = This->offline;
616 return S_OK;
618 V_VT(pVarResult) = VT_BOOL;
619 V_BOOL(pVarResult) = This->offline;
620 return S_OK;
621 }
622
623 FIXME("unhandled dispid %d\n", dispIdMember);
624 return E_NOTIMPL;
625}
626
627static const IDispatchVtbl DispatchVtbl = {
635};
636
638{
639 return CONTAINING_RECORD(iface, DocHost, IServiceProvider_iface);
640}
641
643 void **ppv)
644{
646 return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv);
647}
648
650{
652 return IOleClientSite_AddRef(&This->IOleClientSite_iface);
653}
654
656{
658 return IOleClientSite_Release(&This->IOleClientSite_iface);
659}
660
662 REFIID riid, void **ppv)
663{
665
666 if(IsEqualGUID(&IID_IHlinkFrame, guidService)) {
667 TRACE("(%p)->(IID_IHlinkFrame %s %p)\n", This, debugstr_guid(riid), ppv);
668 return IWebBrowser2_QueryInterface(This->wb, riid, ppv);
669 }
670
671 if(IsEqualGUID(&IID_ITargetFrame, guidService)) {
672 TRACE("(%p)->(IID_ITargetFrame %s %p)\n", This, debugstr_guid(riid), ppv);
673 return IWebBrowser2_QueryInterface(This->wb, riid, ppv);
674 }
675
676 if(IsEqualGUID(&IID_IWebBrowserApp, guidService)) {
677 TRACE("IWebBrowserApp service\n");
678 return IWebBrowser2_QueryInterface(This->wb, riid, ppv);
679 }
680
681 if(IsEqualGUID(&IID_IShellBrowser, guidService)) {
682 TRACE("(%p)->(IID_IShellBrowser %s %p)\n", This, debugstr_guid(riid), ppv);
683
684 if(!This->browser_service) {
686
687 hres = create_browser_service(This, &This->browser_service);
688 if(FAILED(hres))
689 return hres;
690 }
691
692 return IShellBrowser_QueryInterface(&This->browser_service->IShellBrowser_iface, riid, ppv);
693 }
694
695 if(IsEqualGUID(&SID_SNewWindowManager, guidService)) {
696 TRACE("SID_SNewWindowManager service\n");
697 return INewWindowManager_QueryInterface(&This->nwm.INewWindowManager_iface, riid, ppv);
698 }
699
700 FIXME("(%p)->(%s %s %p)\n", This, debugstr_guid(guidService), debugstr_guid(riid), ppv);
701
702 return E_NOINTERFACE;
703}
704
705static const IServiceProviderVtbl ServiceProviderVtbl = {
710};
711
713{
714 This->IOleClientSite_iface.lpVtbl = &OleClientSiteVtbl;
715 This->IOleInPlaceSiteEx_iface.lpVtbl = &OleInPlaceSiteExVtbl;
716 This->IOleDocumentSite_iface.lpVtbl = &OleDocumentSiteVtbl;
717 This->IOleControlSite_iface.lpVtbl = &OleControlSiteVtbl;
718 This->IDispatch_iface.lpVtbl = &DispatchVtbl;
719 This->IServiceProvider_iface.lpVtbl = &ServiceProviderVtbl;
720}
721
723{
724 if(This->browser_service)
725 detach_browser_service(This->browser_service);
726 if(This->view)
727 IOleDocumentView_Release(This->view);
728}
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
const GUID IID_IUnknown
#define FIXME(fmt,...)
Definition: debug.h:111
#define WARN(fmt,...)
Definition: debug.h:112
#define E_NOTIMPL
Definition: ddrawi.h:99
#define E_FAIL
Definition: ddrawi.h:102
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
@ VT_BOOL
Definition: compat.h:2306
static HRESULT WINAPI InPlaceSite_Scroll(IOleInPlaceSiteEx *iface, SIZE scrollExtent)
Definition: client.c:246
static HRESULT WINAPI ClServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
Definition: client.c:642
static HRESULT WINAPI InPlaceSite_OnInPlaceActivateEx(IOleInPlaceSiteEx *iface, BOOL *pfNoRedraw, DWORD dwFlags)
Definition: client.c:292
static const IOleClientSiteVtbl OleClientSiteVtbl
Definition: client.c:143
static HRESULT WINAPI ClientSite_RequestNewObjectLayout(IOleClientSite *iface)
Definition: client.c:136
static HRESULT WINAPI InPlaceSite_OnPosRectChange(IOleInPlaceSiteEx *iface, LPCRECT lprcPosRect)
Definition: client.c:284
static HRESULT WINAPI ControlSite_ShowPropertyFrame(IOleControlSite *iface)
Definition: client.c:503
static HRESULT WINAPI ControlSite_OnControlInfoChanged(IOleControlSite *iface)
Definition: client.c:436
static HRESULT WINAPI InPlaceSite_OnUIActivate(IOleInPlaceSiteEx *iface)
Definition: client.c:215
static DocHost * impl_from_IOleInPlaceSiteEx(IOleInPlaceSiteEx *iface)
Definition: client.c:155
static ULONG WINAPI OleDocumentSite_Release(IOleDocumentSite *iface)
Definition: client.c:373
static ULONG WINAPI ClDispatch_AddRef(IDispatch *iface)
Definition: client.c:534
void DocHost_ClientSite_Release(DocHost *This)
Definition: client.c:722
static const IOleInPlaceSiteExVtbl OleInPlaceSiteExVtbl
Definition: client.c:333
static HRESULT WINAPI ClientSite_ShowObject(IOleClientSite *iface)
Definition: client.c:122
static ULONG WINAPI ClientSite_AddRef(IOleClientSite *iface)
Definition: client.c:88
static ULONG WINAPI ControlSite_Release(IOleControlSite *iface)
Definition: client.c:430
static HRESULT WINAPI InPlaceSite_DeactivateAndUndo(IOleInPlaceSiteEx *iface)
Definition: client.c:277
static HRESULT WINAPI InPlaceSite_GetWindow(IOleInPlaceSiteEx *iface, HWND *phwnd)
Definition: client.c:178
static HRESULT WINAPI InPlaceSite_OnUIDeactivate(IOleInPlaceSiteEx *iface, BOOL fUndoable)
Definition: client.c:253
static HRESULT WINAPI ClServiceProvider_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
Definition: client.c:661
static HRESULT WINAPI OleDocumentSite_QueryInterface(IOleDocumentSite *iface, REFIID riid, void **ppv)
Definition: client.c:360
static ULONG WINAPI ControlSite_AddRef(IOleControlSite *iface)
Definition: client.c:424
static ULONG WINAPI ClientSite_Release(IOleClientSite *iface)
Definition: client.c:94
static HRESULT WINAPI ControlSite_GetExtendedControl(IOleControlSite *iface, IDispatch **ppDisp)
Definition: client.c:450
static DocHost * impl_from_IDispatch(IDispatch *iface)
Definition: client.c:523
static ULONG WINAPI ClServiceProvider_AddRef(IServiceProvider *iface)
Definition: client.c:649
static HRESULT WINAPI InPlaceSite_RequestUIActivate(IOleInPlaceSiteEx *iface)
Definition: client.c:324
static HRESULT WINAPI ClDispatch_Invoke(IDispatch *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: client.c:595
static HRESULT WINAPI ClDispatch_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
Definition: client.c:528
static ULONG WINAPI ClServiceProvider_Release(IServiceProvider *iface)
Definition: client.c:655
static HRESULT WINAPI ControlSite_TransformCoords(IOleControlSite *iface, POINTL *pPtlHimetric, POINTF *pPtfContainer, DWORD dwFlags)
Definition: client.c:457
static HRESULT WINAPI ControlSite_TranslateAccelerator(IOleControlSite *iface, MSG *pMsg, DWORD grfModifiers)
Definition: client.c:465
static const char * debugstr_dispid(DISPID dispid)
Definition: client.c:576
static HRESULT WINAPI InPlaceSite_ContextSensitiveHelp(IOleInPlaceSiteEx *iface, BOOL fEnterMode)
Definition: client.c:188
static ULONG WINAPI ClDispatch_Release(IDispatch *iface)
Definition: client.c:540
static HRESULT WINAPI InPlaceSite_QueryInterface(IOleInPlaceSiteEx *iface, REFIID riid, void **ppv)
Definition: client.c:160
static HRESULT WINAPI ControlSite_OnFocus(IOleControlSite *iface, BOOL fGotFocus)
Definition: client.c:496
static HRESULT WINAPI ClientSite_GetMoniker(IOleClientSite *iface, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk)
Definition: client.c:107
static DocHost * impl_from_IOleDocumentSite(IOleDocumentSite *iface)
Definition: client.c:355
static IOleControlSiteVtbl OleControlSiteVtbl
Definition: client.c:510
static HRESULT WINAPI ClientSite_SaveObject(IOleClientSite *iface)
Definition: client.c:100
static HRESULT WINAPI InPlaceSite_OnInPlaceDeactivateEx(IOleInPlaceSiteEx *iface, BOOL fNoRedraw)
Definition: client.c:310
void DocHost_ClientSite_Init(DocHost *This)
Definition: client.c:712
static DocHost * impl_from_IOleControlSite(IOleControlSite *iface)
Definition: client.c:413
static HRESULT WINAPI InPlaceSite_OnInPlaceActivate(IOleInPlaceSiteEx *iface)
Definition: client.c:205
static HRESULT WINAPI ClDispatch_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: client.c:565
static const IDispatchVtbl DispatchVtbl
Definition: client.c:627
static HRESULT WINAPI ClDispatch_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
Definition: client.c:546
static HRESULT WINAPI InPlaceSite_GetWindowContext(IOleInPlaceSiteEx *iface, IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
Definition: client.c:222
#define CASE_DISPID(did)
static HRESULT WINAPI InPlaceSite_DiscardUndoState(IOleInPlaceSiteEx *iface)
Definition: client.c:270
static const IOleDocumentSiteVtbl OleDocumentSiteVtbl
Definition: client.c:406
static HRESULT WINAPI ClDispatch_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: client.c:555
static HRESULT WINAPI ClientSite_QueryInterface(IOleClientSite *iface, REFIID riid, void **ppv)
Definition: client.c:35
static DocHost * impl_from_IOleClientSite(IOleClientSite *iface)
Definition: client.c:30
static HRESULT WINAPI InPlaceSite_OnInPlaceDeactivate(IOleInPlaceSiteEx *iface)
Definition: client.c:260
static HRESULT WINAPI OleDocumentSite_ActivateMe(IOleDocumentSite *iface, IOleDocumentView *pViewToActivate)
Definition: client.c:379
static HRESULT WINAPI ClientSite_OnShowWindow(IOleClientSite *iface, BOOL fShow)
Definition: client.c:129
static ULONG WINAPI InPlaceSite_Release(IOleInPlaceSiteEx *iface)
Definition: client.c:172
static const IServiceProviderVtbl ServiceProviderVtbl
Definition: client.c:705
static ULONG WINAPI OleDocumentSite_AddRef(IOleDocumentSite *iface)
Definition: client.c:367
static HRESULT WINAPI ClientSite_GetContainer(IOleClientSite *iface, IOleContainer **ppContainer)
Definition: client.c:115
static HRESULT WINAPI InPlaceSite_CanInPlaceActivate(IOleInPlaceSiteEx *iface)
Definition: client.c:195
static ULONG WINAPI InPlaceSite_AddRef(IOleInPlaceSiteEx *iface)
Definition: client.c:166
static HRESULT WINAPI ControlSite_QueryInterface(IOleControlSite *iface, REFIID riid, void **ppv)
Definition: client.c:418
static HRESULT WINAPI ControlSite_LockInPlaceActive(IOleControlSite *iface, BOOL fLock)
Definition: client.c:443
static DocHost * impl_from_IServiceProvider(IServiceProvider *iface)
Definition: client.c:637
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define DISPID_AMBIENT_OFFLINEIFNOTCONNECTED
Definition: idispids.h:25
#define DISPID_AMBIENT_SILENT
Definition: idispids.h:26
void detach_browser_service(ShellBrowser *) DECLSPEC_HIDDEN
Definition: shellbrowser.c:940
HRESULT create_browser_service(DocHost *, ShellBrowser **) DECLSPEC_HIDDEN
Definition: shellbrowser.c:921
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
#define debugstr_guid
Definition: kernel32.h:35
#define sprintf(buf, format,...)
Definition: sprintf.c:55
HRESULT hres
Definition: protocol.c:465
static LPOLESTR
Definition: stg_prop.c:27
static VARIANTARG static DISPID
Definition: ordinal.c:52
#define DISPID_AMBIENT_DLCONTROL
Definition: mshtmdid.h:539
#define DISPID_AMBIENT_USERAGENT
Definition: mshtmdid.h:540
unsigned int UINT
Definition: ndis.h:50
#define V_BOOL(A)
Definition: oleauto.h:224
#define V_VT(A)
Definition: oleauto.h:211
#define DISPID_AMBIENT_USERMODE
Definition: olectl.h:405
#define DISPID_AMBIENT_PALETTE
Definition: olectl.h:415
const GUID IID_IOleInPlaceSite
const GUID IID_IPropertyNotifySink
const GUID IID_IOleWindow
const GUID IID_IOleControlSite
const GUID IID_IOleClientSite
const GUID IID_IDispatch
const GUID IID_IOleObject
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define REFIID
Definition: guiddef.h:118
DWORD LCID
Definition: nls.h:13
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4
& rect
Definition: startmenu.cpp:1413
Definition: scsiwmi.h:51
LONG cx
Definition: kdterminal.h:27
LONG cy
Definition: kdterminal.h:28
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1829
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
uint32_t ULONG
Definition: typedefs.h:59
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
#define WINAPI
Definition: msvc.h:6
#define S_FALSE
Definition: winerror.h:2357
#define E_NOINTERFACE
Definition: winerror.h:2364
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)