* include/aclui.h: Replace __OBJC__ guard with _OBJC_NO_COM.

* include/basetyps.h:  Likewise.
 	(_COM_interface): New define.
	(interface): Define to _COM_interface, conditional on !__OBJC__.
	Replace 'interface' with '_COM_interface', throughout.
  	* include/comcat.h: Replace 'interface' with '_COM_interface', throughout.
	* include/commdlg.h: Replace __OBJC__ guard with _OBJC_NO_COM.
	* include/docobj.h: Replace 'interface' with '_COM_interface', throughout.
	* include/mshtml.h: Likewise.
	* include/oaidl.h: Likewise.
	* include/objfwd.h: Likewise.
	* include/objidl.h: Likewise.
	* include/ocidl.h: Likwise.
	* include/olectl.h: Likewise.
	* include/oleidl.h: Likewise.
	* include/shlobj.h: Likewise.
	* include/shlwapi.h: Replace __OBJC__ guard with _OBJC_NO_COM.
	* include/vfw.h: Likewise.
	* include/windows.h. Likewise. Add comment.
	* include/directx/d3d9.h: Replace 'interface' with '_COM_interface',
	throughout.

	* lib/test.c: Replace __OBJC__ guard with _OBJC_NO_COM.
	Add test for conflict with '@interface'
This commit is contained in:
Danny Smith 2006-07-25 00:22:19 +00:00
parent e7a8c11c0f
commit d2d223b580
20 changed files with 238 additions and 192 deletions

View File

