分享
 
 
 

Windows数据类型探幽——千回百转你是谁?(1)

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Windows Data Types

Windows数据类型

由微软Windows操作系统所支持的各种数据类型是用来定义函数的返回值、函数和消息的参数以及结构体成员(因为Win32程序是用C语言来编写,所以没有“类”这个概念)的。这些数据类型定义了上述元素的尺码(在内存中的,也就是占用内存的字节数)和含义。笔者以前一直不太注意这些东西,结果在程序设计时可谓步履维艰。不同类型的常/变量,在程序用扮演的角色相去甚远,了解这些类型,对剖析程序的工作原理是非常有用的。今天又是周末,我把这些类型列出来,然后把它们的“原形”也找出来——是不是很像“照妖镜”呀。

下面这张表里包括这些类型:字符类型(character),整数类型(integer),逻辑值类型(布尔型,海峡那边的兄弟们喜欢叫“布林型”,Boolean),指针类型(pointer),句柄型(handle)。其中,字符类型、整数类型和逻辑值(布尔)类型是C语言编译器通用的,也就是与标准C语言一样。大多数指针类型都是以P(Pointer)或者LP(Long Pointer)前缀开头。“句柄”是指被装载进内存的一个资源(本质而言就是指一定范围内的唯一编号)。

下面这张表是我结合MSDN里的资料制作的,因为自己也是初学,做的还比较粗糙,请大家多多指正:)

Windows数据类型

本质类型

字节数

定义过程(来历)

含义

ATOM

unsigned short

2

unsigned short→WORD→ATOM

在Atom表中,一键(16位整数)一值(一个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

字节型,8位。

CALLBACK

__stdcall

调用

__stdcall→CALLBACK

回调函数的调用约定

CHAR

char

1

char→CHAR

8位Windows字符(ANSI)

COLORREF

unsigned long

4

unsigned long→DWORD→COLORREF

红,绿,蓝(RGB)值

CONST

const

关键字

const→CONST

常量

CRITICAL_SECTION

RTL_CRITICAL_SECTION结构体

?

RTL_CRITICAL_SECTION(结构)→CRITICAL_SECTION

Critical-section对象

DWORD

unsigned long

4

unsigned long→DWORD

32位无符号整数

DWORD_PTR

unsigned long

4

unsigned long→ULONG_PTR→DWORD_PTR(另有其它路径)

略……(用处挺大,不过太长了)

DWORD32

unsigned int

*

unsigned int→DWORD32

32位无符号整数

DWORD64

unsigned __int64

8

unsigned __int64→DWORD64

64位无符号整数

FLOAT

float

4

float→FLOAT

浮点数变量

HACCEL

HACCEL__结构体指针

由DECLARE_HANDLE(name)宏定义的指向HACCEL__结构体的指针

快捷键列表的句柄

HANDLE

void *(一个地址)

void *→HANDLE

对象的句柄

HBITMAP

HBITMAP__结构体指针

由DECLARE_HANDLE(name)宏定义的指向HBITMAP__结构体的指针

位图的句柄

HBRUSH

HBRUSH__结构体指针

由DECLARE_HANDLE(name)宏定义……

画刷的句柄

HCONV

HCONV__结构体指针

由DECLARE_HANDLE(name)宏定义……

动态数据交换(DDE)会话的句柄

HCONVLIST

HCONVLIST__结构体指针

由DECLARE_HANDLE(name)宏定义……

动态数据交换(DDE)会话列表的句柄

HCURSOR

HICON__结构体指针

HICON__ *→HICON→HCURSOR

光标的句柄

HDC

HDC__结构体指针

由DECLARE_HANDLE(name)宏定义……

设备上下文(DC)的句柄

HDDEDATA

HDDEDATA__结构体指针

由DECLARE_HANDLE(name)宏定义……

动态数据交换数据的句柄

HDESK

HDESK__结构体指针

由DECLARE_HANDLE(name)宏定义……

桌面(Desktop)的句柄

HDROP

HDROP__结构体指针

由DECLARE_HANDLE(name)宏定义……

Handle to an internal drop structure.

HDWP

void *(一个地址)

void *→HANDLE→HDWP

Handle to a deferred window position structure.

HENHMETAFILE

HENHMETAFILE__结构体指针

由DECLARE_HANDLE(name)宏定义……

增强图元文件的句柄

HFILE

int

*

int→HFILE

由OpenFile(而不是CreateFile)打开的文件的句柄.

HFONT

HFONT__结构体指针

由DECLARE_HANDLE(name)宏定义……

字体的句柄

HGDIOBJ

void near *

void NEAR *→HGDIOBJ

GDI对象的句柄

HGLOBAL

void *(一个地址)

void *→HANDLE→HGLOBAL

全局内存块的句柄

HHOOK

HHOOK__结构体指针

由DECLARE_HANDLE(name)宏定义……

句子(hook)的句柄

HICON

HICON__结构体指针

由DECLARE_HANDLE(name)宏定义……

图标的句柄

HIMAGELIST

_IMAGELIST结构体指针

_IMAGELIST *→HIMAGELIST

图片列表的句柄

HIMC

HIMC__结构体指针

由DECLARE_HANDLE(name)宏定义……

输入上下文的句柄

HINSTANCE

HINSTANCE__结构体指针

由DECLARE_HANDLE(name)宏定义……

实例的句柄

HKEY

HKEY__结构体指针

由DECLARE_HANDLE(name)宏定义……(另有一条路径,一样)

注册表键的句柄

HKL

HKL__结构体指针

由DECLARE_HANDLE(name)宏定义……

输入点标识符

HLOCAL

void *(一个地址)

void *→HANDLE→HLOCAL

本地内存块的句柄

HMENU

HMENU__结构体指针

由DECLARE_HANDLE(name)宏定义……

菜单的句柄

HMETAFILE

HMETAFILE__结构体指针

由DECLARE_HANDLE(name)宏定义……

图元文件的句柄

HMODULE

HINSTANCE__结构体指针

HINSTANCE__*→HINSTANCE→HMODULE

模块的句柄。值由模块的位置来决定。

HMONITOR

HMONITOR__结构体指针

由DECLARE_HANDLE(name)宏定义……

显示器的句柄

HPALETTE

HPALETTE__结构体指针

由DECLARE_HANDLE(name)宏定义……

调色板的句柄

HPEN

HPEN__结构体指针

由DECLARE_HANDLE(name)宏定义……

画(线)笔的句柄

HRGN

HRGN__结构体指针

由DECLARE_HANDLE(name)宏定义……

区域的句柄

HRSRC

HRSRC__结构体指针

由DECLARE_HANDLE(name)宏定义……

资源的句柄

HSZ

HSZ__结构体指针

由DECLARE_HANDLE(name)宏定义……

动态数据交换(DDE)字符串的句柄

HWINSTA

HWINSTA__结构体指针

由DECLARE_HANDLE(name)宏定义……

窗口状态的句柄

HWND

HWND__结构体指针

由DECLARE_HANDLE(name)宏定义……

窗口的句柄

接下表

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有