阅读:1142回复:2
关于dos 到windows的中断转换
[pre]在dos下我使用:
const unsigned ACQUIRE_DATA = 0x0b; setvect(ACQUIRE_DATA,acquire_data); 设置中断服务 那么在windows下我该如何设置呢? 是不是使用 NTSTATUS LiJingDevice::Add_AcqIrq(KResourceRequest *theRequest) { ULONG theIRQ = ACQ_IRQ;//ACQ_IRQ=0x0B // TODO: Set theIRQ to the IRQ that your hardware is using // return theRequest->AddIrq( theIRQ, theIRQ, 0, CmResourceShareDeviceExclusive, CM_RESOURCE_INTERRUPT_LATCHED ); } .... if (theRequest.Assignments() == NULL) { t << "Resource assignment failed for IRQn"; Invalidate(); return STATUS_RESOURCE_TYPE_NOT_FOUND; } else { status = m_AcqIrq.Initialize( theRequest.Assignments() ); if (!NT_SUCCESS(status)) { Invalidate(); return status; } status = m_AcqIrq.Connect( LinkTo(Isr_AcqIrq), this ); { if (!NT_SUCCESS(status)) { Invalidate(); return status; } } } ...... 我想知道如果这样设置了是对的,那么对于SoftIce进行中断触发时 是使用什么 我用了 genint 5b genint 3b 无反应 genint b 宕机了 哪位大人帮帮我 [/pre] |
|
沙发#
发布于:2004-07-03 19:06
|
|
|
板凳#
发布于:2004-07-05 11:46
我的问题解决路 应该是 genint 81
使用KInterrupt::Vector()得到的 减去100 |
|