Windows核心编程随笔

有哪些内核对象:

令牌对象 Token

事件对象 Event

文件对象 File

文件映射对象 Mapping File

线程对象 Thread

时钟对象 Timer

线程池对象 ThreadPool

I/O完成端对象 Completion port

工作对象 Job

邮槽对象 Mailslot

互斥对象 Mutex

管道对象 Pipe

进程对象 Process

信号灯对象 Semaphore

...

内核对象的结构:

公用部分(安全描述符、计数器) + 个性部分

Windows核心编程随笔

句柄、Windows数据类型:

WORD:16位无符号整型数据

DWORD:32位无符号整型数据(DWORD32)

DWORD64:64位无符号整型数据

INT:32位有符号整型数据类型

INT_PTR:指向INT数据类型的指针类型

INT32:32位符号整型

INT64:64位符号整型

UINT:无符号INT

LONG:32位符号整型(LONG32)

ULONG:无符号LONG

LONGLONG:64位符号整型(LONG64)

SHORT:无符号短整型(16位)

LPARAM:消息的L参数

WPARAM:消息的W参数

HANDLE:对象的句柄,最基本的句柄类型

HICON:图标的句柄

HINSTANCE:程序实例的句柄

HKEY:注册表键的句柄

HMODULE:模块的句柄

HWND:窗口的句柄

LPSTR:字符指针,也就是字符串变量

LPCSTR:字符串常量

LPCTSTR:根据环境配置,如果定义了UNICODE宏,则是LPCWSTR类型,否则则为LPCSTR类型

LPCWSTR:UNICODE字符串常量

LPDWORD:指向DWORD类型数据的指针

CHAR:8比特字节

TCHAR:如果定义了UNICODE,则为WCHAR,否则为CHAR

UCHAR:无符号CHAR

WCHAR:16位Unicode字符

BOOL:布尔型变量

BYTE:字节类型(8位)

CONST:常量

FLOAT:浮点数据类型

SIZE_T:表示内存大小,以字节为单位,其最大值是CPU最大寻址范围

VOID:无类型,相当于标准C语言中的void

WINAPI:Windows API的函数调用方式,常见于SDK头文件中对API函数的声明中,相当于_stdcall(更严格地说,这不是数据类型,而是一种函数调用约定

BYTE 8位 unsigned char

CHAR 8位 char

BOOL 16位 int

DWORD 32位 unsigned long int

HANDLE 一般句柄

HWND 32位 long int

LONG 32位 long int

LPCSTR 指向字符串的 const 指针

LPSTR 指向字符串的指针

SHORT 16位短整数

UINT 32位无符号长整数

WORD 16位无符号短整数

BITMAP 独立于逻辑设备的位图(DIB)

LOGBRUSH 逻辑刷

LOGFONT 逻辑字体

LOGPEN 逻辑笔

MSG 窗口消息

POINT 点

RECT 矩形

WNDCLASS 窗口类结构

hBitmap 为保存DIB图像信息的内存域的句柄

hBrush 当画图时用于填满设备范围的刷子的句柄

hCtl 子窗口控件的句柄

hCursor 鼠标光标句柄

hDc 设备描述表句柄

hDlg 文本字体的句柄

hFont 文本字体的句柄

hIcon 图标的句柄

hInstance windows应用程序实例句柄

hMem 内存块句柄

hMenu 菜单或弹出式菜单句柄

hModule 模式的句柄,常用于从一可执行文件获取资源数据

hPalette 颜色调色板

hPen 当在设备上画图时用于指明线型的笔的句柄

hRgn 在窗口上剪贴一块区域的句柄

hTask 独立于已执行的任务的句柄

hWnd 窗口句柄

Windows核心编程随笔

上一篇:Puppeteer在win2008 R2下的坑


下一篇:windows连接远程服务器报错'SSH' 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决方案