6 #ifndef _INC_IUnknown_H
7 #define _INC_IUnknown_H
19 #define DECLSPEC_UUID(x)
23 #define __uuidof(x) IID_##x
24 #ifndef MIDL_INTERFACE
25 #define MIDL_INTERFACE(a) interface
42 return ! ::memcmp(
this, &other,
sizeof(other));
53 #define STDMETHOD(method) virtual HRESULT _stdcall method
54 #define STDMETHOD_(type,method) virtual type _stdcall method
55 #define STDMETHODIMP HRESULT _stdcall
56 #define STDMETHODIMP_(type) type _stdcall
59 #define DECLSPEC_UUID(x)
62 #if ! defined(__IUnknown_INTERFACE_DEFINED__)
63 #define __IUnknown_INTERFACE_DEFINED__
71 STDMETHOD(QueryInterface)(
const IID& riid,
void**ppvObject ) = 0;
72 STDMETHOD_(ULONG,AddRef)(void) = 0;
73 STDMETHOD_(ULONG, Release)(void) = 0;
85 #define IUNKNOWN_DISAMBIG_R(TYPE) \
86 STDMETHOD_(ULONG,AddRef)(void) override \
87 { return TYPE::AddRef(); } \
88 STDMETHOD_(ULONG, Release)(void) override \
89 { return TYPE::Release(); }
92 #define IUNKNOWN_DISAMBIG(TYPE) STDMETHOD(QueryInterface)( const IID& riid, void __RPC_FAR* __RPC_FAR* ppvObject ) override \
93 { return TYPE::QueryInterface(riid,ppvObject); } \
94 IUNKNOWN_DISAMBIG_R(TYPE);
98 #define IUNKNOWN_DISAMBIG_R(TYPE)
99 #define IUNKNOWN_DISAMBIG(TYPE)
MIDL_INTERFACE("7ED943DD-52E8-40b5-A8D8-76685C406330") ID3DXBaseMesh
#define GRAYCORE_LINK
Definition: GrayCore.h:47
GUID IID
Definition: IUnknown.h:65
__DECL_IMPORT GUID IID_IUnknown
Definition: IUnknown.h:68
Definition: IUnknown.h:34
UINT32 Data1
Definition: IUnknown.h:45
WORD Data2
Definition: IUnknown.h:46
WORD Data3
Definition: IUnknown.h:47
bool operator==(const _GUID &other) const
Definition: IUnknown.h:40
BYTE Data4[8]
Definition: IUnknown.h:48