?? windows data type.txt
字號:
Windows Data Types
Windows數(shù)據(jù)類型
由微軟Windows操作系統(tǒng)所支持的各種數(shù)據(jù)類型是用來定義函數(shù)的返回值、函數(shù)和消息的參數(shù)以及結(jié)構(gòu)體成員(因為Win32程序是用C語言來編寫,所以沒有“類”這個概念)的。這些數(shù)據(jù)類型定義了上述元素的尺碼(在內(nèi)存中的,也就是占用內(nèi)存的字節(jié)數(shù))和含義。筆者以前一直不太注意這些東西,結(jié)果在程序設(shè)計時可謂步履維艱。不同類型的常/變量,在程序用扮演的角色相去甚遠(yuǎn),了解這些類型,對剖析程序的工作原理是非常有用的。今天又是周末,我把這些類型列出來,然后把它們的“原形”也找出來——是不是很像“照妖鏡”呀。
下面這張表里包括這些類型:字符類型(character),整數(shù)類型(integer),邏輯值類型(布爾型,海峽那邊的兄弟們喜歡叫“布林型”,Boolean),指針類型(pointer),句柄型(handle)。其中,字符類型、整數(shù)類型和邏輯值(布爾)類型是C語言編譯器通用的,也就是與標(biāo)準(zhǔn)C語言一樣。大多數(shù)指針類型都是以P(Pointer)或者LP(Long Pointer)前綴開頭。“句柄”是指被裝載進(jìn)內(nèi)存的一個資源(本質(zhì)而言就是指一定范圍內(nèi)的唯一編號)。
下面這張表是我結(jié)合MSDN里的資料制作的,因為自己也是初學(xué),做的還比較粗糙,請大家多多指正:)
由微軟Windows操作系統(tǒng)所支持的各種數(shù)據(jù)類型是用來定義函數(shù)的返回值、函數(shù)和消息的參數(shù)以及結(jié)構(gòu)體成員(因為Win32程序是用C語言來編寫,所以沒有“類”這個概念)的。這些數(shù)據(jù)類型定義了上述元素的尺碼(在內(nèi)存中的,也就是占用內(nèi)存的字節(jié)數(shù))和含義。筆者以前一直不太注意這些東西,結(jié)果在程序設(shè)計時可謂步履維艱。不同類型的常/變量,在程序用扮演的角色相去甚遠(yuǎn),了解這些類型,對剖析程序的工作原理是非常有用的。今天又是周末,我把這些類型列出來,然后把它們的“原形”也找出來——是不是很像“照妖鏡”呀。
下面這張表里包括這些類型:字符類型(character),整數(shù)類型(integer),邏輯值類型(布爾型,海峽那邊的兄弟們喜歡叫“布林型”,Boolean),指針類型(pointer),句柄型(handle)。其中,字符類型、整數(shù)類型和邏輯值(布爾)類型是C語言編譯器通用的,也就是與標(biāo)準(zhǔn)C語言一樣。大多數(shù)指針類型都是以P(Pointer)或者LP(Long Pointer)前綴開頭。“句柄”是指被裝載進(jìn)內(nèi)存的一個資源(本質(zhì)而言就是指一定范圍內(nèi)的唯一編號)。
下面這張表是我結(jié)合MSDN里的資料制作的,因為自己也是初學(xué),做的還比較粗糙,請大家多多指正:)
┌─────────┬──────────┬───┬──────────────┬────────────────┐
│Windows數(shù)據(jù)類型 │本質(zhì)類型 │字節(jié)數(shù)│定義過程(來歷) │含義 │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│ATOM │unsigned short │2 │unsigned short→WORD→ATOM │在Atom表中,一鍵(16位整數(shù)) │
│ │ │ │ │一值(一個String)為一個Atom。 │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│BOOL │int │* │int→BOOL │邏輯變量,布爾值 │
│ │ │ │ │(取值為 TRUE 或 FALSE) │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│BOOLEAN │unsigned char │1 │unsigned char→BYTE→BOOLEAN│邏輯變量,布爾值 │
│ │ │ │ │(取值為 TRUE 或 FALSE) │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│BYTE │unsigned char │1 │unsigned char→BYTE │字節(jié)型,8位。 │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│CALLBACK │__stdcall │調(diào)用 │__stdcall→CALLBACK │回調(diào)函數(shù)的調(diào)用約定 │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│CHAR │char │1 │char→CHAR │8位Windows字符(ANSI) │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│COLORREF │unsigned long │4 │unsigned long→DWORD │紅,綠,藍(lán)(RGB)值 │
│ │ │ │→COLORREF │ │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│CONST │const │關(guān)鍵字│const→CONST │常量 │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│CRITICAL_SECTION │RTL_CRITICAL_SECTION│? │RTL_CRITICAL_SECTION(結(jié)構(gòu))│Critical-section對象 │
│ │結(jié)構(gòu)體 │ │→CRITICAL_SECTION │ │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│DWORD │unsigned long │4 │unsigned long→DWORD │32位無符號整數(shù) │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│DWORD_PTR │unsigned long │4 │unsigned long→ULONG_PTR │略……(用處挺大,不過太長了) │
│ │ │ │→DWORD_PTR(另有其它路徑) │ │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│DWORD32 │unsigned int │* │unsigned int→DWORD32 │32位無符號整數(shù) │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│DWORD64 │unsigned __int64 │8 │unsigned __int64→DWORD64 │64位無符號整數(shù) │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│FLOAT │float │4 │float→FLOAT │浮點數(shù)變量 │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HACCEL │HACCEL__結(jié)構(gòu)體指針 │ │由DECLARE_HANDLE(name)宏定義│快捷鍵列表的句柄 │
│ │ │ │的指向HACCEL__結(jié)構(gòu)體的指針 │ │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HANDLE │void *(一個地址) │ │void *→HANDLE │對象的句柄 │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HBITMAP │HBITMAP__結(jié)構(gòu)體指針 │ │由DECLARE_HANDLE(name)宏定義│位圖的句柄 │
│ │ │ │的指向HBITMAP__結(jié)構(gòu)體的指針 │ │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HBRUSH │HBRUSH__結(jié)構(gòu)體指針 │ │由DECLARE_HANDLE(name)宏定義│畫刷的句柄 │
│ │ │ │... │ │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HCONV │HCONV__結(jié)構(gòu)體指針 │ │由DECLARE_HANDLE(name)宏定義│動態(tài)數(shù)據(jù)交換(DDE)會話的句柄 │
│ │ │ │... │ │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HCONVLIST │HCONVLIST__結(jié)構(gòu)體 │ │由DECLARE_HANDLE(name)宏定義│動態(tài)數(shù)據(jù)交換(DDE) │
│ │指針 │ │... │會話列表的句柄 │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HCURSOR │HICON__結(jié)構(gòu)體指針 │ │HICON__ *→HICON→HCURSOR │光標(biāo)的句柄 │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HDC │HDC__結(jié)構(gòu)體指針 │ │由DECLARE_HANDLE(name)宏定義│設(shè)備上下文(DC)的句柄 │
│ │ │ │... │ │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HDDEDATA │HDDEDATA__結(jié)構(gòu)體指針│ │由DECLARE_HANDLE(name)宏定義│動態(tài)數(shù)據(jù)交換數(shù)據(jù)的句柄 │
│ │ │ │... │ │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HDESK │HDESK__結(jié)構(gòu)體指針 │ │由DECLARE_HANDLE(name)宏定義│桌面(Desktop)的句柄 │
│ │ │ │... │ │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HDROP │HDROP__結(jié)構(gòu)體指針 │ │由DECLARE_HANDLE(name)宏定義│Handle to an internal drop │
│ │ │ │... │structure. │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HDWP │void *(一個地址) │ │void *→HANDLE→HDWP │Handle to a deferred window │
│ │ │ │ │position structure. │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│HENHMETAFILE │HENHMETAFILE__結(jié)構(gòu)體│ │由DECLARE_HANDLE(name)宏定義│增強(qiáng)圖元文件的句柄 │
│ │指針 │ │... │ │
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -