admin 管理员组

文章数量: 1184232

直接上初始化代码,并获取初始化失败原因。

#include "wingIO.h"
#include <qDebug>
#include <string>
#pragma comment(lib, "WinRing0x64.lib")
wingIO::wingIO(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    if (!InitializeOls()) {
       DWORD str =  GetDllStatus();//获取失败原因代码
       std::string cur_str = std::to_string(long long(str));
        ui.label->setText(QString::fromStdString(cur_str));//失败原因打印出来
        return;
    }
   BYTE Data = ReadIoPortByte(0xA02);
   std::string cur_Data = std::to_string(long long(Data));
   //ui.label->setText(QString::fromStdString(cur_Data));
   ui.label->setText("888");
   
}
wingIO::~wingIO()
{
    DeinitializeOls();
}

下面是我失败原因图片

没显示888证明初始化失败。失败代码是3,查找winring0文档

3的原因是找不到驱动,问题找到了那就把驱动放到exe那里。

驱动文件sys放进rexe目录下再运行一次发现初始化成功了!

我看见网上对于winring0初始化失败解决方法很少我就发出来给各位有需要的伙伴看看!

本文标签: 失败原因 败问题 编程