2/4 patches for compilation of ATL & MFC

Boaz Harrosh boaz at electrozaur.com
Thu Mar 11 11:27:48 CST 2004


PATCH 2 ForAtlMfc.diff
  some fixes and additional files needed by ATL/MFC

- include/Makefile.in
    Added some new .idl files, see below

- include/expdisp.idl
    Add the DWebBrowserEvents + the IWebBrowser2 and events

- include/expdispid.h (new)
   needed by expdisp.idl and ATL code

- include/olectl.h
   the font constant will not compile. I think it should also be fixed for c but I can't be sure.
It was written like in MS headers, MSVC will compile it, but GCC will not. The way I did it works for both. 

- include/mshtmhst.idl (new)
    other Interfaces related to IE that are not present in expdisp.idl

- include/msstkppg.h (new)
    some GUIDs used by MFC

- include/objsafe.idl (new)
    common Interface also used by ATL

*  Not all Interfaces needed by AT/MFC are included here. These are the more commons that I have found used in other places. I will have available Makefiles, extra headers, directory listings, documentation ,demo applications, that are needed to compile MFC/ATL. One could grab the missing Interfaces together with the MFC/ATL source code, from where ever he/she Legally got them.






-------------- next part --------------
Index: include/Makefile.in
===================================================================
RCS file: /home/wine/wine/include/Makefile.in,v
retrieving revision 1.121
diff -u -r1.121 Makefile.in
--- include/Makefile.in	9 Mar 2004 01:29:56 -0000	1.121
+++ include/Makefile.in	10 Mar 2004 08:36:46 -0000
@@ -23,7 +23,9 @@
 	strmif.idl \
 	unknwn.idl \
 	urlmon.idl \
-	wtypes.idl
+	wtypes.idl \
+	mshtmhst.idl \
+	objsafe.idl

 IDL_INCLUDES = \
 	axcore.idl \
Index: include/exdisp.idl
===================================================================
RCS file: /home/wine/wine/include/exdisp.idl,v
retrieving revision 1.1
diff -u -r1.1 exdisp.idl
--- include/exdisp.idl	4 Sep 2003 02:00:46 -0000	1.1
+++ include/exdisp.idl	10 Mar 2004 08:36:46 -0000
@@ -84,6 +84,81 @@
     HRESULT get_Busy([out] VARIANT_BOOL *pBool);
 }

