winapi为什么要宏定义那么多数据类型