未文档化资料
MSDN
1
2
|
NT_ASSERT(NT_SUCCESS(status));
ASSERT(NT_SUCCESS(status));
|
1
2
3
|
#pragma optimize( "", off )
/* unoptimized code section */
#pragma optimize( "", on )
|
内核函数
函数 |
功能 |
NtQuerySystemInformation |
查询内核重要信息 |
字符串操作 (CRT)
原始字符char *
wcs
,_wcs
(宽字符wchar_t *
)
_mbs
(多字节字符unsigned char *
)
功能 |
函数 |
复制字符串 |
strcpy、wcscpy、_mbscpy |
拼接字符串 |
strcat、wcscat、_mbscat |
拼接字符串(多一个长度参数) |
strncat、wcsncat、_mbsncat |
字符串长度 |
strlen、wcslen、_mbslen |
字符搜索 |
strchr、wcschr、_mbschr |
字符串搜索 |
strstr、wcsstr、_mbsstr |
转换大写 |
_strupr、_wcsupr、_mbsupr |
转换小写 |
_strlwr、_wcslwr、_mbslwr |
字符串比较 |
函数 |
区分大小写 |
strcmp、wcscmp、_mbscmp |
不区分大小写 |
_stricmp、_wcsicmp、_mbsicmp |
指定数量的字符串比较 |
函数 |
区分大小写 |
strncmp、wcsncmp、_mbsncmp |
不区分大小写 |
_strnicmp、_wcsnicmp、_mbsnicmp |
Byte - 8 bits 字节
Word - 16 bits 字
DoubleWord - 32 bits 双字
QuadWord - 64 bits 四字
OctaWord - 128 bits 八倍长字
标量类型 |
C 数据类型 |
大小(字节) |
建议对齐方式 |
INT8 |
char |
1 |
Byte |
UINT8 |
unsigned char |
1 |
Byte |
INT16 |
short |
2 |
Word |
UINT16 |
unsigned short |
2 |
Word |
INT32 |
int, long |
4 |
Dword |
UINT32 |
unsigned int, unsigned long |
4 |
Dword |
INT64 |
__int64 |
8 |
Qword |
UINT64 |
unsigned __int64 |
8 |
Qword |
FP32 (single precision) |
float |
4 |
Dword |
FP64 (double precision) |
double |
8 |
Qword |
POINTER |
* |
8 |
Qword |
__m64 |
struct __m64 |
8 |
Qword |
__m128 |
struct __m128 |
16 |
Oword |
数据类型__int8
、__int16
和__int32
是具有相同大小的ANSI数据类型
的同义词,对于编写在多个平台上行为相同的可移植代码非常有用。
__int8
=char
__int16
=short
__int32
=int
__int64
=long long
为了与早期版本兼容,除非指定了"禁用语言扩展 /Za"编译器选项。
_int8
=__int8
_int16
=__int16
_int32
=__int32
_int64
=__int64
[[Windows Kernel Programming 笔记#3 3 内核 API]]
前缀 |
内核组件 |
示例例程 |
Cm |
配置管理器 |
CmRegisterCallbackEx |
Ex |
执行函数 |
ExAllocatePool |
Hal |
硬件抽象层 |
HalGetAdapter |
Io |
I/O 管理器 |
IoAllocateIrp |
Ke |
内核函数 |
KeSetEvent |
Mm |
内存管理器 |
MmUnlockPages |
Ob |
对象管理器 |
ObReferenceObject |
Po |
电源管理 |
PoSetPowerState |
Tm |
事务管理器 |
TmCommitTransaction |
Nt and Zw |
Native系统服务 |
NtCreateFile and ZwCreateFile |