阅读:2513回复:12
【求助】PCI驱动一个奇怪的问题,急急急!
问题描述:
工具:VC6.0 + XPDDK + DS2.7 首先,我用DS生成了一个驱动框架。编译-》安装-》没有错误(由于我没有插卡,所以安装完之后会有黄色的问号,应该不是这个问题)。 然后,我在XXXDevice.h文件中添加语句:添加了 DEVMEMBER_DMAREADY(XXXDevice, OnDmaReady) VOID StartDMA(ULONG PAddress,ULONG NBytes); VOID OnDmaReady(KDmaTransfer* pXfer,KIrp I); KDmaTransfer* m_CurrentTransfer; ULONG m_PAddr; PVOID m_LAddr; .................. 等等 编译-》安装-》没有错误 接着,我又在XXXDevice.h中添加了KCommonDmaBuffer m_DmaBuffer;语句(注意,问题来了)。然后重新编译-》安装-》结果:蓝屏直接重启。 请问各位高手,遇到过这种问题没?应该怎么处理? 万分感谢!!! |
|
沙发#
发布于:2007-06-25 20:58
自己顶一下
急啊! |
|
板凳#
发布于:2007-06-26 09:26
debugging this issue
|
|
地板#
发布于:2007-06-26 10:28
楼上的啥意思呀?
能否说的详细点呢? 谢谢!!!!!!!!!!!!!!!!!!!!!! |
|
地下室#
发布于:2007-07-03 16:03
补充一下:
安装驱动的时候SOFTICE跳出来提示:ASSERT failed:m_pVirtualBase==NULL E:\Program Files\Compuware\SoftICE Driver Suite\DriverWorks\source\kadapter.cpp line195 就是调用m_DmaBuffer.Initialize(&m_Dma,0x100000);时去调用了kadapter.cpp中的 VOID KCommonDmaBuffer::Initialize( KDmaAdapter* pAdapter, ULONG size, BOOLEAN CacheEnabled ) { if (IsValid()) { ASSERT(m_pVirtualBase==NULL); ---》》195行 Invalidate(); } m_pAdapter = pAdapter; m_Size = size; m_CacheEnabled = CacheEnabled; _construct(); } 请问是什么原因呀? 高手指教一下,现在因为这个问题十分困惑啊 |
|
驱动牛犊
|
5楼#
发布于:2007-07-04 13:14
先创建一个DMA适配器对象,然后用这个对象将你的commonbuffer进行初始化
并分配你要的空间大小就可以了。再有问题,再 联系 |
6楼#
发布于:2007-11-07 17:44
ooooo
|
|
7楼#
发布于:2007-11-07 17:45
KCommonDmaBuffer m_DmaBuffer没有初始化
|
|
8楼#
发布于:2007-11-07 17:47
KCommonDmaBuffer m_DmaBuffer没有初始化KCommonDmaBuffer m_DmaBuffer没有初始化 setup一下,安装完驱动,是不是会访问?
|
|
9楼#
发布于:2007-11-08 17:52
你用Wizard新建个工程把, 在之中选择分配一个CommmBufer, 这样生成的框架中这个buffer就自动给你初始化好了
|
|
10楼#
发布于:2007-12-01 02:22
哦,你的是2.7啊,这个得自己初始化
3.2的话,Wizard时选择分配一个CommmBufer,会自动生成初始化的代码 |
|
11楼#
发布于:2008-02-26 22:18
m_DmaBuffer.Initialize(&m_Dma,0x100000);
就是这个,我给m_DmaBuffer分配内存的时候就不行,望赐教 |
|
12楼#
发布于:2008-02-26 22:21
怎样初始化CommmBufer啊
|
|