@ -1,3 +1,31 @@
2006-07-25 Danny Smith <dannysmith@users.sourceforge.net>
* include/aclui.h: Replace __OBJC__ guard with _OBJC_NO_COM.
* include/basetyps.h: Likewise.
(_COM_interface): New define.
(interface): Define to _COM_interface, conditional on !__OBJC__.
Replace 'interface' with '_COM_interface', throughout.
* include/comcat.h: Replace 'interface' with '_COM_interface', throughout.
* include/commdlg.h: Replace __OBJC__ guard with _OBJC_NO_COM.
* include/docobj.h: Replace 'interface' with '_COM_interface', throughout.
* include/mshtml.h: Likewise.
* include/oaidl.h: Likewise.
* include/objfwd.h: Likewise.
* include/objidl.h: Likewise.
* include/ocidl.h: Likwise.
* include/olectl.h: Likewise.
* include/oleidl.h: Likewise.
* include/shlobj.h: Likewise.
* include/shlwapi.h: Replace __OBJC__ guard with _OBJC_NO_COM.
* include/vfw.h: Likewise.
* include/windows.h. Likewise. Add comment.
* include/directx/d3d9.h: Replace 'interface' with '_COM_interface',
throughout.
* lib/test.c: Replace __OBJC__ guard with _OBJC_NO_COM.
Add test for conflict with '@interface'
2006-07-22 ipsoner <ipsoner@users.sourceforge.net>
* include/wincrypt.h (szOID_RSA, szOID_PKCS, szOID_RSA_HASH,
@ -61,7 +89,7 @@
2006-07-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/uuid.c: Remove.
* lib/uuid.c: Remove.
2006-07-20 Elias Naur <elias_naur@users.sourceforge.net>

View File

@ -4,7 +4,7 @@
#pragma GCC system_header
#endif
#ifndef __OBJC__
#ifndef _OBJC_NO_COM
#include <objbase.h>
#include <commctrl.h>
#include <accctrl.h>

View File

@ -4,7 +4,7 @@
#pragma GCC system_header
#endif
#ifndef __OBJC__
#ifndef _OBJC_NO_COM_
# ifdef __cplusplus
# define EXTERN_C extern "C"
# else
@ -40,7 +40,14 @@
# define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE
# define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
# define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE
# define interface struct
/* Newer MS compilers support the __interface keyword, but
that has a specific meaning that is enforced by the compiler.
For now, just get 'interface' out of the global namespace
for __OBJC__ */
# define _COM_interface struct
# ifndef __OBJC__
# define interface _COM_interface
# endif
# if defined(__cplusplus) && !defined(CINTERFACE)
# define STDMETHOD(m) virtual HRESULT STDMETHODCALLTYPE m
# define STDMETHOD_(t,m) virtual t STDMETHODCALLTYPE m
@ -52,11 +59,11 @@
g++ vtables are now COM-compatible by default
*/
# if defined(__GNUC__) && __GNUC__ < 3 && !defined(NOCOMATTRIBUTE)
# define DECLARE_INTERFACE(i) interface __attribute__((com_interface)) i
# define DECLARE_INTERFACE_(i,b) interface __attribute__((com_interface)) i : public b
# define DECLARE_INTERFACE(i) _COM_interface __attribute__((com_interface)) i
# define DECLARE_INTERFACE_(i,b) _COM_interface __attribute__((com_interface)) i : public b
# else
# define DECLARE_INTERFACE(i) interface i
# define DECLARE_INTERFACE_(i,b) interface i : public b
# define DECLARE_INTERFACE(i) _COM_interface i
# define DECLARE_INTERFACE_(i,b) _COM_interface i : public b
# endif
# else
# define STDMETHOD(m) HRESULT(STDMETHODCALLTYPE *m)
@ -68,7 +75,7 @@
# define CONST_VTABLE
# endif
# define DECLARE_INTERFACE(i) \
typedef interface i { CONST_VTABLE struct i##Vtbl *lpVtbl; } i; \
typedef _COM_interface i { CONST_VTABLE struct i##Vtbl *lpVtbl; } i; \
typedef CONST_VTABLE struct i##Vtbl i##Vtbl; \
CONST_VTABLE struct i##Vtbl
# define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i)
@ -76,7 +83,7 @@
# define BEGIN_INTERFACE
# define END_INTERFACE
# define FWD_DECL(i) typedef interface i i
# define FWD_DECL(i) typedef _COM_interface i i
# if defined(__cplusplus) && !defined(CINTERFACE)
# define IENUM_THIS(T)
# define IENUM_THIS_(T)
@ -97,7 +104,7 @@
}
# define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T)
#endif /* __OBJC__ */
#endif /* _OBJC_NO_COM_ */
#ifdef _GUID_DEFINED
# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
@ -169,4 +176,4 @@ typedef unsigned long PROPID;
#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n
#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
#endif
#endif
#endif

View File

@ -16,7 +16,7 @@ extern "C"{
#endif
EXTERN_C const IID IID_IEnumGUID;
typedef interface IEnumGUID *LPENUMGUID;
typedef _COM_interface IEnumGUID *LPENUMGUID;
#define INTERFACE IEnumGUID
DECLARE_INTERFACE_(IEnumGUID,IUnknown)
@ -79,13 +79,13 @@ EXTERN_C const CATID CATID_DesignTimeUIActivatableControl;
#define IID_IEnumCLSID IID_IEnumGUID
EXTERN_C const IID IID_ICatInformation;
typedef interface ICatInformation *LPCATINFORMATION;
typedef _COM_interface ICatInformation *LPCATINFORMATION;
EXTERN_C const IID IID_ICatRegister;
typedef interface ICatRegister *LPCATREGISTER;
typedef _COM_interface ICatRegister *LPCATREGISTER;
EXTERN_C const IID IID_IEnumCATEGORYINFO;
typedef interface IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
typedef _COM_interface IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;

View File

@ -466,7 +466,7 @@ typedef struct tagPDW {
HANDLE hPrintTemplate;
HANDLE hSetupTemplate;
} PRINTDLGW,*LPPRINTDLGW;
#if (WINVER >= 0x0500) && !defined (__OBJC__)
#if (WINVER >= 0x0500) && !defined (_OBJC_NO_COM)
#include <unknwn.h> /* for LPUNKNOWN */
#include <prsht.h> /* for HPROPSHEETPAGE */
typedef struct tagPRINTPAGERANGE {
@ -540,7 +540,7 @@ BOOL WINAPI PrintDlgA(LPPRINTDLGA);
BOOL WINAPI PrintDlgW(LPPRINTDLGW);
HWND WINAPI ReplaceTextA(LPFINDREPLACEA);
HWND WINAPI ReplaceTextW(LPFINDREPLACEW);
#if (WINVER >= 0x0500) && !defined (__OBJC__)
#if (WINVER >= 0x0500) && !defined (_OBJC_NO_COM)
HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA);
HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW);
#endif /* WINVER >= 0x0500 */
@ -569,7 +569,7 @@ typedef PRINTDLGW PRINTDLG,*LPPRINTDLG;
#define PageSetupDlg PageSetupDlgW
#define PrintDlg PrintDlgW
#define ReplaceText ReplaceTextW
#if (WINVER >= 0x0500) && !defined (__OBJC__)
#if (WINVER >= 0x0500) && !defined (_OBJC_NO_COM)
typedef PRINTDLGEXW PRINTDLGEX, *LPPRINTDLGEX;
#define PrintDlgEx PrintDlgExW
#endif /* WINVER >= 0x0500 */
@ -597,7 +597,7 @@ typedef PRINTDLGA PRINTDLG,*LPPRINTDLG;
#define PageSetupDlg PageSetupDlgA
#define PrintDlg PrintDlgA
#define ReplaceText ReplaceTextA
#if (WINVER >= 0x0500) && !defined (__OBJC__)
#if (WINVER >= 0x0500) && !defined (_OBJC_NO_COM)
typedef PRINTDLGEXA PRINTDLGEX, *LPPRINTDLGEX;
#define PrintDlgEx PrintDlgExA
#endif /* WINVER >= 0x0500 */

View File

@ -98,23 +98,23 @@ extern const GUID IID_IDirect3DQuery9;
};
#endif
typedef interface IDirect3D9 IDirect3D9;
typedef interface IDirect3DDevice9 IDirect3DDevice9;
typedef interface IDirect3DVolume9 IDirect3DVolume9;
typedef interface IDirect3DSwapChain9 IDirect3DSwapChain9;
typedef interface IDirect3DResource9 IDirect3DResource9;
typedef interface IDirect3DSurface9 IDirect3DSurface9;
typedef interface IDirect3DVertexBuffer9 IDirect3DVertexBuffer9;
typedef interface IDirect3DIndexBuffer9 IDirect3DIndexBuffer9;
typedef interface IDirect3DBaseTexture9 IDirect3DBaseTexture9;
typedef interface IDirect3DCubeTexture9 IDirect3DCubeTexture9;
typedef interface IDirect3DTexture9 IDirect3DTexture9;
typedef interface IDirect3DVolumeTexture9 IDirect3DVolumeTexture9;
typedef interface IDirect3DVertexDeclaration9 IDirect3DVertexDeclaration9;
typedef interface IDirect3DVertexShader9 IDirect3DVertexShader9;
typedef interface IDirect3DPixelShader9 IDirect3DPixelShader9;
typedef interface IDirect3DStateBlock9 IDirect3DStateBlock9;
typedef interface IDirect3DQuery9 IDirect3DQuery9;
typedef _COM_interface IDirect3D9 IDirect3D9;
typedef _COM_interface IDirect3DDevice9 IDirect3DDevice9;
typedef _COM_interface IDirect3DVolume9 IDirect3DVolume9;
typedef _COM_interface IDirect3DSwapChain9 IDirect3DSwapChain9;
typedef _COM_interface IDirect3DResource9 IDirect3DResource9;
typedef _COM_interface IDirect3DSurface9 IDirect3DSurface9;
typedef _COM_interface IDirect3DVertexBuffer9 IDirect3DVertexBuffer9;
typedef _COM_interface IDirect3DIndexBuffer9 IDirect3DIndexBuffer9;
typedef _COM_interface IDirect3DBaseTexture9 IDirect3DBaseTexture9;
typedef _COM_interface IDirect3DCubeTexture9 IDirect3DCubeTexture9;
typedef _COM_interface IDirect3DTexture9 IDirect3DTexture9;
typedef _COM_interface IDirect3DVolumeTexture9 IDirect3DVolumeTexture9;
typedef _COM_interface IDirect3DVertexDeclaration9 IDirect3DVertexDeclaration9;
typedef _COM_interface IDirect3DVertexShader9 IDirect3DVertexShader9;
typedef _COM_interface IDirect3DPixelShader9 IDirect3DPixelShader9;
typedef _COM_interface IDirect3DStateBlock9 IDirect3DStateBlock9;
typedef _COM_interface IDirect3DQuery9 IDirect3DQuery9;
#undef INTERFACE
#define INTERFACE IDirect3D9

View File

@ -70,8 +70,8 @@ typedef struct _tagOLECMD {
DWORD cmdf;
} OLECMD;
typedef interface IOleInPlaceSite *LPOLEINPLACESITE;
typedef interface IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS;
typedef _COM_interface IOleInPlaceSite *LPOLEINPLACESITE;
typedef _COM_interface IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS;
EXTERN_C const IID IID_IContinueCallback;
EXTERN_C const IID IID_IEnumOleDocumentViews;

View File

@ -8,24 +8,24 @@
extern "C" {
#endif
typedef interface IHTMLElementCollection *LPHTMLELEMENTCOLLECTION;
typedef interface IHTMLElement *LPHTMLELEMENT;
typedef interface IHTMLSelectionObject *LPHTMLSELECTIONOBJECT;
typedef interface IHTMLFramesCollection *LPHTMLFRAMESCOLLECTION;
typedef interface IHTMLLocation *LPHTMLLOCATION;
typedef interface IHTMLWindow2 *LPHTMLWINDOW2;
typedef interface IHTMLStyleSheetsCollection *LPHTMLSTYLESHEETSCOLLECTION;
typedef interface IHTMLStyleSheet *LPHTMLSTYLESHEET;
typedef interface IHTMLStyle *LPHTMLSTYLE;
typedef interface IHTMLFiltersCollection *LPHTMLFILTERSCOLLECTION;
typedef interface IHTMLLinkElement *LPHTMLLINKELEMENT;
typedef interface IHTMLImgElement *LPHTMLIMGELEMENT;
typedef interface IHTMLImageElementFactory *LPHTMLIMAGEELEMENTFACTORY;
typedef interface IHTMLEventObj *LPHTMLEVENTOBJ;
typedef interface IHTMLScreen *LPHTMLSCREEN;
typedef interface IHTMLOptionElementFactory *LPHTMLOPTIONELEMENTFACTORY;
typedef interface IOmHistory *LPOMHISTORY;
typedef interface IOmNavigator *LPOMNAVIGATOR;
typedef _COM_interface IHTMLElementCollection *LPHTMLELEMENTCOLLECTION;
typedef _COM_interface IHTMLElement *LPHTMLELEMENT;
typedef _COM_interface IHTMLSelectionObject *LPHTMLSELECTIONOBJECT;
typedef _COM_interface IHTMLFramesCollection *LPHTMLFRAMESCOLLECTION;
typedef _COM_interface IHTMLLocation *LPHTMLLOCATION;
typedef _COM_interface IHTMLWindow2 *LPHTMLWINDOW2;
typedef _COM_interface IHTMLStyleSheetsCollection *LPHTMLSTYLESHEETSCOLLECTION;
typedef _COM_interface IHTMLStyleSheet *LPHTMLSTYLESHEET;
typedef _COM_interface IHTMLStyle *LPHTMLSTYLE;
typedef _COM_interface IHTMLFiltersCollection *LPHTMLFILTERSCOLLECTION;
typedef _COM_interface IHTMLLinkElement *LPHTMLLINKELEMENT;
typedef _COM_interface IHTMLImgElement *LPHTMLIMGELEMENT;
typedef _COM_interface IHTMLImageElementFactory *LPHTMLIMAGEELEMENTFACTORY;
typedef _COM_interface IHTMLEventObj *LPHTMLEVENTOBJ;
typedef _COM_interface IHTMLScreen *LPHTMLSCREEN;
typedef _COM_interface IHTMLOptionElementFactory *LPHTMLOPTIONELEMENTFACTORY;
typedef _COM_interface IOmHistory *LPOMHISTORY;
typedef _COM_interface IOmNavigator *LPOMNAVIGATOR;
EXTERN_C const IID IID_IHTMLLinkElement;
#define INTERFACE IHTMLLinkElement

View File

@ -58,21 +58,21 @@ extern "C" {
#define IMPLTYPEFLAG_FRESTRICTED 4
#define IMPLTYPEFLAG_FDEFAULTVTABLE 8
typedef interface ITypeLib *LPTYPELIB;
typedef interface ITypeLib2 *LPTYPELIB2;
typedef interface ICreateTypeInfo *LPCREATETYPEINFO;
typedef interface ICreateTypeInfo2 *LPCREATETYPEINFO2;
typedef interface ICreateTypeLib *LPCREATETYPELIB;
typedef interface ICreateTypeLib2 *LPCREATETYPELIB2;
typedef interface ITypeComp *LPTYPECOMP;
typedef interface ITypeInfo *LPTYPEINFO;
typedef interface ITypeInfo2 *LPTYPEINFO2;
typedef interface IErrorInfo *LPERRORINFO;
typedef interface IDispatch *LPDISPATCH;
typedef interface IEnumVARIANT *LPENUMVARIANT;
typedef interface ICreateErrorInfo *LPCREATEERRORINFO;
typedef interface ISupportErrorInfo *LPSUPPORTERRORINFO;
typedef interface IRecordInfo *LPRECORDINFO;
typedef _COM_interface ITypeLib *LPTYPELIB;
typedef _COM_interface ITypeLib2 *LPTYPELIB2;
typedef _COM_interface ICreateTypeInfo *LPCREATETYPEINFO;
typedef _COM_interface ICreateTypeInfo2 *LPCREATETYPEINFO2;
typedef _COM_interface ICreateTypeLib *LPCREATETYPELIB;
typedef _COM_interface ICreateTypeLib2 *LPCREATETYPELIB2;
typedef _COM_interface ITypeComp *LPTYPECOMP;
typedef _COM_interface ITypeInfo *LPTYPEINFO;
typedef _COM_interface ITypeInfo2 *LPTYPEINFO2;
typedef _COM_interface IErrorInfo *LPERRORINFO;
typedef _COM_interface IDispatch *LPDISPATCH;
typedef _COM_interface IEnumVARIANT *LPENUMVARIANT;
typedef _COM_interface ICreateErrorInfo *LPCREATEERRORINFO;
typedef _COM_interface ISupportErrorInfo *LPSUPPORTERRORINFO;
typedef _COM_interface IRecordInfo *LPRECORDINFO;
extern const IID IID_ITypeLib;
extern const IID IID_ITypeLib2;

View File

@ -9,48 +9,48 @@
#ifdef __cplusplus
extern "C" {
#endif
typedef interface IMoniker *LPMONIKER;
typedef interface IStream *LPSTREAM;
typedef interface IMarshal *LPMARSHAL;
typedef interface IMalloc *LPMALLOC;
typedef interface IMallocSpy *LPMALLOCSPY;
typedef interface IMessageFilter *LPMESSAGEFILTER;
typedef interface IPersist *LPPERSIST;
typedef interface IPersistStream *LPPERSISTSTREAM;
typedef interface IRunningObjectTable *LPRUNNINGOBJECTTABLE;
typedef interface IBindCtx *LPBINDCTX,*LPBC;
typedef interface IAdviseSink *LPADVISESINK;
typedef interface IAdviseSink2 *LPADVISESINK2;
typedef interface IDataObject *LPDATAOBJECT;
typedef interface IDataAdviseHolder *LPDATAADVISEHOLDER;
typedef interface IEnumMoniker *LPENUMMONIKER;
typedef interface IEnumFORMATETC *LPENUMFORMATETC;
typedef interface IEnumSTATDATA *LPENUMSTATDATA;
typedef interface IEnumSTATSTG *LPENUMSTATSTG;
typedef interface IEnumSTATPROPSTG LPENUMSTATPROPSTG;
typedef interface IEnumString *LPENUMSTRING;
typedef interface IEnumUnknown *LPENUMUNKNOWN;
typedef interface IStorage *LPSTORAGE;
typedef interface IPersistStorage *LPPERSISTSTORAGE;
typedef interface ILockBytes *LPLOCKBYTES;
typedef interface IStdMarshalInfo *LPSTDMARSHALINFO;
typedef interface IExternalConnection *LPEXTERNALCONNECTION;
typedef interface IRunnableObject *LPRUNNABLEOBJECT;
typedef interface IROTData *LPROTDATA;
typedef interface IPersistFile *LPPERSISTFILE;
typedef interface IRootStorage *LPROOTSTORAGE;
typedef interface IRpcChannelBuffer *LPRPCCHANNELBUFFER;
typedef interface IRpcProxyBuffer *LPRPCPROXYBUFFER;
typedef interface IRpcStubBuffer *LPRPCSTUBBUFFER;
typedef interface IPropertyStorage *LPPROPERTYSTORAGE;
typedef interface IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
typedef interface IPropertySetStorage *LPPROPERTYSETSTORAGE;
typedef interface IClientSecurity *LPCLIENTSECURITY;
typedef interface IServerSecurity *LPSERVERSECURITY;
typedef interface IClassActivator *LPCLASSACTIVATOR;
typedef interface IFillLockBytes *LPFILLLOCKBYTES;
typedef interface IProgressNotify *LPPROGRESSNOTIFY;
typedef interface ILayoutStorage *LPLAYOUTSTORAGE;
typedef _COM_interface IMoniker *LPMONIKER;
typedef _COM_interface IStream *LPSTREAM;
typedef _COM_interface IMarshal *LPMARSHAL;
typedef _COM_interface IMalloc *LPMALLOC;
typedef _COM_interface IMallocSpy *LPMALLOCSPY;
typedef _COM_interface IMessageFilter *LPMESSAGEFILTER;
typedef _COM_interface IPersist *LPPERSIST;
typedef _COM_interface IPersistStream *LPPERSISTSTREAM;
typedef _COM_interface IRunningObjectTable *LPRUNNINGOBJECTTABLE;
typedef _COM_interface IBindCtx *LPBINDCTX,*LPBC;
typedef _COM_interface IAdviseSink *LPADVISESINK;
typedef _COM_interface IAdviseSink2 *LPADVISESINK2;
typedef _COM_interface IDataObject *LPDATAOBJECT;
typedef _COM_interface IDataAdviseHolder *LPDATAADVISEHOLDER;
typedef _COM_interface IEnumMoniker *LPENUMMONIKER;
typedef _COM_interface IEnumFORMATETC *LPENUMFORMATETC;
typedef _COM_interface IEnumSTATDATA *LPENUMSTATDATA;
typedef _COM_interface IEnumSTATSTG *LPENUMSTATSTG;
typedef _COM_interface IEnumSTATPROPSTG LPENUMSTATPROPSTG;
typedef _COM_interface IEnumString *LPENUMSTRING;
typedef _COM_interface IEnumUnknown *LPENUMUNKNOWN;
typedef _COM_interface IStorage *LPSTORAGE;
typedef _COM_interface IPersistStorage *LPPERSISTSTORAGE;
typedef _COM_interface ILockBytes *LPLOCKBYTES;
typedef _COM_interface IStdMarshalInfo *LPSTDMARSHALINFO;
typedef _COM_interface IExternalConnection *LPEXTERNALCONNECTION;
typedef _COM_interface IRunnableObject *LPRUNNABLEOBJECT;
typedef _COM_interface IROTData *LPROTDATA;
typedef _COM_interface IPersistFile *LPPERSISTFILE;
typedef _COM_interface IRootStorage *LPROOTSTORAGE;
typedef _COM_interface IRpcChannelBuffer *LPRPCCHANNELBUFFER;
typedef _COM_interface IRpcProxyBuffer *LPRPCPROXYBUFFER;
typedef _COM_interface IRpcStubBuffer *LPRPCSTUBBUFFER;
typedef _COM_interface IPropertyStorage *LPPROPERTYSTORAGE;
typedef _COM_interface IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
typedef _COM_interface IPropertySetStorage *LPPROPERTYSETSTORAGE;
typedef _COM_interface IClientSecurity *LPCLIENTSECURITY;
typedef _COM_interface IServerSecurity *LPSERVERSECURITY;
typedef _COM_interface IClassActivator *LPCLASSACTIVATOR;
typedef _COM_interface IFillLockBytes *LPFILLLOCKBYTES;
typedef _COM_interface IProgressNotify *LPPROGRESSNOTIFY;
typedef _COM_interface ILayoutStorage *LPLAYOUTSTORAGE;
#ifdef __cplusplus
}
#endif

View File

@ -458,7 +458,7 @@ DECLARE_ENUMERATOR(STATPROPSETSTG);
DECLARE_ENUMERATOR(STATPROPSTG);
DECLARE_ENUMERATOR(STATSTG);
DECLARE_ENUMERATOR_(IEnumString,LPOLESTR);
DECLARE_ENUMERATOR_(IEnumMoniker,interface IMoniker*);
DECLARE_ENUMERATOR_(IEnumMoniker,_COM_interface IMoniker*);
DECLARE_ENUMERATOR_(IEnumUnknown,IUnknown*);
EXTERN_C const IID IID_ISequentialStream;
@ -854,7 +854,7 @@ DECLARE_INTERFACE_(IPSFactoryBuffer,IUnknown)
STDMETHOD(CreateStub)(THIS_ REFIID,LPUNKNOWN,LPRPCSTUBBUFFER*) PURE;
};
#undef INTERFACE
typedef interface IPSFactoryBuffer *LPPSFACTORYBUFFER;
typedef _COM_interface IPSFactoryBuffer *LPPSFACTORYBUFFER;
EXTERN_C const IID IID_ILockBytes;
#define INTERFACE ILockBytes

View File

@ -10,16 +10,16 @@ extern "C" {
#include <ole2.h>
typedef interface IErrorLog *LPERRORLOG;
typedef interface IPropertyBag *LPPROPERTYBAG;
typedef interface IPropertyBag2 *LPPROPERTYBAG2;
typedef interface IEnumConnections *LPENUMCONNECTIONS;
typedef interface IConnectionPoint *LPCONNECTIONPOINT;
typedef interface IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
typedef interface IPropertyPageSite *LPPROPERTYPAGESITE;
typedef interface IFont *LPFONT;
typedef interface IFontDisp *LPFONTDISP;
typedef interface IOleUndoManager *LPOLEUNDOMANAGER;
typedef _COM_interface IErrorLog *LPERRORLOG;
typedef _COM_interface IPropertyBag *LPPROPERTYBAG;
typedef _COM_interface IPropertyBag2 *LPPROPERTYBAG2;
typedef _COM_interface IEnumConnections *LPENUMCONNECTIONS;
typedef _COM_interface IConnectionPoint *LPCONNECTIONPOINT;
typedef _COM_interface IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
typedef _COM_interface IPropertyPageSite *LPPROPERTYPAGESITE;
typedef _COM_interface IFont *LPFONT;
typedef _COM_interface IFontDisp *LPFONTDISP;
typedef _COM_interface IOleUndoManager *LPOLEUNDOMANAGER;
#ifndef OLE2ANSI
typedef TEXTMETRICW TEXTMETRICOLE;
@ -73,21 +73,21 @@ typedef enum tagQACONTAINERFLAGS
typedef struct tagQACONTAINER
{
ULONG cbSize;
interface IOleClientSite *pClientSite;
interface IAdviseSinkEx *pAdviseSink;
interface IPropertyNotifySink *pPropertyNotifySink;
_COM_interface IOleClientSite *pClientSite;
_COM_interface IAdviseSinkEx *pAdviseSink;
_COM_interface IPropertyNotifySink *pPropertyNotifySink;
IUnknown *pUnkEventSink;
DWORD dwAmbientFlags;
OLE_COLOR colorFore;
OLE_COLOR colorBack;
interface IFont *pFont;
interface IOleUndoManager *pUndoMgr;
_COM_interface IFont *pFont;
_COM_interface IOleUndoManager *pUndoMgr;
DWORD dwAppearance;
LONG lcid;
HPALETTE hpal;
interface IBindHost *pBindHost;
interface IOleControlSite *pOleControlSite;
interface IServiceProvider *pServiceProvider;
_COM_interface IBindHost *pBindHost;
_COM_interface IOleControlSite *pOleControlSite;
_COM_interface IServiceProvider *pServiceProvider;
} QACONTAINER;
typedef struct tagQACONTROL
{

View File

@ -225,24 +225,24 @@ extern "C" {
#define DISPID_PICT_HEIGHT 5
#define DISPID_PICT_RENDER 6
typedef interface IOleControl *LPOLECONTROL;
typedef interface IOleControlSite *LPOLECONTROLSITE;
typedef interface ISimpleFrameSite *LPSIMPLEFRAMESITE;
typedef interface IPersistPropertyBag *LPPERSISTPROPERTYBAG;
typedef interface IPersistStreamInit *LPPERSISTSTREAMINIT;
typedef interface IPersistMemory *LPPERSISTMEMORY;
typedef interface IPropertyNotifySink* LPPROPERTYNOTIFYSINK;
typedef interface IProvideClassInfo *LPPROVIDECLASSINFO;
typedef interface IProvideClassInfo2 *LPPROVIDECLASSINFO2;
typedef interface IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
typedef interface IClassFactory2 *LPCLASSFACTORY2;
typedef interface ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
typedef interface IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
typedef interface IPropertyPage *LPPROPERTYPAGE;
typedef interface IPropertyPage2 *LPPROPERTYPAGE2;
typedef _COM_interface IOleControl *LPOLECONTROL;
typedef _COM_interface IOleControlSite *LPOLECONTROLSITE;
typedef _COM_interface ISimpleFrameSite *LPSIMPLEFRAMESITE;
typedef _COM_interface IPersistPropertyBag *LPPERSISTPROPERTYBAG;
typedef _COM_interface IPersistStreamInit *LPPERSISTSTREAMINIT;
typedef _COM_interface IPersistMemory *LPPERSISTMEMORY;
typedef _COM_interface IPropertyNotifySink* LPPROPERTYNOTIFYSINK;
typedef _COM_interface IProvideClassInfo *LPPROVIDECLASSINFO;
typedef _COM_interface IProvideClassInfo2 *LPPROVIDECLASSINFO2;
typedef _COM_interface IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
typedef _COM_interface IClassFactory2 *LPCLASSFACTORY2;
typedef _COM_interface ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
typedef _COM_interface IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
typedef _COM_interface IPropertyPage *LPPROPERTYPAGE;
typedef _COM_interface IPropertyPage2 *LPPROPERTYPAGE2;
typedef interface IPicture *LPPICTURE;
typedef interface IPictureDisp *LPPICTUREDISP;
typedef _COM_interface IPicture *LPPICTURE;
typedef _COM_interface IPictureDisp *LPPICTUREDISP;
typedef long OLE_XPOS_PIXELS;
typedef long OLE_YPOS_PIXELS;
typedef long OLE_XSIZE_PIXELS;

View File

@ -12,24 +12,24 @@ extern "C" {
#define MK_ALT 32
typedef interface IParseDisplayName *LPPARSEDISPLAYNAME;
typedef interface IOleContainer *LPOLECONTAINER;
typedef interface IOleClientSite *LPOLECLIENTSITE;
typedef interface IOleObject *LPOLEOBJECT;
typedef interface IDropTarget *LPDROPTARGET;
typedef interface IDropSource *LPDROPSOURCE;
typedef interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
typedef interface IEnumOLEVERB *LPENUMOLEVERB;
typedef interface IOleWindow *LPOLEWINDOW;
typedef interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
typedef interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
typedef interface IOleInPlaceFrame *LPOLEINPLACEFRAME;
typedef interface IOleAdviseHolder *LPOLEADVISEHOLDER;
typedef interface IViewObject *LPVIEWOBJECT;
typedef interface IViewObject2 *LPVIEWOBJECT2;
typedef interface IOleCache *LPOLECACHE;
typedef interface IOleCache2 *LPOLECACHE2;
typedef interface IOleCacheControl *LPOLECACHECONTROL;
typedef _COM_interface IParseDisplayName *LPPARSEDISPLAYNAME;
typedef _COM_interface IOleContainer *LPOLECONTAINER;
typedef _COM_interface IOleClientSite *LPOLECLIENTSITE;
typedef _COM_interface IOleObject *LPOLEOBJECT;
typedef _COM_interface IDropTarget *LPDROPTARGET;
typedef _COM_interface IDropSource *LPDROPSOURCE;
typedef _COM_interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
typedef _COM_interface IEnumOLEVERB *LPENUMOLEVERB;
typedef _COM_interface IOleWindow *LPOLEWINDOW;
typedef _COM_interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
typedef _COM_interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
typedef _COM_interface IOleInPlaceFrame *LPOLEINPLACEFRAME;
typedef _COM_interface IOleAdviseHolder *LPOLEADVISEHOLDER;
typedef _COM_interface IViewObject *LPVIEWOBJECT;
typedef _COM_interface IViewObject2 *LPVIEWOBJECT2;
typedef _COM_interface IOleCache *LPOLECACHE;
typedef _COM_interface IOleCache2 *LPOLECACHE2;
typedef _COM_interface IOleCacheControl *LPOLECACHECONTROL;
typedef enum tagBINDSPEED
{

View File

@ -1102,8 +1102,8 @@ typedef IPersistFolder3 *LPPERSISTFOLDER3;
#endif /* _WIN32_IE >= 0x0500 */
typedef interface IShellBrowser *LPSHELLBROWSER;
typedef interface IShellView *LPSHELLVIEW;
typedef _COM_interface IShellBrowser *LPSHELLBROWSER;
typedef _COM_interface IShellView *LPSHELLVIEW;
#define INTERFACE IShellBrowser
DECLARE_INTERFACE_(IShellBrowser,IOleWindow)

View File

@ -8,7 +8,7 @@
extern "C" {
#endif
#ifndef __OBJC__
#ifndef _OBJC_NO_COM
#include <objbase.h>
#include <shlobj.h>
#endif
@ -166,7 +166,7 @@ WINSHLWAPI LPSTR WINAPI StrRChrA(LPCSTR,LPCSTR,WORD);
WINSHLWAPI LPWSTR WINAPI StrRChrW(LPCWSTR,LPCWSTR,WCHAR);
WINSHLWAPI LPSTR WINAPI StrRChrIA(LPCSTR,LPCSTR,WORD);
WINSHLWAPI LPWSTR WINAPI StrRChrIW(LPCWSTR,LPCWSTR,WCHAR);
#ifndef __OBJC__
#ifndef _OBJC_NO_COM
WINSHLWAPI HRESULT WINAPI StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT);
WINSHLWAPI HRESULT WINAPI StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT);
WINSHLWAPI HRESULT WINAPI StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*);
@ -297,7 +297,7 @@ WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderW(LPWSTR);
WINSHLWAPI void WINAPI PathUnquoteSpacesA(LPSTR);
WINSHLWAPI void WINAPI PathUnquoteSpacesW(LPWSTR);
WINSHLWAPI HRESULT WINAPI SHAutoComplete(HWND,DWORD);
#ifndef __OBJC__
#ifndef _OBJC_NO_COM
WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileA(LPCSTR,DWORD,struct IStream**);
WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR,DWORD,struct IStream**);
WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
@ -318,7 +318,7 @@ WINSHLWAPI DWORD WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
WINSHLWAPI DWORD WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
WINSHLWAPI DWORD WINAPI SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
WINSHLWAPI DWORD WINAPI SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
#ifndef __OBJC__
#ifndef _OBJC_NO_COM
WINSHLWAPI HRESULT WINAPI SHGetThreadRef(IUnknown**);
WINSHLWAPI HRESULT WINAPI SHSetThreadRef(IUnknown*);
WINSHLWAPI BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*);
@ -443,7 +443,7 @@ HRESULT WINAPI DllInstall(BOOL,LPCWSTR);
#define StrPBrk StrPBrkW
#define StrRChr StrRChrW
#define StrRChrI StrRChrIW
#ifndef __OBJC__
#ifndef _OBJC_NO_COM
#define StrRetToBuf StrRetToBufW
#define StrRetToStr StrRetToStrW
#endif
@ -509,7 +509,7 @@ HRESULT WINAPI DllInstall(BOOL,LPCWSTR);
#define PathUnExpandEnvStrings PathUnExpandEnvStringsW
#define PathUnmakeSystemFolder PathUnmakeSystemFolderW
#define PathUnquoteSpaces PathUnquoteSpacesW
#ifndef __OBJC__
#ifndef _OBJC_NO_COM
#define SHCreateStreamOnFile SHCreateStreamOnFileW
#define SHOpenRegStream SHOpenRegStreamW
#define SHOpenRegStream2 SHOpenRegStream2W
@ -585,7 +585,7 @@ HRESULT WINAPI DllInstall(BOOL,LPCWSTR);
#define StrPBrk StrPBrkA
#define StrRChr StrRChrA
#define StrRChrI StrRChrIA
#ifndef __OBJC__
#ifndef _OBJC_NO_COM
#define StrRetToBuf StrRetToBufA
#define StrRetToStr StrRetToStrA
#endif
@ -651,7 +651,7 @@ HRESULT WINAPI DllInstall(BOOL,LPCWSTR);
#define PathUnExpandEnvStrings PathUnExpandEnvStringsA
#define PathUnmakeSystemFolder PathUnmakeSystemFolderA
#define PathUnquoteSpaces PathUnquoteSpacesA
#ifndef __OBJC__
#ifndef _OBJC_NO_COM
#define SHCreateStreamOnFile SHCreateStreamOnFileA
#define SHOpenRegStream SHOpenRegStreamA
#define SHOpenRegStream2 SHOpenRegStream2A

View File

@ -10,7 +10,7 @@
#ifndef _MMSYSTEM_H
#include <mmsystem.h>
#endif
#if !defined (_OLE2_H) && !defined (__OBJC__)
#if !defined (_OLE2_H) && !defined (_OBJC_NO_COM)
#include <ole2.h>
#endif
@ -633,7 +633,7 @@ typedef struct _AVICOMPRESSOPTIONS {
DWORD dwInterleaveEvery;
} AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS,*PAVICOMPRESSOPTIONS;
#if !defined (__OBJC__)
#if !defined (_OBJC_NO_COM)
#define DEFINE_AVIGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
DEFINE_AVIGUID(IID_IAVIFile,0x00020020,0,0);
DEFINE_AVIGUID(IID_IAVIStream,0x00020021,0,0);
@ -720,7 +720,7 @@ DECLARE_INTERFACE_(IGetFrame, IUnknown)
};
#undef INTERFACE
typedef IGetFrame *PGETFRAME;
#endif /* !defined (__OBJC__) */
#endif /* !defined (_OBJC_NO_COM) */
DWORD VFWAPI VideoForWindowsVersion(VOID);
LONG VFWAPI InitVFW(VOID);
@ -746,7 +746,7 @@ BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS,LPBITMAPINFO);
void VFWAPI ICSeqCompressFrameEnd(PCOMPVARS);
LPVOID VFWAPI ICSeqCompressFrame(PCOMPVARS,UINT,LPVOID,BOOL*,LONG*);
void VFWAPI ICCompressorFree(PCOMPVARS);
#if !defined (__OBJC__)
#if !defined (_OBJC_NO_COM)
ULONG WINAPI AVIStreamAddRef(PAVISTREAM);
ULONG WINAPI AVIStreamRelease(PAVISTREAM);
HRESULT WINAPI AVIStreamCreate(PAVISTREAM*,LONG,LONG,CLSID*);
@ -811,7 +811,7 @@ HRESULT WINAPI AVIFileEndRecord(PAVIFILE);
HRESULT WINAPI AVIClearClipboard(VOID);
HRESULT WINAPI AVIGetFromClipboard(PAVIFILE*);
HRESULT WINAPI AVIPutFileOnClipboard(PAVIFILE);
#endif /* __OBJC__ */
#endif /* _OBJC_NO_COM */
#ifdef OFN_READONLY
BOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA);
BOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW);

