句柄是Windows操作系统中一个用于唯一标识系统内部数据结构的32位无符号整数值[1][2]。句柄的作用在于使应用程序能够请求操作系统对特定的系统资源进行操作,如窗口、位图、图标等。常见的API函数通常将句柄作为其输入参数之一。 句柄的概念
从概念上看,句柄可以被视为一种对象的标识,而在实际处理过程中,它可以被定义为指针或者同类对象数组的索引。这种灵活性使得开发者可以根据具体需求选择合适的处理方式。在Windows中,类似的设计技巧还有很多例子,如CallWindowProc函数的处理方式,它在不同的环境下返回不同类型的数据结构,从而解决了16位/32位及ANSI/UNICODE的转换问题。 句柄的定义与实现
在Windows中,句柄是一个32位无符号整数值,每个对象都对应着一个唯一的句柄,同时每个句柄也能唯一地映射到一个对象[3]。