-
句柄數
鎖定
- 中文名
- 句柄數
- 平 台
- Windows
- 解 釋
- 應用程序所建立或使用的對象
- 例 子
- 應用程序實例,控制位GDI對象
句柄數操作
從上面的定義中的我們可以看到,句柄是一個標識符,是拿來標識對象或者項目的,它就像我們的姓名一樣,每個人都會有一個,不同的人的姓名不一樣,但是,也可能有一個名字和你一樣的人,而句柄則是唯一的。從數據類型上來看它只是一個32位的無符號整數(16位機是16位)。應用程序幾乎總是通過調用一個Windows函數來獲得一個句柄,之後其他的Windows函數就可以使用該句柄,以引用相應的對象。
句柄數命令
如果想更透徹一點地認識句柄,我可以告訴大家,句柄是一種指向指針的指針。我們知道,所謂指針是一種內存地址。應用程序啓動後,組成這個程序的各對象是駐留在內存的。如果簡單地理解,似乎我們只要獲知這個內存的首地址,那麼就可以隨時用這個地址訪問對象。但是,如果您真的這樣認為,那麼您就大錯特錯了。我們知道,Windows是一個以虛擬內存為基礎的操作系統。在這種系統環境下,Windows內存管理器經常在內存中來回移動對象,依此來滿足各種應用程序的內存需要。對象被移動意味着它的地址變化了。如果地址總是如此變化,我們該到哪裏去找該對象呢?
句柄數原理
為了解決這個問題,Windows操作系統為各應用程序騰出一些內存儲地址,用來專門登記各應用對象在內存中的地址變化,而這個地址(存儲單元的位置)本身是不變的。Windows內存管理器在移動對象在內存中的位置後,把對象新的地址告知這個句柄地址來保存。這樣我們只需記住這個句柄地址就可以間接地知道對象具體在內存中的哪個位置。這個地址是在對象裝載(Load)時由系統分配給的,當系統卸載時(Unload)又釋放給系統。
句柄地址(穩定)→記載着對象在內存中的地址────→對象在內存中的地址(不穩定)→實際對象
句柄數本質
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:15次歷史版本
- 最近更新: L海杰123