• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 为什么我的vxdhook不上中断8

为什么我的vxdhook不上中断8

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了dnf上游戏就网络中断,dnf一上号就网络中断,dnf一上就网络中断,刑法上的因果关系中断,tgp上dnf网络连接中断等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 为什么我的vxd hook不上中断8
描述:

我试验写一个处理中断8的vxd
win98+vtoolds3+vc6
头文件:
#define HWINT_DeviceID 0xAAAA//随便写了个比较大的应该没冲突
#define HWINT_Init_Order UNDEFINED_INIT_ORDER
#define HWINT_Major 1
#define HWINT_Minor 0
#define RTCIRQ 8//就是中断8(时钟中断)
class HwInt:public VHardwareInt
{
public:
HwInt():VHardwareInt(RTCIRQ,0,0,0){}
virtual VOID OnHardwareInt(VMHANDLE);
};
class HwintDevice : public VDevice
{
public:
virtual BOOL OnSysDynamicDeviceInit();
virtual BOOL OnSysDynamicDeviceExit();
virtual DWORD OnW32DeviceIoControl(PIOCTLPARAMS pDIOCParams);
HwInt *phwint;
};
以下是源文件:
... ...
DWORD val;//这个用于存储计数
BOOL HwintDevice::OnSysDynamicDeviceInit()
{
val=0;//再普通不过的代码了
phwint=new HwInt();//这里成功了
if (phwint)
{
if (phwint->hook())//这里也成功了
{
phwint->physicalUnmask();
return TRUE;
}
else
{
return false;
}
}
else
{
return false;
}
}//总之,这里没返回过任何错误
VOID HwInt::OnHardwareInt(VMHANDLE hVM)
{
val++;//什么也不干,就是计数器+1,可是却一向都是0
sendPhysicalEOI();
}
DWORD HwintDevice::OnW32DeviceIoControl(PIOCTLPARAMS pDIOCParams)
{
char * pbufout;
... ...
switch (pDIOCParams->dioc_IOCtlCode)
{
... ...
case 0xff:
DWORD* pval;
pval=&val;
pbufout=(char *)pDIOCParams->dioc_OutBuf;
memcpy(pbufout,pval,4);//就是这里无论如何都是0
break;
}
return 0;
}
表面上看好像没什么问题,可计数器的数值就是为0,好像从来也发生多中断8,或者发生过却从没调用过OnHardwareInt(那不就是没hook上去),郁闷中...
由于用Debug Monitor调试,我在代码中加了许多dout<<,调试信息说明OnSysDynamicDeviceInit中没有任何失败,
请各位大虾给指条明路,或者给点代码
在下这里先谢了


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 为什么我的vxdhook不上中断8

相关文章

  • 2017-06-05 STC15F2K16S2-35I求高手指点迷津
  • 2017-06-05 求802154中文译本
  • 2017-06-17I2C总线模块
  • 2017-06-05 vxworks68UP模式下进不了系统
  • 2017-06-05 ◎◎◎USBKEY里面都是什么东西◎◎◎
  • 2017-06-05 网络视频监控
  • 2017-06-05 DSP开发类似于手机的东西,从何入门?
  • 2017-06-05 有没有人对数码相机与pc的通信协议比较了解的?
  • 2017-06-05 在arm或者android使用alsa播放wav文件
  • 2017-06-05 shell脚本shell脚本中关于$的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 将采集板卡采集到的数据传输通过usb传输给电脑,需要写驱动程序吗
    • RGB灯带控制
    • 大侠们进:uclinux下的jffs文件系统移植的疑问
    • 为什么系统调用比普通的函数调用更耗时?用户态和内核态切换的代价在哪?
    • 想在虚拟机安装MACOS,如何找到MACOS的IOS文件?
    • 如何实现与摄像头交互?
    • STM32F103VCT6能写入比本身最大地址大的地址
    • 请问在那里可以找到FAT12的资料?
    • wince60下usb拷贝数据问题
    • 关于ISE中NGC文件调用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有