zoukankan      html  css  js  c++  java
  • Windows内核编程之:返回状态值

    /************************************************************************
    * 返回状态值
    *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                //输入的对象路劲无效
  • 相关阅读:
    用Zend Studio12 导入在workspace中的项目
    PHP 统计中文字符串的长度
    jQuery判断checkbox是否选中的3种方法
    js,jquery获取下拉框选中的option
    HTML与XHTML的区别
    HTML头部
    HTML框架标签
    js的继承
    图片懒加载
    Http请求的gzip压缩
  • 原文地址:https://www.cnblogs.com/qintangtao/p/3020191.html
Copyright © 2011-2022 走看看