2005-07-31 12:11:56 +00:00
|
|
|
/*
|
|
|
|
* Header includes for shdocvw.dll
|
|
|
|
*
|
|
|
|
* Copyright 2001 John R. Sheets (for CodeWeavers)
|
2009-02-04 14:35:06 +00:00
|
|
|
* Copyright 2005-2006 Jacek Caban for CodeWeavers
|
2005-07-31 12:11:56 +00:00
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
2009-02-04 14:35:06 +00:00
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
2005-07-31 12:11:56 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __WINE_SHDOCVW_H
|
|
|
|
#define __WINE_SHDOCVW_H
|
|
|
|
|
Sync to Wine-20050930:
Alexandre Julliard <julliard@winehq.org>
- Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
- We are no longer generating .dbg.c files.
Milko Krachounov <milko@3mhz.net>
- Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
Alexander N. Sørnes <alex@thehandofagony.com>
- Added Norwegian translations.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Make IPersist* interfaces heap based.
- Added IWebBrowser2 stub implementation.
- Make IProvideClassInfo2 interface heap based.
- Make IConnectionPointContainer interface heap based.
- Make WebBrowser heap based object.
- Improve stubs.
- Make IQuickActivate interface heap based.
- Added SetClientSite implementation.
- Make IOleControl and IOleInPlaceObject interface heap based.
Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
- Added Finnish resources.
svn path=/trunk/; revision=18351
2005-10-08 19:07:39 +00:00
|
|
|
#define COBJMACROS
|
|
|
|
|
2005-07-31 12:11:56 +00:00
|
|
|
#include <stdarg.h>
|
|
|
|
|
|
|
|
#include "windef.h"
|
|
|
|
#include "winbase.h"
|
|
|
|
#include "wingdi.h"
|
|
|
|
#include "winuser.h"
|
|
|
|
|
|
|
|
#include "ole2.h"
|
|
|
|
#include "olectl.h"
|
|
|
|
#include "shlobj.h"
|
|
|
|
#include "exdisp.h"
|
2005-11-26 09:40:12 +00:00
|
|
|
#include "mshtmhst.h"
|
2009-02-04 14:35:06 +00:00
|
|
|
#include "hlink.h"
|
2010-05-30 10:25:19 +00:00
|
|
|
#include "htiframe.h"
|
2005-07-31 12:11:56 +00:00
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
#include "wine/unicode.h"
|
Finish the Wine sync. These components are not just rc file changes
atl, comctl32, comdlg32, dwmapi, fusion, gdiplus, jscript, mpr, mshtml, msi, msimtf, msxml3, ole32, oleaut32, riched20, shdocvw, shlwapi, urlmon, usp10, version and windowscodecs
Seems to build and boot. /me hides
svn path=/trunk/; revision=48273
2010-07-26 02:26:04 +00:00
|
|
|
#include "resource.h"
|
|
|
|
|
2005-07-31 12:11:56 +00:00
|
|
|
|
2005-11-20 14:26:47 +00:00
|
|
|
/**********************************************************************
|
|
|
|
* Shell Instance Objects
|
|
|
|
*/
|
2009-02-04 14:35:06 +00:00
|
|
|
extern HRESULT SHDOCVW_GetShellInstanceObjectClassObject(REFCLSID rclsid,
|
2005-11-20 14:26:47 +00:00
|
|
|
REFIID riid, LPVOID *ppvClassObj);
|
2005-07-31 12:11:56 +00:00
|
|
|
|
|
|
|
/**********************************************************************
|
Sync to Wine-20050930:
Alexandre Julliard <julliard@winehq.org>
- Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
- We are no longer generating .dbg.c files.
Milko Krachounov <milko@3mhz.net>
- Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
Alexander N. Sørnes <alex@thehandofagony.com>
- Added Norwegian translations.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Make IPersist* interfaces heap based.
- Added IWebBrowser2 stub implementation.
- Make IProvideClassInfo2 interface heap based.
- Make IConnectionPointContainer interface heap based.
- Make WebBrowser heap based object.
- Improve stubs.
- Make IQuickActivate interface heap based.
- Added SetClientSite implementation.
- Make IOleControl and IOleInPlaceObject interface heap based.
Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
- Added Finnish resources.
svn path=/trunk/; revision=18351
2005-10-08 19:07:39 +00:00
|
|
|
* WebBrowser declaration for SHDOCVW.DLL
|
2005-07-31 12:11:56 +00:00
|
|
|
*/
|
2005-12-14 19:42:38 +00:00
|
|
|
|
|
|
|
typedef struct ConnectionPoint ConnectionPoint;
|
2009-02-04 14:35:06 +00:00
|
|
|
typedef struct DocHost DocHost;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
const IConnectionPointContainerVtbl *lpConnectionPointContainerVtbl;
|
|
|
|
|
|
|
|
ConnectionPoint *wbe2;
|
|
|
|
ConnectionPoint *wbe;
|
|
|
|
ConnectionPoint *pns;
|
|
|
|
|
|
|
|
IUnknown *impl;
|
|
|
|
} ConnectionPointContainer;
|
|
|
|
|
|
|
|
struct _task_header_t;
|
|
|
|
|
|
|
|
typedef void (*task_proc_t)(DocHost*, struct _task_header_t*);
|
|
|
|
|
|
|
|
typedef struct _task_header_t {
|
|
|
|
task_proc_t proc;
|
|
|
|
} task_header_t;
|
|
|
|
|
|
|
|
struct DocHost {
|
|
|
|
const IOleClientSiteVtbl *lpOleClientSiteVtbl;
|
|
|
|
const IOleInPlaceSiteVtbl *lpOleInPlaceSiteVtbl;
|
|
|
|
const IDocHostUIHandler2Vtbl *lpDocHostUIHandlerVtbl;
|
|
|
|
const IOleDocumentSiteVtbl *lpOleDocumentSiteVtbl;
|
|
|
|
const IOleCommandTargetVtbl *lpOleCommandTargetVtbl;
|
|
|
|
const IDispatchVtbl *lpDispatchVtbl;
|
2009-09-03 14:59:32 +00:00
|
|
|
const IPropertyNotifySinkVtbl *lpIPropertyNotifySinkVtbl;
|
2009-02-04 14:35:06 +00:00
|
|
|
const IServiceProviderVtbl *lpServiceProviderVtbl;
|
|
|
|
|
|
|
|
/* Interfaces of InPlaceFrame object */
|
|
|
|
const IOleInPlaceFrameVtbl *lpOleInPlaceFrameVtbl;
|
|
|
|
|
|
|
|
IDispatch *disp;
|
|
|
|
|
|
|
|
IDispatch *client_disp;
|
|
|
|
IDocHostUIHandler *hostui;
|
|
|
|
IOleInPlaceFrame *frame;
|
|
|
|
|
|
|
|
IUnknown *document;
|
|
|
|
IOleDocumentView *view;
|
2010-03-21 15:08:31 +00:00
|
|
|
IUnknown *doc_navigate;
|
2009-02-04 14:35:06 +00:00
|
|
|
|
|
|
|
HWND hwnd;
|
|
|
|
HWND frame_hwnd;
|
|
|
|
|
|
|
|
LPOLESTR url;
|
|
|
|
|
|
|
|
VARIANT_BOOL silent;
|
|
|
|
VARIANT_BOOL offline;
|
|
|
|
VARIANT_BOOL busy;
|
|
|
|
|
2009-09-03 14:59:32 +00:00
|
|
|
READYSTATE ready_state;
|
2010-03-21 15:08:31 +00:00
|
|
|
READYSTATE doc_state;
|
2009-09-03 14:59:32 +00:00
|
|
|
DWORD prop_notif_cookie;
|
|
|
|
BOOL is_prop_notif;
|
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
ConnectionPointContainer cps;
|
|
|
|
};
|
2005-12-14 19:42:38 +00:00
|
|
|
|
2008-01-11 13:46:33 +00:00
|
|
|
struct WebBrowser {
|
2005-11-20 14:26:47 +00:00
|
|
|
/* Interfaces available via WebBrowser object */
|
|
|
|
|
Sync to Wine-20050930:
Alexandre Julliard <julliard@winehq.org>
- Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
- We are no longer generating .dbg.c files.
Milko Krachounov <milko@3mhz.net>
- Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
Alexander N. Sørnes <alex@thehandofagony.com>
- Added Norwegian translations.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Make IPersist* interfaces heap based.
- Added IWebBrowser2 stub implementation.
- Make IProvideClassInfo2 interface heap based.
- Make IConnectionPointContainer interface heap based.
- Make WebBrowser heap based object.
- Improve stubs.
- Make IQuickActivate interface heap based.
- Added SetClientSite implementation.
- Make IOleControl and IOleInPlaceObject interface heap based.
Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
- Added Finnish resources.
svn path=/trunk/; revision=18351
2005-10-08 19:07:39 +00:00
|
|
|
const IWebBrowser2Vtbl *lpWebBrowser2Vtbl;
|
|
|
|
const IOleObjectVtbl *lpOleObjectVtbl;
|
|
|
|
const IOleInPlaceObjectVtbl *lpOleInPlaceObjectVtbl;
|
|
|
|
const IOleControlVtbl *lpOleControlVtbl;
|
|
|
|
const IPersistStorageVtbl *lpPersistStorageVtbl;
|
2009-02-04 14:35:06 +00:00
|
|
|
const IPersistMemoryVtbl *lpPersistMemoryVtbl;
|
Sync to Wine-20050930:
Alexandre Julliard <julliard@winehq.org>
- Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
- We are no longer generating .dbg.c files.
Milko Krachounov <milko@3mhz.net>
- Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
Alexander N. Sørnes <alex@thehandofagony.com>
- Added Norwegian translations.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Make IPersist* interfaces heap based.
- Added IWebBrowser2 stub implementation.
- Make IProvideClassInfo2 interface heap based.
- Make IConnectionPointContainer interface heap based.
- Make WebBrowser heap based object.
- Improve stubs.
- Make IQuickActivate interface heap based.
- Added SetClientSite implementation.
- Make IOleControl and IOleInPlaceObject interface heap based.
Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
- Added Finnish resources.
svn path=/trunk/; revision=18351
2005-10-08 19:07:39 +00:00
|
|
|
const IPersistStreamInitVtbl *lpPersistStreamInitVtbl;
|
|
|
|
const IProvideClassInfo2Vtbl *lpProvideClassInfoVtbl;
|
2005-11-20 14:26:47 +00:00
|
|
|
const IViewObject2Vtbl *lpViewObjectVtbl;
|
2005-12-14 19:42:38 +00:00
|
|
|
const IOleInPlaceActiveObjectVtbl *lpOleInPlaceActiveObjectVtbl;
|
2009-02-04 14:35:06 +00:00
|
|
|
const IOleCommandTargetVtbl *lpOleCommandTargetVtbl;
|
|
|
|
const IHlinkFrameVtbl *lpHlinkFrameVtbl;
|
2010-05-30 10:25:19 +00:00
|
|
|
const ITargetFrame2Vtbl *lpITargetFrame2Vtbl;
|
2009-02-04 14:35:06 +00:00
|
|
|
const IServiceProviderVtbl *lpServiceProviderVtbl;
|
2010-05-30 10:25:19 +00:00
|
|
|
const IDataObjectVtbl *lpDataObjectVtbl;
|
2005-07-31 12:11:56 +00:00
|
|
|
|
2005-08-12 18:06:58 +00:00
|
|
|
LONG ref;
|
2005-07-31 12:11:56 +00:00
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
INT version;
|
2005-11-20 14:26:47 +00:00
|
|
|
|
Sync to Wine-20050930:
Alexandre Julliard <julliard@winehq.org>
- Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
- We are no longer generating .dbg.c files.
Milko Krachounov <milko@3mhz.net>
- Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
Alexander N. Sørnes <alex@thehandofagony.com>
- Added Norwegian translations.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Make IPersist* interfaces heap based.
- Added IWebBrowser2 stub implementation.
- Make IProvideClassInfo2 interface heap based.
- Make IConnectionPointContainer interface heap based.
- Make WebBrowser heap based object.
- Improve stubs.
- Make IQuickActivate interface heap based.
- Added SetClientSite implementation.
- Make IOleControl and IOleInPlaceObject interface heap based.
Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
- Added Finnish resources.
svn path=/trunk/; revision=18351
2005-10-08 19:07:39 +00:00
|
|
|
IOleClientSite *client;
|
2005-11-20 14:26:47 +00:00
|
|
|
IOleContainer *container;
|
2009-02-04 14:35:06 +00:00
|
|
|
IOleInPlaceSite *inplace;
|
2005-11-20 14:26:47 +00:00
|
|
|
|
|
|
|
/* window context */
|
|
|
|
|
|
|
|
HWND frame_hwnd;
|
|
|
|
IOleInPlaceUIWindow *uiwindow;
|
|
|
|
RECT pos_rect;
|
|
|
|
RECT clip_rect;
|
|
|
|
OLEINPLACEFRAMEINFO frameinfo;
|
2009-02-04 14:35:06 +00:00
|
|
|
SIZEL extent;
|
2005-11-26 09:40:12 +00:00
|
|
|
|
|
|
|
HWND shell_embedding_hwnd;
|
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
VARIANT_BOOL register_browser;
|
|
|
|
VARIANT_BOOL visible;
|
|
|
|
VARIANT_BOOL menu_bar;
|
|
|
|
VARIANT_BOOL address_bar;
|
|
|
|
VARIANT_BOOL status_bar;
|
|
|
|
VARIANT_BOOL tool_bar;
|
|
|
|
VARIANT_BOOL full_screen;
|
|
|
|
VARIANT_BOOL theater_mode;
|
|
|
|
|
|
|
|
DocHost doc_host;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct InternetExplorer {
|
|
|
|
const IWebBrowser2Vtbl *lpWebBrowser2Vtbl;
|
|
|
|
|
|
|
|
LONG ref;
|
|
|
|
|
|
|
|
HWND frame_hwnd;
|
2005-11-26 09:40:12 +00:00
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
DocHost doc_host;
|
2008-01-11 13:46:33 +00:00
|
|
|
};
|
2005-07-31 12:11:56 +00:00
|
|
|
|
Sync to Wine-20050930:
Alexandre Julliard <julliard@winehq.org>
- Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
- We are no longer generating .dbg.c files.
Milko Krachounov <milko@3mhz.net>
- Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
Alexander N. Sørnes <alex@thehandofagony.com>
- Added Norwegian translations.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Make IPersist* interfaces heap based.
- Added IWebBrowser2 stub implementation.
- Make IProvideClassInfo2 interface heap based.
- Make IConnectionPointContainer interface heap based.
- Make WebBrowser heap based object.
- Improve stubs.
- Make IQuickActivate interface heap based.
- Added SetClientSite implementation.
- Make IOleControl and IOleInPlaceObject interface heap based.
Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
- Added Finnish resources.
svn path=/trunk/; revision=18351
2005-10-08 19:07:39 +00:00
|
|
|
#define WEBBROWSER(x) ((IWebBrowser*) &(x)->lpWebBrowser2Vtbl)
|
|
|
|
#define WEBBROWSER2(x) ((IWebBrowser2*) &(x)->lpWebBrowser2Vtbl)
|
|
|
|
#define OLEOBJ(x) ((IOleObject*) &(x)->lpOleObjectVtbl)
|
|
|
|
#define INPLACEOBJ(x) ((IOleInPlaceObject*) &(x)->lpOleInPlaceObjectVtbl)
|
|
|
|
#define CONTROL(x) ((IOleControl*) &(x)->lpOleControlVtbl)
|
|
|
|
#define PERSTORAGE(x) ((IPersistStorage*) &(x)->lpPersistStorageVtbl)
|
2009-02-04 14:35:06 +00:00
|
|
|
#define PERMEMORY(x) ((IPersistMemory*) &(x)->lpPersistMemoryVtbl)
|
Sync to Wine-20050930:
Alexandre Julliard <julliard@winehq.org>
- Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
- We are no longer generating .dbg.c files.
Milko Krachounov <milko@3mhz.net>
- Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
Alexander N. Sørnes <alex@thehandofagony.com>
- Added Norwegian translations.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Make IPersist* interfaces heap based.
- Added IWebBrowser2 stub implementation.
- Make IProvideClassInfo2 interface heap based.
- Make IConnectionPointContainer interface heap based.
- Make WebBrowser heap based object.
- Improve stubs.
- Make IQuickActivate interface heap based.
- Added SetClientSite implementation.
- Make IOleControl and IOleInPlaceObject interface heap based.
Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
- Added Finnish resources.
svn path=/trunk/; revision=18351
2005-10-08 19:07:39 +00:00
|
|
|
#define PERSTRINIT(x) ((IPersistStreamInit*) &(x)->lpPersistStreamInitVtbl)
|
|
|
|
#define CLASSINFO(x) ((IProvideClassInfo2*) &(x)->lpProvideClassInfoVtbl)
|
|
|
|
#define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl)
|
2005-11-20 14:26:47 +00:00
|
|
|
#define VIEWOBJ(x) ((IViewObject*) &(x)->lpViewObjectVtbl);
|
|
|
|
#define VIEWOBJ2(x) ((IViewObject2*) &(x)->lpViewObjectVtbl);
|
2005-12-14 19:42:38 +00:00
|
|
|
#define ACTIVEOBJ(x) ((IOleInPlaceActiveObject*) &(x)->lpOleInPlaceActiveObjectVtbl)
|
2009-02-04 14:35:06 +00:00
|
|
|
#define OLECMD(x) ((IOleCommandTarget*) &(x)->lpOleCommandTargetVtbl)
|
|
|
|
#define HLINKFRAME(x) ((IHlinkFrame*) &(x)->lpHlinkFrameVtbl)
|
2010-05-30 10:25:19 +00:00
|
|
|
#define DATAOBJECT(x) ((IDataObject*) &(x)->lpDataObjectVtbl)
|
|
|
|
#define TARGETFRAME2(x) ((ITargetFrame2*) &(x)->lpITargetFrame2Vtbl)
|
2005-11-20 14:26:47 +00:00
|
|
|
|
|
|
|
#define CLIENTSITE(x) ((IOleClientSite*) &(x)->lpOleClientSiteVtbl)
|
|
|
|
#define INPLACESITE(x) ((IOleInPlaceSite*) &(x)->lpOleInPlaceSiteVtbl)
|
2005-11-26 09:40:12 +00:00
|
|
|
#define DOCHOSTUI(x) ((IDocHostUIHandler*) &(x)->lpDocHostUIHandlerVtbl)
|
|
|
|
#define DOCHOSTUI2(x) ((IDocHostUIHandler2*) &(x)->lpDocHostUIHandlerVtbl)
|
2005-12-14 19:42:38 +00:00
|
|
|
#define DOCSITE(x) ((IOleDocumentSite*) &(x)->lpOleDocumentSiteVtbl)
|
2009-02-04 14:35:06 +00:00
|
|
|
#define CLDISP(x) ((IDispatch*) &(x)->lpDispatchVtbl)
|
2009-09-03 14:59:32 +00:00
|
|
|
#define PROPNOTIF(x) ((IPropertyNotifySink*) &(x)->lpIPropertyNotifySinkVtbl)
|
2009-02-04 14:35:06 +00:00
|
|
|
#define SERVPROV(x) ((IServiceProvider*) &(x)->lpServiceProviderVtbl)
|
2005-12-14 19:42:38 +00:00
|
|
|
|
|
|
|
#define INPLACEFRAME(x) ((IOleInPlaceFrame*) &(x)->lpOleInPlaceFrameVtbl)
|
2005-07-31 12:11:56 +00:00
|
|
|
|
Sync to Wine-20050930:
Alexandre Julliard <julliard@winehq.org>
- Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
- We are no longer generating .dbg.c files.
Milko Krachounov <milko@3mhz.net>
- Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
Alexander N. Sørnes <alex@thehandofagony.com>
- Added Norwegian translations.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Make IPersist* interfaces heap based.
- Added IWebBrowser2 stub implementation.
- Make IProvideClassInfo2 interface heap based.
- Make IConnectionPointContainer interface heap based.
- Make WebBrowser heap based object.
- Improve stubs.
- Make IQuickActivate interface heap based.
- Added SetClientSite implementation.
- Make IOleControl and IOleInPlaceObject interface heap based.
Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
- Added Finnish resources.
svn path=/trunk/; revision=18351
2005-10-08 19:07:39 +00:00
|
|
|
void WebBrowser_OleObject_Init(WebBrowser*);
|
2005-11-20 14:26:47 +00:00
|
|
|
void WebBrowser_ViewObject_Init(WebBrowser*);
|
2010-05-30 10:25:19 +00:00
|
|
|
void WebBrowser_DataObject_Init(WebBrowser*);
|
Sync to Wine-20050930:
Alexandre Julliard <julliard@winehq.org>
- Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
- We are no longer generating .dbg.c files.
Milko Krachounov <milko@3mhz.net>
- Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
Alexander N. Sørnes <alex@thehandofagony.com>
- Added Norwegian translations.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Make IPersist* interfaces heap based.
- Added IWebBrowser2 stub implementation.
- Make IProvideClassInfo2 interface heap based.
- Make IConnectionPointContainer interface heap based.
- Make WebBrowser heap based object.
- Improve stubs.
- Make IQuickActivate interface heap based.
- Added SetClientSite implementation.
- Make IOleControl and IOleInPlaceObject interface heap based.
Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
- Added Finnish resources.
svn path=/trunk/; revision=18351
2005-10-08 19:07:39 +00:00
|
|
|
void WebBrowser_Persist_Init(WebBrowser*);
|
|
|
|
void WebBrowser_ClassInfo_Init(WebBrowser*);
|
2009-02-04 14:35:06 +00:00
|
|
|
void WebBrowser_HlinkFrame_Init(WebBrowser*);
|
2005-07-31 12:11:56 +00:00
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
void WebBrowser_OleObject_Destroy(WebBrowser*);
|
2005-11-20 14:26:47 +00:00
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
void DocHost_Init(DocHost*,IDispatch*);
|
|
|
|
void DocHost_ClientSite_Init(DocHost*);
|
|
|
|
void DocHost_Frame_Init(DocHost*);
|
2010-03-02 19:38:02 +00:00
|
|
|
void release_dochost_client(DocHost*);
|
2005-12-14 19:42:38 +00:00
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
void DocHost_Release(DocHost*);
|
|
|
|
void DocHost_ClientSite_Release(DocHost*);
|
2005-11-20 14:26:47 +00:00
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
void ConnectionPointContainer_Init(ConnectionPointContainer*,IUnknown*);
|
|
|
|
void ConnectionPointContainer_Destroy(ConnectionPointContainer*);
|
2005-07-31 12:11:56 +00:00
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
HRESULT WebBrowserV1_Create(IUnknown*,REFIID,void**);
|
|
|
|
HRESULT WebBrowserV2_Create(IUnknown*,REFIID,void**);
|
|
|
|
|
|
|
|
void create_doc_view_hwnd(DocHost*);
|
|
|
|
void deactivate_document(DocHost*);
|
2009-09-03 14:59:32 +00:00
|
|
|
HRESULT dochost_object_available(DocHost*,IUnknown*);
|
2005-12-14 19:42:38 +00:00
|
|
|
void call_sink(ConnectionPoint*,DISPID,DISPPARAMS*);
|
2009-02-04 14:35:06 +00:00
|
|
|
HRESULT navigate_url(DocHost*,LPCWSTR,const VARIANT*,const VARIANT*,VARIANT*,VARIANT*);
|
|
|
|
HRESULT go_home(DocHost*);
|
2010-03-21 15:08:31 +00:00
|
|
|
void set_doc_state(DocHost*,READYSTATE);
|
2009-02-04 14:35:06 +00:00
|
|
|
|
|
|
|
#define WM_DOCHOSTTASK (WM_USER+0x300)
|
|
|
|
void push_dochost_task(DocHost*,task_header_t*,task_proc_t,BOOL);
|
|
|
|
LRESULT process_dochost_task(DocHost*,LPARAM);
|
|
|
|
|
|
|
|
HRESULT InternetExplorer_Create(IUnknown*,REFIID,void**);
|
|
|
|
void InternetExplorer_WebBrowser_Init(InternetExplorer*);
|
|
|
|
|
|
|
|
HRESULT CUrlHistory_Create(IUnknown*,REFIID,void**);
|
2005-12-14 19:42:38 +00:00
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
HRESULT InternetShortcut_Create(IUnknown*,REFIID,void**);
|
2005-12-14 19:42:38 +00:00
|
|
|
|
2009-04-29 17:16:20 +00:00
|
|
|
HRESULT TaskbarList_Create(IUnknown*,REFIID,void**);
|
|
|
|
|
Sync to Wine-20050930:
Alexandre Julliard <julliard@winehq.org>
- Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
- We are no longer generating .dbg.c files.
Milko Krachounov <milko@3mhz.net>
- Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
Alexander N. Sørnes <alex@thehandofagony.com>
- Added Norwegian translations.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Make IPersist* interfaces heap based.
- Added IWebBrowser2 stub implementation.
- Make IProvideClassInfo2 interface heap based.
- Make IConnectionPointContainer interface heap based.
- Make WebBrowser heap based object.
- Improve stubs.
- Make IQuickActivate interface heap based.
- Added SetClientSite implementation.
- Make IOleControl and IOleInPlaceObject interface heap based.
Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
- Added Finnish resources.
svn path=/trunk/; revision=18351
2005-10-08 19:07:39 +00:00
|
|
|
#define DEFINE_THIS(cls,ifc,iface) ((cls*)((BYTE*)(iface)-offsetof(cls,lp ## ifc ## Vtbl)))
|
|
|
|
|
2005-07-31 12:11:56 +00:00
|
|
|
/**********************************************************************
|
|
|
|
* Dll lifetime tracking declaration for shdocvw.dll
|
|
|
|
*/
|
|
|
|
extern LONG SHDOCVW_refCount;
|
2005-08-05 08:02:09 +00:00
|
|
|
static inline void SHDOCVW_LockModule(void) { InterlockedIncrement( &SHDOCVW_refCount ); }
|
|
|
|
static inline void SHDOCVW_UnlockModule(void) { InterlockedDecrement( &SHDOCVW_refCount ); }
|
2005-07-31 12:11:56 +00:00
|
|
|
|
2005-11-26 09:40:12 +00:00
|
|
|
extern HINSTANCE shdocvw_hinstance;
|
2009-02-04 14:35:06 +00:00
|
|
|
extern void register_iewindow_class(void);
|
|
|
|
extern void unregister_iewindow_class(void);
|
|
|
|
|
|
|
|
HRESULT register_class_object(BOOL);
|
|
|
|
HRESULT get_typeinfo(ITypeInfo**);
|
|
|
|
DWORD register_iexplore(BOOL);
|
|
|
|
|
2010-03-02 19:38:02 +00:00
|
|
|
const char *debugstr_variant(const VARIANT*);
|
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
/* memory allocation functions */
|
|
|
|
|
|
|
|
static inline void *heap_alloc(size_t len)
|
|
|
|
{
|
|
|
|
return HeapAlloc(GetProcessHeap(), 0, len);
|
|
|
|
}
|
|
|
|
|
2010-03-21 15:08:31 +00:00
|
|
|
static inline void *heap_alloc_zero(size_t len)
|
|
|
|
{
|
|
|
|
return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len);
|
|
|
|
}
|
|
|
|
|
2009-02-04 14:35:06 +00:00
|
|
|
static inline void *heap_realloc(void *mem, size_t len)
|
|
|
|
{
|
|
|
|
return HeapReAlloc(GetProcessHeap(), 0, mem, len);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline BOOL heap_free(void *mem)
|
|
|
|
{
|
|
|
|
return HeapFree(GetProcessHeap(), 0, mem);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline LPWSTR heap_strdupW(LPCWSTR str)
|
|
|
|
{
|
|
|
|
LPWSTR ret = NULL;
|
|
|
|
|
|
|
|
if(str) {
|
|
|
|
DWORD size;
|
|
|
|
|
|
|
|
size = (strlenW(str)+1)*sizeof(WCHAR);
|
|
|
|
ret = heap_alloc(size);
|
|
|
|
memcpy(ret, str, size);
|
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline LPWSTR co_strdupW(LPCWSTR str)
|
|
|
|
{
|
|
|
|
WCHAR *ret = CoTaskMemAlloc((strlenW(str) + 1)*sizeof(WCHAR));
|
|
|
|
if (ret)
|
|
|
|
lstrcpyW(ret, str);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline LPWSTR co_strdupAtoW(LPCSTR str)
|
|
|
|
{
|
|
|
|
INT len;
|
|
|
|
WCHAR *ret;
|
|
|
|
len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
|
|
|
|
ret = CoTaskMemAlloc(len*sizeof(WCHAR));
|
|
|
|
if (ret)
|
|
|
|
MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline LPSTR co_strdupWtoA(LPCWSTR str)
|
|
|
|
{
|
|
|
|
INT len;
|
|
|
|
CHAR *ret;
|
|
|
|
len = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, 0, 0);
|
|
|
|
ret = CoTaskMemAlloc(len);
|
|
|
|
if (ret)
|
|
|
|
WideCharToMultiByte(CP_ACP, 0, str, -1, ret, len, 0, 0);
|
|
|
|
return ret;
|
|
|
|
}
|
2005-11-26 09:40:12 +00:00
|
|
|
|
2005-07-31 12:11:56 +00:00
|
|
|
#endif /* __WINE_SHDOCVW_H */
|