HANDLE:定义一个32位的无符号的整数,用作句柄。
句柄是Windows编程的一个关键性的概念,编写Windows应用程序总是要和各种句柄打交道。所谓句柄,就是一个唯一的数,用以表示许多不同的对象类型,如窗口、菜单、内存、画笔、画刷、电话线路等。在Win32里,句柄是指向一个“无类型对象”(void*)的指针,也就是一个4字节长的数据。无论它的本质是什么,句柄并不是一个真正意义上的指针。
从构造上看,句柄是一个指针,尽管它没有指向用于存储某个对象的内存位置。事实上,句柄指向一个包含了对该对象进行引用的位置。句柄的声明是这样的:
typedef void *HANDLE
由于Windows是一个多任务操作系统,它可以同时运行多个程序或一个程序的多个副本。这些运行的程序成为一个实例。为了对同一程序的多个副本进行管理,Windows引入了实例句柄。Windows为每个引用程序建立一张表,实例句柄就好像是这张表的一个索引。
Windows不仅用句柄来管理实例,也用它来管理窗口、位图、字体、元文件、图标等系统资源。