Moved some of the STDMETHOD/STDAPI to winnt.h. Moved the EXTERN_C macro to winnt.h. Added a '#ifndef __WINE__' around the remaining macros.
diff --git a/include/objbase.h b/include/objbase.h index f5f67cc..88e0445 100644 --- a/include/objbase.h +++ b/include/objbase.h
@@ -36,37 +36,13 @@ } #endif - -/* These macros are msdev's way of defining COM objects. They are provided - * here for use by winelib users. +#ifndef __WINE__ +/* These macros are msdev's way of defining COM objects. + * They are provided here for use by Winelib developpers. */ - -#ifdef __cplusplus - #define EXTERN_C extern "C" -#else - #define EXTERN_C extern -#endif - -#define STDMETHODCALLTYPE __stdcall -#define STDMETHODVCALLTYPE __cdecl -#define STDAPICALLTYPE __stdcall -#define STDAPIVCALLTYPE __cdecl - #define FARSTRUCT #define HUGEP -#define STDAPI EXTERN_C HRESULT STDAPICALLTYPE -#define STDAPI_(type) EXTERN_C type STDAPICALLTYPE - -#define STDMETHODIMP HRESULT STDMETHODCALLTYPE -#define STDMETHODIMP_(type) type STDMETHODCALLTYPE - -#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE -#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE - -#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE -#define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE - #define WINOLEAPI STDAPI #define WINOLEAPI_(type) STDAPI_(type) @@ -112,6 +88,8 @@ #define BEGIN_INTERFACE #define END_INTERFACE -#endif +#endif /* __cplusplus && !CINTERFACE */ + +#endif /* __WINE__ */ #endif /* __WINE_OBJBASE_H */
diff --git a/include/winnt.h b/include/winnt.h index 3cf860c..0b90e92 100644 --- a/include/winnt.h +++ b/include/winnt.h
@@ -196,6 +196,30 @@ /**** winnt.h proper *****/ +/* Microsoft's macros for declaring functions */ + +#ifdef __cplusplus +# define EXTERN_C extern "C" +#else +# define EXTERN_C extern +#endif + +#ifndef __WINE__ +#define STDMETHODCALLTYPE __stdcall +#define STDMETHODVCALLTYPE __cdecl +#define STDAPICALLTYPE __stdcall +#define STDAPIVCALLTYPE __cdecl + +#define STDAPI EXTERN_C HRESULT STDAPICALLTYPE +#define STDAPI_(type) EXTERN_C type STDAPICALLTYPE +#define STDMETHODIMP HRESULT STDMETHODCALLTYPE +#define STDMETHODIMP_(type) type STDMETHODCALLTYPE +#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE +#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE +#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE +#define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE +#endif + /* Define the basic types */ #ifndef VOID #define VOID void