44 #if defined(_WINDOWS_) || !__LP64__ 51 unsigned char Data4[ 8 ];
57 #if defined(_WIN32) || defined(__ANSI__) 64 #ifndef DECLSPEC_SELECTANY 65 #if (_MSC_VER >= 1100) 66 #define DECLSPEC_SELECTANY __declspec(selectany) 68 #define DECLSPEC_SELECTANY 74 #define EXTERN_C extern "C" 76 #define EXTERN_C extern 85 #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ 86 const GUID DECLSPEC_SELECTANY name \ 87 = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } } 89 #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ 90 EXTERN_C const GUID FAR name 93 #define DEFINE_OLEGUID(name, l, w1, w2) DEFINE_GUID(name, l, w1, w2, 0xC0,0,0,0,0,0,0,0x46) 98 #ifndef __LPGUID_DEFINED__ 99 #define __LPGUID_DEFINED__ 103 #ifndef __LPCGUID_DEFINED__ 104 #define __LPCGUID_DEFINED__ 108 #ifndef __IID_DEFINED__ 109 #define __IID_DEFINED__ 113 #define IID_NULL GUID_NULL 114 #define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2) 117 #define CLSID_NULL GUID_NULL 118 #define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2) 121 #define FMTID_NULL GUID_NULL 122 #define IsEqualFMTID(rfmtid1, rfmtid2) IsEqualGUID(rfmtid1, rfmtid2) 127 #define __MIDL_CONST const 130 #ifndef _REFGUID_DEFINED 131 #define _REFGUID_DEFINED 133 #define REFGUID const GUID & 135 #define REFGUID const GUID * __MIDL_CONST 139 #ifndef _REFIID_DEFINED 140 #define _REFIID_DEFINED 142 #define REFIID const IID & 144 #define REFIID const IID * __MIDL_CONST 148 #ifndef _REFCLSID_DEFINED 149 #define _REFCLSID_DEFINED 151 #define REFCLSID const IID & 153 #define REFCLSID const IID * __MIDL_CONST 157 #ifndef _REFFMTID_DEFINED 158 #define _REFFMTID_DEFINED 160 #define REFFMTID const IID & 162 #define REFFMTID const IID * __MIDL_CONST 166 #endif // !__IID_DEFINED__ 168 #if !defined (__midl) 169 #if !defined (_SYS_GUID_OPERATORS_) 170 #define _SYS_GUID_OPERATORS_ 175 __inline
int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2)
178 ((
unsigned long *) &rguid1)[0] == ((
unsigned long *) &rguid2)[0] &&
179 ((
unsigned long *) &rguid1)[1] == ((
unsigned long *) &rguid2)[1] &&
180 ((
unsigned long *) &rguid1)[2] == ((
unsigned long *) &rguid2)[2] &&
181 ((
unsigned long *) &rguid1)[3] == ((
unsigned long *) &rguid2)[3]);
184 __inline
int IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
186 return !memcmp(&rguid1, &rguid2,
sizeof(
GUID));
189 #else // ! __cplusplus 191 #define InlineIsEqualGUID(rguid1, rguid2) \ 192 (((unsigned long *) rguid1)[0] == ((unsigned long *) rguid2)[0] && \ 193 ((unsigned long *) rguid1)[1] == ((unsigned long *) rguid2)[1] && \ 194 ((unsigned long *) rguid1)[2] == ((unsigned long *) rguid2)[2] && \ 195 ((unsigned long *) rguid1)[3] == ((unsigned long *) rguid2)[3]) 197 #define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID))) 199 #endif // __cplusplus 201 #ifdef __INLINE_ISEQUAL_GUID 203 #define IsEqualGUID(rguid1, rguid2) InlineIsEqualGUID(rguid1, rguid2) 208 #define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2) 209 #define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2) 212 #if !defined _SYS_GUID_OPERATOR_EQ_ && !defined _NO_SYS_GUID_OPERATOR_EQ_ 213 #define _SYS_GUID_OPERATOR_EQ_ 217 __inline
int operator==(REFGUID guidOne, REFGUID guidOther)
219 return IsEqualGUID(guidOne,guidOther);
222 __inline
int operator!=(REFGUID guidOne, REFGUID guidOther)
224 return !(guidOne == guidOther);
227 #endif // _SYS_GUID_OPERATOR_EQ_ 228 #endif // _SYS_GUID_OPERATORS_ 230 #endif // _GUIDDEF_H_