Win32API 数据基本类型

Win32API 类型

    • 一、基础类型

      typedef unsigned long       DWORD;

      typedef int            
          BOOL;//TRUE FALSE

      typedef unsigned char       BYTE;

      typedef unsigned short      WORD;

      typedef float            
        FLOAT;

      typedef FLOAT*            
       PFLOAT;

      typedef BOOL*    PBOOL;

      typedef BOOL*            
        LPBOOL;

      typedef BYTE*    PBYTE;

      typedef BYTE*          
       LPBYTE;

      typedef int*          
       PINT;

      typedef int*          
       LPINT;

      typedef WORD*            
        PWORD;

      typedef WORD*          
       LPWORD;

      typedef long*            LPLONG;

      typedef DWORD*          
       PDWORD;

      typedef DWORD*          
       LPDWORD;

      typedef void*            
        LPVOID;

      typedef CONST void*        LPCVOID;

      typedef int            
          INT;

      typedef unsigned int        UINT;

      typedef unsigned int*       PUINT;

      #define VOID void

      typedef char CHAR;

      typedef short SHORT;

      typedef long LONG;

      typedef CHAR* PCHAR,  LPSTR; //可写的指针变量

      typedef CONST CHAR *LPCSTR, *PCSTR;//只读的指针变量

      ....

    • 二、结构体类型

      POINT,SIZE,RECT

      typedef struct tagPOINT

      {

      LONG  x;

      LONG  y;

      } POINT, *PPOINT, *LPPOINT;

      typedef struct tagSIZE

      {

      LONG        cx;

      LONG        cy;

      } SIZE, *PSIZE, *LPSIZE;

      typedef struct tagRECT

      {

      LONG    left;

      LONG    top;

      LONG    right;

      LONG    bottom;

      } RECT, *PRECT, *LPRECT;

    • 三、句柄类型

      可以操作某一类事物的指针变量(依托)

      故意隐含了具体内容的一个结构体指针变量;

      HWND:操作窗口的句柄

      HICON:图标的句柄

      HCURSOR:光标的句柄

      HMENU:菜单的句柄

      HDC:绘图句柄

    • 四、TCHAR自适应类型相关的表达方法

      a) 常见的TCHAR字符串类型:

      typedef TCHAR* PTCHAR,  LPTSTR; //自适应的可写的指针变量

      typedef CONST TCHAR *LPCTSTR, *PCTSTR; //自适应的只读的指针变量

      ?b)例如:TCHAR
      s[20];

      LPTSTR p = s;

      ?c) TCHAR类型的常量表达法:

      _TEXT(x)

      /*TCHAR的系统定义:

      #ifdef _UNICODE

      typedef  wchar_t TCHAR;

      #else

      typedef char TCHAR;

      #endif*/

      _TEXT的系统定义:

      #define _T(x)       __T(x)

      #define _TEXT(x)    __T(x)

      #ifdef _UNICODE

      #define _TEXT(x) L##x

      #else

      #define _TEXT(x) x

      #endif

时间: 2024-08-03 10:58:29

Win32API 数据基本类型的相关文章

MySQL学习笔记(6)之数据定义类型

