首页
社区
课程
招聘
[求助]win7 64bit内核驱动开发 蓝屏问题
发表于: 2016-5-1 17:18 3522

[求助]win7 64bit内核驱动开发 蓝屏问题

2016-5-1 17:18
3522
各位小伙伴,大家好,本人在开发win7 64bit内核驱动时,遇到如下问题:

 本驱动需要进行DMA操作,因此在IRP_MN_START_DEVICE接口中进行DMA连续物理内存的开辟,但函数IoGetDmaAdapter执行后,系统出现蓝屏重启现象。

奇怪的是:此驱动在某些老款主板上运行是ok的,但在某些新主板上执行发生蓝屏现象。

请教各位大侠,这可能是什么原因导致的呢?

相关代码如下:

    RtlZeroMemory(&deviceDescription, sizeof(DEVICE_DESCRIPTION));
    deviceDescription.Version = DEVICE_DESCRIPTION_VERSION;
    deviceDescription.Master = TRUE;
    deviceDescription.ScatterGather = FALSE;
    deviceDescription.InterfaceType = PCIBus;
    //deviceDescription.Dma32BitAddresses = TRUE; 
    deviceDescription.Dma64BitAddresses = TRUE; 
    deviceDescription.MaximumLength = 0x00020000; 
    pdx->MaxMapRegisters = BYTES_TO_PAGES(0x00000200); // 减少内存开辟,依然蓝屏

    KdPrint(("MaxMapRegisters=0x%x\n",  pdx->MaxMapRegisters));
   
    // 下面的函数,对某些型号的主板会有蓝屏现象
    pdx->DmaAdapter = IoGetDmaAdapter(
       //NULL,
                                     pdx->NextStackDevice, // 20151124
                                     &deviceDescription, 
                                     &pdx->MaxMapRegisters
                                     );

该问题已经困扰我很久了,望各位大神相助,不胜感激!

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 396
活跃值: (54)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
verifier 检测过你的驱动了么。。
2016-6-3 17:22
0
游客
登录 | 注册 方可回帖
返回
//