View File

@ -106,11 +106,14 @@
#endif /* (_WIN32_WINNT >= 0x0400) */
#endif
#ifndef NOGDI
#if !defined (__OBJC__)
/* In older versions we disallowed COM declarations in __OBJC__
because of conflicts with @interface directive. Define _OBJC_NO_COM
to keep this behaviour. */
#if !defined (_OBJC_NO_COM)
#if (__GNUC__ >= 3) || defined (__WATCOMC__)
#include <ole2.h>
#endif
#endif /* __OBJC__ */
#endif /* _OBJC_NO_COM */
#endif
#endif /* WIN32_LEAN_AND_MEAN */

View File

@ -1,7 +1,7 @@
/*
* ws2spi.h
*
* Winsock 2 Service Provider interface.
* Winsock 2 Service Provider Interface.
*
*
* THIS SOFTWARE IS NOT COPYRIGHTED

View File

@ -31,7 +31,6 @@
#include <httpext.h>
#include <icm.h>
#include <imagehlp.h>
#include <initguid.h>
#include <ipexport.h>
#include <iphlpapi.h>
#include <ipifcons.h>
@ -86,7 +85,8 @@
#include <windns.h>
#include <usp10.h>
#ifndef __OBJC__ /* problems with BOOL */
#ifndef _OBJC_NO_COM
#include <initguid.h>
#include <ole2.h>
#include <comcat.h>
#include <shlobj.h>
@ -107,11 +107,19 @@
#include <servprov.h>
#include <aclui.h>
#include <mlang.h>
#else
#undef BOOL
#endif
#include <stdio.h>
#ifdef __OBJC__
#undef BOOL
@interface class1 {
int e;
}
@end
@implementation class1
@end
#endif
int main()
{