ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

propkeydef.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.