Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenpropkeydef.h
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2009 Maarten Lankhorst 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 #ifndef PID_FIRST_USABLE 00020 #define PID_FIRST_USABLE 2 00021 #endif 00022 00023 #ifndef REFPROPERTYKEY 00024 #ifdef __cplusplus 00025 #define REFPROPERTYKEY const PROPERTYKEY & 00026 #else 00027 #define REFPROPERTYKEY const PROPERTYKEY * __MIDL_CONST 00028 #endif 00029 #endif 00030 00031 #undef DEFINE_PROPERTYKEY 00032 00033 #ifdef INITGUID 00034 #ifdef __cplusplus 00035 #define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \ 00036 EXTERN_C const PROPERTYKEY name DECLSPEC_HIDDEN DECLSPEC_SELECTANY; \ 00037 EXTERN_C const PROPERTYKEY name = \ 00038 { { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }, pid } 00039 #else 00040 #define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \ 00041 const PROPERTYKEY name DECLSPEC_HIDDEN DECLSPEC_SELECTANY; \ 00042 const PROPERTYKEY name = \ 00043 { { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }, pid } 00044 #endif 00045 #else 00046 #define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \ 00047 EXTERN_C const PROPERTYKEY name DECLSPEC_HIDDEN DECLSPEC_SELECTANY 00048 #endif 00049 00050 #ifndef IsEqualPropertyKey 00051 #ifdef __cplusplus 00052 #define IsEqualPropertyKey(a,b) (((a).pid == (b).pid) && IsEqualIID((a).fmtid,(b).fmtid)) 00053 #else 00054 #define IsEqualPropertyKey(a,b) (((a).pid == (b).pid) && IsEqualIID(&(a).fmtid,&(b).fmtid)) 00055 #endif 00056 #endif 00057 00058 #ifndef _PROPERTYKEY_EQUALITY_OPERATORS_ 00059 #define _PROPERTYKEY_EQUALITY_OPERATORS_ 00060 #ifdef __cplusplus 00061 extern "C++" 00062 { 00063 inline bool operator==(REFPROPERTYKEY guidOne, REFPROPERTYKEY guidOther) 00064 { 00065 return IsEqualPropertyKey(guidOne, guidOther); 00066 } 00067 inline bool operator!=(REFPROPERTYKEY guidOne, REFPROPERTYKEY guidOther) 00068 { 00069 return !(guidOne == guidOther); 00070 } 00071 } //extern "C++" 00072 #endif 00073 #endif Generated on Sat May 26 2012 04:30:59 for ReactOS by
1.7.6.1
|