Platform SDK: Win64 Programming Preview |
[This is preliminary documentation and subject to change.]
The following inline functions (defined in Basetsd.h) can help you safely convert values from one type to another.
unsigned long HandleToUlong( const void *h ) long HandleToLong( const void *h ) void *LongToHandle( const long h ) unsigned long PtrToUlong( const void *p ) unsigned int PtrToUint( const void *p ) unsigned short PtrToUshort( const void *p ) long PtrToLong( const void *p ) int PtrToInt( const void *p ) short PtrToShort( const void *p ) void * IntToPtr( const int i ) void * UIntToPtr( const unsigned int ui ) void * LongToPtr( const long l ) void * ULongToPtr( const unsigned long ul )
Warning IntToPtr sign-extends the int value, UIntToPtr zero-extends the unsigned int value, LongToPtr sign-extends the long value, and ULongToPtr zero-extends the unsigned long value.