+#include "exdispid.h"
+/*****************************************************************************
+ * DWebBrowserEvents: This Interface is the Events from the IWebBrowser above
+ */
+[
+    oleautomation,
+	uuid(EAB22AC2-30C1-11CF-A7EB-0000C05BAE0B)
+]
+dispinterface DWebBrowserEvents
+{
+	properties:
+	methods:
+	[id(DISPID_BEFORENAVIGATE)]
+	void BeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel);
+
+	[id(DISPID_NAVIGATECOMPLETE)]
+	void NavigateComplete([in] BSTR URL );
+
+	[id(DISPID_STATUSTEXTCHANGE)]
+	void StatusTextChange([in]BSTR Text);
+
+	[id(DISPID_PROGRESSCHANGE)]
+	void ProgressChange([in] long Progress, [in] long ProgressMax);
+
+	[id(DISPID_DOWNLOADCOMPLETE)]
+	void DownloadComplete();
+
+	[id(DISPID_COMMANDSTATECHANGE)]
+	void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
+
+	[id(DISPID_DOWNLOADBEGIN)]
+	void DownloadBegin();
+
+	[id(DISPID_NEWWINDOW)]
+	void NewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed);
+
+	[id(DISPID_TITLECHANGE)]
+	void TitleChange([in]BSTR Text);
+
+	[id(DISPID_FRAMEBEFORENAVIGATE)]
+	void FrameBeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel);
+
+	[id(DISPID_FRAMENAVIGATECOMPLETE)]
+	void FrameNavigateComplete([in] BSTR URL );
+
+	[id(DISPID_FRAMENEWWINDOW)]
+	void FrameNewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed);
+
+
+
+	[id(DISPID_QUIT)]
+	void Quit([in, out] VARIANT_BOOL * Cancel);
+
+	[id(DISPID_WINDOWMOVE)]
+	void WindowMove();
+
+	[id(DISPID_WINDOWRESIZE)]
+	void WindowResize();
+
+	[id(DISPID_WINDOWACTIVATE)]
+	void WindowActivate();
+
+	[id(DISPID_PROPERTYCHANGE)]
+	void PropertyChange([in] BSTR Property);
+}
+
+typedef
+[
+	uuid(34A226E0-DF30-11CF-89A9-00A0C9054129)
+]
+enum CommandStateChangeConstants {
+	CSC_UPDATECOMMANDS  = 0xFFFFFFFF,
+	CSC_NAVIGATEFORWARD = 0x00000001,
+	CSC_NAVIGATEBACK    = 0x00000002,
+} CommandStateChangeConstants;

 /*****************************************************************************
  * IWebBrowserApp interface
@@ -117,5 +192,138 @@
     HRESULT put_FullScreen([in] VARIANT_BOOL bFullScreen);
 }
 
+/*****************************************************************************
+ * IWebBrowser2 interface
+ */
+[
+    object,
+    oleautomation,
+	dual,
+	uuid(D30C1661-CDAF-11d0-8A3E-00C04FC9E26E)
+]
+interface IWebBrowser2 : IWebBrowserApp
+{
+	[id(500)]
+	HRESULT Navigate2([in] VARIANT * URL,
+					[in] VARIANT * Flags,
+					[in] VARIANT * TargetFrameName,
+					[in] VARIANT * PostData,
+					[in] VARIANT * Headers);
+
+
+	[id(501)]
+	HRESULT QueryStatusWB([in] OLECMDID cmdID, [out, retval] OLECMDF * pcmdf);
+	[id(502)]
+	HRESULT ExecWB([in] OLECMDID cmdID, [in] OLECMDEXECOPT cmdexecopt, [in] VARIANT * pvaIn, [out, in] VARIANT * pvaOut);
+	[id(503)]
+	HRESULT ShowBrowserBar( [in] VARIANT * pvaClsid,
+							[in] VARIANT * pvarShow,
+							[in] VARIANT * pvarSize );
+
+	[id(DISPID_READYSTATE)]
+	HRESULT get_ReadyState([retval, out] READYSTATE * plReadyState);
+
+	[id(550)]
+	HRESULT get_Offline([out, retval] VARIANT_BOOL * pbOffline);
+	[id(550)]
+	HRESULT put_Offline([in] VARIANT_BOOL bOffline);
+
+	[id(551)]
+	HRESULT get_Silent([out, retval] VARIANT_BOOL * pbSilent);
+	[id(551)]
+	HRESULT put_Silent([in] VARIANT_BOOL bSilent);
+
+	[id(552)]
+	HRESULT get_RegisterAsBrowser([out, retval] VARIANT_BOOL * pbRegister);
+	[id(552)]
+	HRESULT put_RegisterAsBrowser([in] VARIANT_BOOL bRegister);
+
+	[id(553)]
+	HRESULT get_RegisterAsDropTarget([out, retval] VARIANT_BOOL * pbRegister);
+	[id(553)]
+	HRESULT put_RegisterAsDropTarget([in] VARIANT_BOOL bRegister);
+
+	[id(554)]
+	HRESULT get_TheaterMode([out, retval] VARIANT_BOOL * pbRegister);
+	[id(554)]
+	HRESULT put_TheaterMode([in] VARIANT_BOOL bRegister);
+
+	[id(555)]
+	HRESULT get_AddressBar([out, retval] VARIANT_BOOL * Value);
+	[id(555)]
+	HRESULT put_AddressBar([in] VARIANT_BOOL Value);
+
+	[id(556)]
+	HRESULT get_Resizable([out, retval] VARIANT_BOOL * Value);
+	[id(556)]
+	HRESULT put_Resizable([in] VARIANT_BOOL Value);
+}
+
+[
+    oleautomation,
+	uuid(34A715A0-6587-11D0-924A-0020AFC7AC4D)
+]
+interface DWebBrowserEvents2 : IDispatch
+{
+	[id(DISPID_STATUSTEXTCHANGE)]
+	void StatusTextChange([in]BSTR Text);
+
+	[id(DISPID_PROGRESSCHANGE)]
+	void ProgressChange([in] long Progress, [in] long ProgressMax);
+
+	[id(DISPID_COMMANDSTATECHANGE)]
+	void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
+
+	[id(DISPID_DOWNLOADBEGIN)]
+	void DownloadBegin();
+
+	[id(DISPID_DOWNLOADCOMPLETE)]
+	void DownloadComplete();
+
+	[id(DISPID_TITLECHANGE)]
+	void TitleChange([in] BSTR Text);
+
+	[id(DISPID_PROPERTYCHANGE)]
+	void PropertyChange([in] BSTR szProperty);
+
+
+
+	[id(DISPID_BEFORENAVIGATE2)]
+	void BeforeNavigate2([in] IDispatch* pDisp,
+						[in] VARIANT * URL, [in] VARIANT * Flags, [in] VARIANT * TargetFrameName, [in] VARIANT * PostData, [in] VARIANT * Headers,
+						[in,out] VARIANT_BOOL * Cancel);
+
+	[id(DISPID_NEWWINDOW2)]
+	void NewWindow2([in, out] IDispatch** ppDisp, [in, out] VARIANT_BOOL * Cancel);
+
+	[id(DISPID_NAVIGATECOMPLETE2)]
+	void NavigateComplete2([in] IDispatch* pDisp, [in] VARIANT * URL );
+
+	[id(DISPID_DOCUMENTCOMPLETE)]
+	void DocumentComplete([in] IDispatch* pDisp, [in] VARIANT * URL );
+
+	[id(DISPID_ONQUIT)]
+	void OnQuit();
+
+	[id(DISPID_ONVISIBLE)]
+	void OnVisible([in] VARIANT_BOOL Visible);
+
+	[id(DISPID_ONTOOLBAR)]
+	void OnToolBar([in] VARIANT_BOOL ToolBar);
+
+	[id(DISPID_ONMENUBAR)]
+	void OnMenuBar([in] VARIANT_BOOL MenuBar);
+
+	[id(DISPID_ONSTATUSBAR)]
+	void OnStatusBar([in] VARIANT_BOOL StatusBar);
+
+	[id(DISPID_ONFULLSCREEN)]
+	void OnFullScreen([in] VARIANT_BOOL FullScreen);
+
+	[id(DISPID_ONTHEATERMODE)]
+	void OnTheaterMode([in] VARIANT_BOOL TheaterMode);
+}
+
 /* FIXME */
 cpp_quote("DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2);")
