Windows常見面試題——控制代碼

來源:互聯網
上載者:User

標籤:Windows;面試;

1.什麼是控制代碼,請談談你的理解

答:控制代碼實際上是一個long型資料,是作業系統在產生對象時為對象分配的唯一標識。
Windows雖然是C和彙編寫的,但是也使用了物件導向的思想。(比如視窗,檔案,繪圖裝置環境等等) 他們都是對象,一個對象的資料應該是隱藏起來的,我們應當只能通過介面去修改資料,但是和C++不同的是,沒有把函數和資料封裝到一起,所以就有了控制代碼這一概念,用以代表某一個對象,然後使用函數來操作這個對象時,就需要把控制代碼傳進去,作用類似於C++中的this指標。最終目的是用來訪問對象,一個控制代碼代表著一個對於對象的開啟操作。控制代碼就是我們去訪問對象的鑰匙,是對象的索引。

2.控制代碼都有哪些種類?

答:常見的控制代碼有:
HWND 視窗控制代碼
HINSTANCE 當前實列控制代碼
HCURSOR 游標控制代碼
HFONT 字型控制代碼
HPEN 畫筆控制代碼
HBRUSH 畫刷控制代碼
HDC 裝置環境控制代碼
HBITMAP 位元影像控制代碼
HICON 表徵圖控制代碼
HMENU 菜單控制代碼
HFILE 檔案控制代碼

3.對於核心進程來說,進程中有一個進程表。不同進程中的進程表格儲存體的相同的控制代碼值代表的是同一個核心對象嗎?

答:核心對象的控制代碼是和進程相關的,對於同一個對象來講,在不同的進程中,其控制代碼值是不一樣的,這點和GDI對象不同,GDI對象的控制代碼值是全域有效,在不同的進程中,可以使用同一個控制代碼值訪問同一個GDI對象。在每一個進程對象中,都有一個控制代碼表,用以記錄本進程所開啟的所有核心對象,控制代碼的值則可以簡單的看作控制代碼表中的索引,所以核心對象的控制代碼值,僅僅對本進程有效。

4.什麼是模組,模組控制代碼的本質是什嗎?

Windows常見面試題——控制代碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.