32bitアプリを64bitに移植するときの注意点

また、ポインタに関連して、64ビットでは次のAPIが使えない。

GetClassLong
GetWindowLong
SetClassLong
SetWindowLong

それぞれ以下のAPIに置き換える。
以下のAPIは32ビット環境でも使えるようにできているようだ。

GetClassLongPtr
GetWindowLongPtr
SetClassLongPtr
SetWindowLongPt

精度固定の整数
型 内容
DWORD32 32ビット符号なし整数
DWORD64 64ビット符号なし整数
INT32 32ビット符号あり整数
INT64 64ビット符号あり整数
LONG32 32ビット符号あり整数
LONG64 64ビット符号あり整数
UINT32 32ビット符号なしINT32
UINT64 64ビット符号なしINT64
ULONG32 符号なしLONG32
ULONG64 符号なしLONG64

ポインタの精度
型 内容
DWORD_PTR 符号なしlong型ポインタ
HALF_PTR 半分のサイズのポインタ
INT_PTR 符号ありint型のポインタ
LONG_PTR 符号ありlong型のポインタ
SIZE_T ポインタが参照できる最大限の値の型
SSIZE_T 符号ありのSIZE_T
UHALF_PTR 符号なしHALF_PTR
UINT_PTR 符号なしINT_PTR
ULONG_PTR 符号なしLONG_PTR