+cpp_quote("DEFINE_GUID(CLSID_InternetExplorer, 0x0002DF01, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);")
Index: include/olectl.h
===================================================================
RCS file: /home/wine/wine/include/olectl.h,v
retrieving revision 1.19
diff -u -r1.19 olectl.h
--- include/olectl.h	5 Sep 2003 23:15:44 -0000	1.19
+++ include/olectl.h	10 Mar 2004 08:36:47 -0000
@@ -19,6 +19,8 @@
 #ifndef __WINE_OLECTL_H
 #define __WINE_OLECTL_H

+#if !defined(__WIDL__)
+
 #include <ocidl.h>

 #ifdef __cplusplus
@@ -97,7 +99,11 @@
   BOOL     fStrikethrough;
 } FONTDESC, *LPFONTDESC;

-#define FONTSIZE(n) { n##0000, 0 }
+#ifdef __cplusplus
+#   define FONTSIZE(n) { n##0000 }
+#else
+#   define FONTSIZE(n) { n##0000, 0 }
+#endif /*__cplusplus*/

 #define PICTYPE_UNINITIALIZED (-1)
 #define PICTYPE_NONE          0
@@ -169,6 +175,8 @@

 HRESULT WINAPI OleTranslateColor( OLE_COLOR clr, HPALETTE hpal,
 		COLORREF* lpcolorref);
