博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows内核编程之:返回状态值
阅读量:6270 次
发布时间:2019-06-22

本文共 1548 字,大约阅读时间需要 5 分钟。

/************************************************************************

* 返回状态值
*DDK大部分返回值类型是NTSTATUS类型。查看DDK.h文件,可以看到:
*************************************************************************/

typedef LONG NTSTATUS;

//NTSTATUS就是一个32位的整数,其每位有着不同的含义

在执行为内核函数后,应该查看该函数的返回状态

如果状态码高位为0,无论其它位置是否设置,该状态码代表成功
绝对不能用状态代码与0比较来判断操作是否成功
而应该使用NT_SUCCESS宏,其用法:

NTSTATUS status = Foo(...);if(NT_SUCCESS(status)){//函数执行成功}

/*常用NTSTATUS状态返回值*/

//分类                                    描述STATUS_SUCCESS                            //函数执行成功STATUS_UNSUCCESSFUL                        //函数执行不成功STATUS_NOT_IMPLEMENTED                    //函数未被实现STATUS_INVALID_INFO_CLASS                //输入参数是无效的类别STATUS_INFO_LENGTH_MISMATCH                //输入参数长度不匹配STATUS_ACCESS_VIOLATION                    //不允许访问STATUS_IN_PAGE_ERROR                    //发生页故障STATUS_INVALID_HANDLE                    //输入是无效的句柄STATUS_INVALID_PARAMETER                //输入是无效的参数STATUS_NO_SUCH_DEVICE                    //指定的设备不存在STATUS_NO_SUCH_FILE                        //指定的文件不存在STATUS_INVALID_DEVICE_REQUEST            //无效的设备请求STATUS_END_OF_FILE                        //文件已到结尾STATUS_INVALID_SYSTEM_SERVICE            //无效的系统调用STATUS_ACCESS_DENIED                    //访问被拒绝STATUS_BUFFER_TOO_SMALL                    //输入的缓冲区过小STATUS_OBJECT_TYPE_MISMATCH                //输入的对象类型不匹配STATUS_OBJECT_NAME_INVALID                //输入的对象名无效STATUS_OBJECT_NAME_NOT_FOUND            //输入的对象没有找到STATUS_PORT_DISCONNECTED                //无效连接的端口没有被连接STATUS_OBJECT_PATH_INVALID                //输入的对象路劲无效

 

转载地址:http://yilpa.baihongyu.com/

你可能感兴趣的文章
hadoop、hbase、zookeeper集群搭建
查看>>
python中一切皆对象------类的基础(五)
查看>>
modprobe
查看>>
android中用ExpandableListView实现三级扩展列表
查看>>
%Error opening tftp://255.255.255.255/cisconet.cfg
查看>>
java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
查看>>
《从零开始学Swift》学习笔记(Day 51)——扩展构造函数
查看>>
python多线程队列安全
查看>>
[汇编语言学习笔记][第四章第一个程序的编写]
查看>>
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
软件测试(二)之 Failure, Error & Fault
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>