阅读:1093回复:2
当对dma 的transfer 进行初始化时产生 irql_not_less_or_equal
当对dma 的transfer 进行初始化时m_CurrentTransfer->Initiatein
在softice 产生 irql_not_less_or_equal 请问这是什么原因造成的 如何处理 function list below ################################################ void Pci2_8Device::SerialRead(KIrp I) { NTSTATUS status = STATUS_SUCCESS; // Create a new DMA transfer object for this IRP m_CurrentTransfer = new(NonPagedPool) KDmaTransfer(this, &m_Dma); // get memory for transfer t << \"Entering Pci2_8Device::SerialRead, m_CurrentTransfer\" << m_CurrentTransfer; if ( m_CurrentTransfer == NULL ) { t << \"Entering Pci2_8Device::SerialRead, m_CurrentTransfer == NULL\" << I << EOL; status = STATUS_INSUFFICIENT_RESOURCES; I.Information() = 0; I.Status() = status; PnpNextIrp(I); } status = m_CurrentTransfer->Initiate( I.Mdl(), (I.MajorFunction() == IRP_MJ_READ) ? FromDeviceToMemory : FromMemoryToDevice, LinkTo(OnDmaReady) ); t << \"Entering Pci2_8Device::SerialRead,m_CurrentTransfer->Initiate \" << I << EOL; if ( ! NT_SUCCESS(status) ) { delete m_CurrentTransfer; m_CurrentTransfer = NULL; I.Information() = 0; I.Status() = status; PnpNextIrp(I); } ############################################### |
|
|
沙发#
发布于:2005-04-01 10:40
老兄你的问题解决没有啊,我也碰到同样的问题。那位高手能解答解答
|
|
板凳#
发布于:2005-04-03 11:02
我想可能是操作的优先级不够吧.要提高优先级.
|
|