85 lines · 2.4 KB · C
RawDownload
/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the w64 mingw-runtime package. * No warranty is given; refer to the file DISCLAIMER within this package. */#if !defined(_BASETYPS_H_)#define _BASETYPS_H_ #ifdef __cplusplus#define EXTERN_C extern "C"#else#define EXTERN_C extern#endif #define STDMETHODCALLTYPE WINAPI#define STDMETHODVCALLTYPE __cdecl #define STDAPICALLTYPE WINAPI#define STDAPIVCALLTYPE __cdecl #define STDAPI EXTERN_C HRESULT WINAPI#define STDAPI_(type) EXTERN_C type WINAPI #define STDMETHODIMP HRESULT WINAPI#define STDMETHODIMP_(type) type WINAPI #define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE #define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE#define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE #if defined(__cplusplus) && !defined(CINTERFACE) #define __STRUCT__ struct#define STDMETHOD(method) virtual HRESULT WINAPI method#define STDMETHOD_(type,method) virtual type WINAPI method#define STDMETHODV(method) virtual HRESULT STDMETHODVCALLTYPE method#define STDMETHODV_(type,method) virtual type STDMETHODVCALLTYPE method#define PURE = 0#define THIS_#define THIS void#define DECLARE_INTERFACE(iface) __STRUCT__ iface#define DECLARE_INTERFACE_(iface,baseiface) __STRUCT__ iface : public baseiface#else #ifndef __OBJC__#define interface struct#endif #define STDMETHOD(method) HRESULT (WINAPI *method)#define STDMETHOD_(type,method) type (WINAPI *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 struct iface { \  const struct iface##Vtbl *lpVtbl; } iface; \  typedef const struct iface##Vtbl iface##Vtbl; \  const struct iface##Vtbl#else#define DECLARE_INTERFACE(iface) typedef struct 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 #include <guiddef.h> #ifndef _ERROR_STATUS_T_DEFINED#define _ERROR_STATUS_T_DEFINEDtypedef unsigned long error_status_t;#endif #ifndef _WCHAR_T_DEFINEDtypedef unsigned short wchar_t;#define _WCHAR_T_DEFINED#endif#endif