| /** | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER within this package. | |
| */ | |
| #ifndef _BASETYPS_H_ | |
| #define _BASETYPS_H_ | |
| #ifdef __cplusplus | |
| #define EXTERN_C extern "C" | |
| #else | |
| #define EXTERN_C extern | |
| #endif | |
| /* Keep in sync with winnt.h header. */ | |
| #ifndef STDMETHODCALLTYPE | |
| #define STDMETHODCALLTYPE WINAPI | |
| #define STDMETHODVCALLTYPE __cdecl | |
| #define STDAPICALLTYPE WINAPI | |
| #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 | |
| #if defined (__cplusplus) && !defined (CINTERFACE) | |
| #ifdef COM_STDMETHOD_CAN_THROW | |
| #define COM_DECLSPEC_NOTHROW | |
| #else | |
| #define COM_DECLSPEC_NOTHROW DECLSPEC_NOTHROW | |
| #endif | |
| #define __STRUCT__ struct | |
| #ifndef __OBJC__ | |
| #undef interface | |
| #define interface __STRUCT__ | |
| #endif | |
| #define STDMETHOD(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODCALLTYPE method | |
| #define STDMETHOD_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODCALLTYPE method | |
| #define STDMETHODV(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODVCALLTYPE method | |
| #define STDMETHODV_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODVCALLTYPE method | |
| #define PURE = 0 | |
| #define THIS_ | |
| #define THIS void | |
| #define DECLARE_INTERFACE(iface) interface DECLSPEC_NOVTABLE iface | |
| #define DECLARE_INTERFACE_(iface, baseiface) interface DECLSPEC_NOVTABLE iface : public baseiface | |
| #else | |
| #ifndef __OBJC__ | |
| #undef interface | |
| #define interface struct | |
| #endif | |
| #define STDMETHOD(method) HRESULT (STDMETHODCALLTYPE *method) | |
| #define STDMETHOD_(type, method) type (STDMETHODCALLTYPE *method) | |
| #define STDMETHODV(method) HRESULT (STDMETHODVCALLTYPE *method) | |
| #define STDMETHODV_(type, method) type (STDMETHODVCALLTYPE *method) | |
| #define PURE | |
| #define THIS_ INTERFACE *This, | |
| #define THIS INTERFACE *This | |
| #ifdef CONST_VTABLE | |
| #define DECLARE_INTERFACE(iface) typedef interface iface { const struct iface##Vtbl *lpVtbl; } iface; typedef const struct iface##Vtbl iface##Vtbl; const struct iface##Vtbl | |
| #else | |
| #define DECLARE_INTERFACE(iface) typedef interface iface { struct iface##Vtbl *lpVtbl; } iface; typedef struct iface##Vtbl iface##Vtbl; struct iface##Vtbl | |
| #endif | |
| #define DECLARE_INTERFACE_(iface, baseiface) DECLARE_INTERFACE (iface) | |
| #endif | |
| #define IFACEMETHOD(method) /*override*/ STDMETHOD (method) | |
| #define IFACEMETHOD_(type, method) /*override*/ STDMETHOD_(type, method) | |
| #define IFACEMETHODV(method) /*override*/ STDMETHODV (method) | |
| #define IFACEMETHODV_(type, method) /*override*/ STDMETHODV_(type, method) | |
| #include <guiddef.h> | |
| #ifndef _ERROR_STATUS_T_DEFINED | |
| #define _ERROR_STATUS_T_DEFINED | |
| typedef unsigned __LONG32 error_status_t; | |
| #endif | |
| #endif |