常用的基本数据类型
通过 typedef 重定义 , 例如: typedef unsigned long ULONG;
ULONG = unsigned long
UCHAR = unsigned char
UINT = unsigned int
VOID = void
PULONG = unsigned long *
PUCHAR = unsigned char *
PUINT = unsigned int *
PVOID = void *
32位下 void 是空类型,char 1字节,int 4字节 long 也是4字节,通常64位 long 是8字节,int 是4字节.
指针的长度跟随操作系统的位数
常用的返回值,这个并没有强制的说必须返回什么.
STATUS_SUCCESS 成功
STATUS_INVALID_PARAMETER 错误参数,一般表示发送到设备的IRP或调用某个函数提供了错误的参数.最长出现
STATUS_INSUFFICIENT_RESOURCES 资源不足,一般发生在分配内存失败,系统资源枯竭时.最少出现,一般不会出现.
STATUS_PENDING 请求尚未完成,不能算做是一个错误.常见于异步的文件读写操作.
STATUS_BUFFER_OVERFLOW 缓冲区长度不足,可能需要更长的输出缓冲.
STATUS_BUFFER_TOO_SMALL 和上面一样,但是有细微的差别,但没有必要注意这些细节.
相关文件:
NTSTATUS常量定义头文件 ntstatus.h
基本类型的类型定义头文件 ntdef.h