Handle
是代表系統的內核對象,如文件句柄,線程句柄,進程句柄。
在Windows環境中,句柄是用來標識項目的,這些項目包括:模塊(module)、任務(task)、實例 (instance)、文件
(file)、內存塊(block of memory)、菜單(menu)、控制(control)、字體(font)、資源(resource),包
括圖標(icon),光標 (cursor),字符串(string)等、GDI對象(GDI object),包括位圖(bitmap),畫刷
(brush),元文件(metafile),調色板(palette),畫筆(pen),區域 (region),以及設備描述表
(device context)。
WONDOWS系統對內核對象以鏈表的形式進行管理,載入到內存中的每一個內核對象都有一個線性地址,同時相對系統來說,在串列中有一個索引位置,這個索
引位置就是內核對象的handle。
句柄是WONDOWS用來標識被應用程序所建立或使用的對象的唯一整數,WINDOWS使用各種各樣的句柄標識諸如應用程序實例,窗口,控制,位 圖,GDI對象等等。
句柄是WONDOWS用來標識被應用程序所建立或使用的對象的唯一整數,WINDOWS使用各種各樣的句柄標識諸如應用程序實例,窗口,控制,位 圖,GDI對象等等。
句柄只有當唯一的確定了一個項目的時候,它纔開始有意義。句柄對應着項目表中的一項,只是一個索引值,不是物理地址,應用程序還不能直接存取這塊內存,而
只有WINDOWS本身才能直接存取這個表,應用程序只能通過API函數來處理不同的句柄。
HMODULE
是代表應用程序載入的模塊,win32系統下通常
是被載入模塊的線性地址。
HINSTANCE
在win32下與HMODULE是相同的東西,在Win32下還存在主要是因爲Win16 程序使用HINSTANCE來區別任務,等同於
HMODULE。