windows会为所有加载的资源分配一个唯一的标识符,该标识符就是句柄,通过句柄可以操作它所指向的对象,那么句柄究竟是什么样的数据结构,它是如何实现和指针的转换呢?先看句柄在MFC头文件WINNT.H中的定义:
//*****************************************************************************************************************
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
#endif
typedef HANDLE *PHAND