+
+#endif /*!defined(__WIDL__)*/

 /* standard dispatch ID's */
 #define DISPID_AUTOSIZE                 (-500)
--- /dev/null	1970-01-01 02:00:00.000000000 +0200
+++ include/mshtmhst.idl	2004-01-12 14:11:33.000000000 +0200
@@ -0,0 +1,223 @@
+/*
+ * Defines advanced COM interfaces and APIs related to the IE Web browser
+ *
+ * Copyright (C) 2004 wine project
+ *
+ * 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
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+
+cpp_quote("#define CONTEXT_MENU_DEFAULT        0")
+cpp_quote("#define CONTEXT_MENU_IMAGE          1")
+cpp_quote("#define CONTEXT_MENU_CONTROL        2")
+cpp_quote("#define CONTEXT_MENU_TABLE          3")
+cpp_quote("/* in browse mode*/")
+cpp_quote("#define CONTEXT_MENU_TEXTSELECT     4")
+cpp_quote("#define CONTEXT_MENU_ANCHOR         5")
+cpp_quote("#define CONTEXT_MENU_UNKNOWN        6")
+cpp_quote("#define CONTEXT_MENU_IMGDYNSRC      7")
+cpp_quote("#define CONTEXT_MENU_IMGART         8")
+cpp_quote("#define CONTEXT_MENU_DEBUG          9")
+
+cpp_quote("#define MENUEXT_SHOWDIALOG           0x1")
+
+cpp_quote("#define DOCHOSTUIFLAG_BROWSER       DOCHOSTUIFLAG_DISABLE_HELP_MENU | DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE ")
+
+import "ocidl.idl";
+import "objidl.idl";
+import "oleidl.idl";
+import "oaidl.idl";
+import "docobj.idl";
+/*import "mshtml.idl";*/
+
+/* FIXME
+cpp_quote("EXTERN_C const GUID CGID_MSHTML;")
+cpp_quote("#define CMDSETID_Forms3 CGID_MSHTML")
+cpp_quote("#define SZ_HTML_CLIENTSITE_OBJECTPARAM L\"{d4db6850-5385-11d0-89e9-00a0c90a90ac}\"")
+*/
+
+cpp_quote("typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGFN (HWND hwndParent, IMoniker *pmk, VARIANT *pvarArgIn, TCHAR* pchOptions, VARIANT *pvArgOut);")
+
+cpp_quote("STDAPI ShowHTMLDialog(     ")
+cpp_quote("    HWND        hwndParent,")
+cpp_quote("    IMoniker *  pMk,       ")
+cpp_quote("    VARIANT *   pvarArgIn, ")
+cpp_quote("    TCHAR *     pchOptions,")
+cpp_quote("    VARIANT *   pvarArgOut ")
+cpp_quote(");                         ")
+
+/*****************************************************************************
+ * IDocHostUIHandler interface
+ */
+
+typedef
+enum tagDOCHOSTUITYPE {
+        DOCHOSTUITYPE_BROWSE    = 0,
+        DOCHOSTUITYPE_AUTHOR    = 1,
+} DOCHOSTUITYPE;
+
+typedef enum tagDOCHOSTUIDBLCLK {
+        DOCHOSTUIDBLCLK_DEFAULT         = 0,
+        DOCHOSTUIDBLCLK_SHOWPROPERTIES  = 1,
+        DOCHOSTUIDBLCLK_SHOWCODE        = 2,
+} DOCHOSTUIDBLCLK ;
+
+typedef enum tagDOCHOSTUIFLAG {
+        DOCHOSTUIFLAG_DIALOG            = 1,
+        DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2,
+        DOCHOSTUIFLAG_NO3DBORDER        = 4,
+        DOCHOSTUIFLAG_SCROLL_NO         = 8,
+        DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 16,
+        DOCHOSTUIFLAG_OPENNEWWIN        = 32,
+        DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 64,
+        DOCHOSTUIFLAG_FLAT_SCROLLBAR = 128,
+        DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 256,
+        DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 512,
+        DOCHOSTUIFLAG_DISABLE_COOKIE = 1024,
+} DOCHOSTUIFLAG ;
+
+
+[
+        object,
+        uuid(bd3f23c0-d43e-11cf-893b-00aa00bdce1a),
+        pointer_default(unique),
+        local
+]
+interface IDocHostUIHandler : IUnknown
+{
+
+    typedef struct _DOCHOSTUIINFO
+    {
+        ULONG cbSize;
+        DWORD dwFlags;
+        DWORD dwDoubleClick;
+    } DOCHOSTUIINFO;
+
+    HRESULT ShowContextMenu(
+            [in] DWORD dwID, 
+            [in] POINT* ppt, 
+            [in] IUnknown* pcmdtReserved,  
+            [in] IDispatch* pdispReserved);
+    HRESULT GetHostInfo([in, out] DOCHOSTUIINFO * pInfo);
+    HRESULT ShowUI(
+            [in] DWORD dwID,
+            [in] IOleInPlaceActiveObject * pActiveObject,
+            [in] IOleCommandTarget * pCommandTarget,
+            [in] IOleInPlaceFrame * pFrame,
+            [in] IOleInPlaceUIWindow * pDoc);
+    HRESULT HideUI();
+    HRESULT UpdateUI();
+    HRESULT EnableModeless([in] BOOL fEnable);
+    HRESULT OnDocWindowActivate([in] BOOL fActivate);
+    HRESULT OnFrameWindowActivate([in] BOOL fActivate);
+    HRESULT ResizeBorder(
+            [in] LPCRECT prcBorder,
+            [in] IOleInPlaceUIWindow * pUIWindow,
+            [in] BOOL fRameWindow);
+    HRESULT TranslateAccelerator(
+            [in] LPMSG lpMsg,
+            [in] const GUID * pguidCmdGroup, 
+            [in] DWORD nCmdID);
+    HRESULT GetOptionKeyPath([out] LPOLESTR * pchKey, [in] DWORD dw);
+    HRESULT GetDropTarget(
+            [in] IDropTarget * pDropTarget, 
+            [out] IDropTarget ** ppDropTarget);
+    HRESULT GetExternal([out] IDispatch **ppDispatch);
+    HRESULT TranslateUrl([in]DWORD dwTranslate, [in]OLECHAR *pchURLIn, [out]OLECHAR **ppchURLOut);
+    HRESULT FilterDataObject([in]IDataObject *pDO, [out]IDataObject **ppDORet);
+}
+
+
+//-------------------------------------------------------------------------
+//  ICustomDoc
+//
+//-------------------------------------------------------------------------
+
+[
+        object,
+        uuid(3050f3f0-98b5-11cf-bb82-00aa00bdce0b),
+        pointer_default(unique),
+        local
+]
+interface ICustomDoc : IUnknown
+{
+    HRESULT SetUIHandler(
+            [in] IDocHostUIHandler * pUIHandler); 
+}
+
+//-------------------------------------------------------------------------
+//  IDocHostShowUI
+//
+//-------------------------------------------------------------------------
+
+[
+        object,
+        uuid(c4d244b0-d43e-11cf-893b-00aa00bdce1a),
+        pointer_default(unique),
+        local
+]
+interface IDocHostShowUI : IUnknown
+{
+    HRESULT ShowMessage(
+            [in] HWND hwnd,
+            [in] LPOLESTR lpstrText,
+            [in] LPOLESTR lpstrCaption,
+            [in] DWORD dwType,
+            [in] LPOLESTR lpstrHelpFile,
+            [in] DWORD dwHelpContext,
+            [out] LRESULT * plResult);
+    HRESULT ShowHelp(
+            [in] HWND hwnd,
+            [in] LPOLESTR pszHelpFile,
+            [in] UINT uCommand,
+            [in] DWORD dwData,
+            [in] POINT ptMouse,
+            [out] IDispatch * pDispatchObjectHit);
+}
+
+/*
+//-------------------------------------------------------------------------
+//  ICSSFilterSite
+//
+//-------------------------------------------------------------------------
+[
+	odl,
+	oleautomation,
+	dual,
+	uuid(3050f3ed-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface ICSSFilterSite : IUnknown
+{
+	[] HRESULT GetElement([retval, out] IHTMLElement** ppElem);
+	[] HRESULT FireOnFilterChangeEvent();
+};
+
+
+//-------------------------------------------------------------------------
+//  ICSSFilter
+//
+//-------------------------------------------------------------------------
+[
+	odl,
+	oleautomation,
+	dual,
+	uuid(3050f3ec-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface ICSSFilter : IUnknown
+{
+	[] HRESULT SetSite([in] ICSSFilterSite* pSink);
+	[] HRESULT OnAmbientPropertyChange([in] LONG dispid);
+};
+*/
--- /dev/null	1970-01-01 02:00:00.000000000 +0200
+++ include/msstkppg.h	2004-01-14 19:41:33.000000000 +0200
@@ -0,0 +1,33 @@
+/*
+ * CLSIDs for msprop32 property pages.
+ *
+ * Copyright (C) the Wine project
+ *
+ * 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
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#if !defined(WINE_MSSTKPPG_H)
+#define WINE_MSSTKPPG_H
+
+/* {7EBDAAE0-8120-11cf-899F-00AA00688B10}*/
+DEFINE_GUID(CLSID_StockFontPage, 0x7ebdaae0, 0x8120, 0x11cf, 0x89, 0x9f, 0x0, 0xaa, 0x0, 0x68, 0x8b, 0x10);
+
+/* {7EBDAAE1-8120-11cf-899F-00AA00688B10}*/
+DEFINE_GUID(CLSID_StockColorPage, 0x7ebdaae1, 0x8120, 0x11cf, 0x89, 0x9f, 0x0, 0xaa, 0x0, 0x68, 0x8b, 0x10);
+
+/* {7EBDAAE2-8120-11cf-899F-00AA00688B10}*/
+DEFINE_GUID(CLSID_StockPicturePage, 0x7ebdaae2, 0x8120, 0x11cf, 0x89, 0x9f, 0x0, 0xaa, 0x0, 0x68, 0x8b, 0x10);
+
+#endif /* WINE_MSSTKPPG_H*/
--- /dev/null	1970-01-01 02:00:00.000000000 +0200
+++ include/objsafe.idl	2004-03-10 11:44:43.000000000 +0200
@@ -0,0 +1,52 @@
+/*
+ * objsafe.idl
+ * Object Safety Interfaces
+ *
+ * Copyright (C) wine
+ *
+ * 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
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+cpp_quote("")
+import "unknwn.idl";
+cpp_quote("")
+cpp_quote("/* Masks used in IObjectSafety:*/")
+cpp_quote("#define	INTERFACESAFE_FOR_UNTRUSTED_CALLER	0x00000001" )
+cpp_quote("#define	INTERFACESAFE_FOR_UNTRUSTED_DATA	0x00000002" )
+cpp_quote("#define	INTERFACE_USES_DISPEX	            0x00000004" )
+cpp_quote("#define	INTERFACE_USES_SECURITY_MANAGER	    0x00000008" )
+cpp_quote("")
+cpp_quote("EXTERN_C GUID CATID_SafeForScripting;")
+cpp_quote("EXTERN_C GUID CATID_SafeForInitializing;")
+cpp_quote("")
+
+[
+	object,
+	uuid(CB5BDC81-93C1-11cf-8F20-00805F2CD064)
+]
+interface IObjectSafety : IUnknown
+{
+	HRESULT GetInterfaceSafetyOptions(
+		[in]  REFIID	riid,
+		[out] DWORD	*	pdwSupportedOptions,
+		[out] DWORD *	pdwEnabledOptions);
+
+	HRESULT SetInterfaceSafetyOptions(
+		[in]  REFIID	riid,
+		[in]  DWORD		dwOptionSetMask,
+		[in]  DWORD		dwEnabledOptions);
+}
+
+typedef [unique] IObjectSafety *LPOBJECTSAFETY;
--- /dev/null	1970-01-01 02:00:00.000000000 +0200
+++ include/exdispid.h	2004-03-10 12:57:25.000000000 +0200
@@ -0,0 +1,57 @@
+/*
+ * IDs used by exdisp.idl
+ *
+ */
+
+#ifndef WINE_EXDISPID_H__
+#define WINE_EXDISPID_H__
+
+#define DISPID_BEFORENAVIGATE     100
+#define DISPID_NAVIGATECOMPLETE   101
+#define DISPID_STATUSTEXTCHANGE   102
+#define DISPID_QUIT               103
+#define DISPID_DOWNLOADCOMPLETE   104
+#define DISPID_COMMANDSTATECHANGE 105
+#define DISPID_DOWNLOADBEGIN      106
+#define DISPID_NEWWINDOW          107
+#define DISPID_PROGRESSCHANGE     108
+#define DISPID_WINDOWMOVE         109
+#define DISPID_WINDOWRESIZE       110
+#define DISPID_WINDOWACTIVATE     111
+#define DISPID_PROPERTYCHANGE     112
+#define DISPID_TITLECHANGE        113
+
+#define DISPID_FRAMEBEFORENAVIGATE    200
+#define DISPID_FRAMENAVIGATECOMPLETE  201
+#define DISPID_FRAMENEWWINDOW         204
+
+#define DISPID_BEFORENAVIGATE2      250
+#define DISPID_NEWWINDOW2           251
+#define DISPID_NAVIGATECOMPLETE2    252
+#define DISPID_ONQUIT               253
+#define DISPID_ONVISIBLE            254
+#define DISPID_ONTOOLBAR            255
+#define DISPID_ONMENUBAR            256
+#define DISPID_ONSTATUSBAR          257
+#define DISPID_ONFULLSCREEN         258
+#define DISPID_DOCUMENTCOMPLETE     259
+#define DISPID_ONTHEATERMODE        260
+#define DISPID_ONADDRESSBAR         261
+
+#define DISPID_SELECTIONCHANGED     200
+
+#define DISPID_WINDOWREGISTERED     200
+#define DISPID_WINDOWREVOKED        201
+
+#define DISPID_RESETFIRSTBOOTMODE       1
+#define DISPID_RESETSAFEMODE            2
+#define DISPID_REFRESHOFFLINEDESKTOP    3
+#define DISPID_ADDFAVORITE              4
+#define DISPID_ADDCHANNEL               5
+#define DISPID_ADDDESKTOPCOMPONENT      6
+#define DISPID_ISSUBSCRIBED             7
+#define DISPID_SHELLUIHELPERLAST        7
+
+#define DISPID_READYSTATE               (-525)
+
+#endif /* WINE_EXDISPID_H__*/






More information about the wine-devel mailing list