核心对象有Kerne32.dll管理,以HANDLE为使用时的参考依据。所谓handle,其实是个指针,只像操作系统内存空间中的某样东西,那东西不允许你直接取得,你的程序不能够直接取用它,是为了维护系统的完整性与安全性。Win32核心对象包括:进程、线程、文件、事件、信号量、互斥器、管道。
GDI对象由GDI32.dll管理。
GDI对象和核心对象之间有一个主要的不同。GDI对象有单一拥有者,不是进程就是线程。核心对象可以有一个以上的拥有者,甚至可以跨进程。为了保持对每一个拥有者的跟踪,核心对象保持一个引用计数(reference count),以记录有多少handles对应到此对象,对象中也记录了哪一个进程或线程拥有者。