数据定义类型总汇 1.整数型: 整数类型 字节 有符号范围 无符号范围 用途 tinyint 1 (-128,127) (0,255) 小整数 smallint 2 (-32 768,32 767) (0,65 535) 大整数 mediumint 3 (-8 388 608,8 388 607) (0,16 777 215) 大整数 int或integer 4 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 超大整数 bigint 8 (-9 

MySQL学习笔记(7)之数据定义类型

数据定义类型总汇 1.整数型: 整数类型 字节 有符号范围 无符号范围 用途 tinyint 1 (-128,127) (0,255) 小整数 smallint 2 (-32 768,32 767) (0,65 535) 大整数 mediumint 3 (-8 388 608,8 388 607) (0,16 777 215) 大整数 int或integer 4 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 超大整数 bigint 8 (-9 

C# Json反序列化 数据协定类型 无法反序列化 由于未找到必需的数据成员

背景今天在使用:C# Json 序列化与反序列化 反序列化的时候出现了以下的错误信息. System.Runtime.Serialization.SerializationException: 数据协定类型"TestEntity"无法反序列化,由于未找到必需的数据成员"multipleChoice, runTimeDisplayColumns". 在 System.ComponentModel.ReflectPropertyDescriptor.SetValue(O

addScalar 显式指定返回数据的类型

sql: select a.id as 受理 from a SQLQuery sqlQuery=this.getSession().createSQLQuery(sb.toString()).addScalar("appId",Hibernate.STRING).addScalar("受理",Hibernate.INTEGER); 注:一旦使用addScalar,所有的属性都得用上. addScalar 显式指定返回数据的类型

iOS数据存储类型 及 堆(heap)和栈(stack)

iOS数据存储类型 及 堆(heap)和栈(stack) 一般认为在c中分为这几个存储区: 1栈 --  由编译器自动分配释放. 2堆 --  一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收. 3全局区(静态存储区)-- 全局变量和静态变量的存储是放在一块区域 ,程序退出后自动释放 .全局区又分为全局初始化区和全局未初始化区.初始化的全局变量和静态变量存放在全局初始化区,未初始化的全局变量和未初始化的静态变量存放在相邻的另一块区域. 4常量区-- 专门放数字/字符常量的地方, 程

如何正确选择MySQL数据列类型

MySQL数据列类型选择是在我们设计表的时候经常会遇到的问题,下面就教您如何正确选择MySQL数据列类型,供您参考学习. 选择正确的数据列类型能大大提高数据库的性能和使数据库具有高扩展性.在选择MySQL数据列类型时,请从以下几个方面考虑: 存放到数据列中的数据类型. 数据值的取值范围. 考虑性能和处理效率. 数值操作比字符操作快. 小类型的处理速度比大类型快. 不同数据表中固定长度类型和可变长度类型的处理效率是不同的. 可变长度类型在经过删除和修改操作后容易产生碎片,降低系统性能,需定期运行O

MySQL数据表类型 数据类型

来源:http://blog.chinaunix.net/uid-10064369-id-2971161.html 表类型 MySQL的数据表类型很多,其中比较重要的是MyISAM,InnoDB这两种. 这两种类型各有优缺点,需要根据实际情况选择适合的,MySQL支持对不同的表设置不同的类型.下面做个对比: MyISAM表类型是一种比较成熟稳定的表类型,但是MyISAM对一些功能不支持.    MyISAM  InnoDB 事务  不支持  支持 数据行锁定  不支持,只有表锁定  支持 外键约

ospf的5种数据包类型

OSPF的数据包格式: 根据OSPF数据包type字段数值的不同,OSPF数据包类型分为5种,不同的type,其后面的内容也不同. 路由表的形成与这5种数据包的交互息息相关. type=1    hello数据包 type=2    数据库描述包--DBD type=3    链路状态请求包---LSR type=4    链路状态更新包---LSU type=5    链路状态确认包---LSAck 1.hello包-----周期10s 编号为1的OSPF数据包 功能:用于发现,和维持邻居关系

C++的那些事:数据与类型

一.前言 最近在看C++Primer第5版,先前已经看过第4版,但是发现第5版在整个知识布局与个别知识的讲解上跟第4版差别还是挺大的,尤其是新增了C++11的内容,正如孟岩老师在第5版前言中所讲:"现在能够以新的C++11风格开发实践的人是凤毛麟角,如果能够纯熟的运用C++11的新特征.新机制,那么就能够形成一种简洁优雅的C++编程风络,开发会变得更高效,更高质". 所以正好借助第5版来重新学习巩固C++的知识.<C++的那些事>这个系列,将会以知识碎片的形式记录我在学习过