引用 9 楼 hzdysymbol 的回复:
"Sysintr"=dword:1A
这个跟硬件没有任何关系,跟硬件相关的是IRQ号
所以说如果你驱动中是通过动态的方式获取的Sysintr,那注册表里的就应该没有用。这点你要仔细查看一下你自己驱动中的代码,看到底是用动态分配的还是用注册表中指定的Sysintr跟IRQ关联起来的
在CS8900代码里面没有地方涉及到Sysintr这个值,只有一个NDIS函数涉及到物理中断号,但被NDIS给封装了,看不到了。
status = NdisMRegisterInterrupt(
&Adapter->Interrupt, //interrupt handle
Adapter->MiniportAdapterHandle, //miniport handle
Adapter->InterruptNumber, //interrupt number, physical int, eint9
Adapter->InterruptNumber, //skip --
TRUE, //share interrupt source
FALSE, //
NdisInterruptLatched
);
所以我猜想Sysintr这个值没有被NDIS用到的,但在我注册表里有它和没有它,跑起来的结果就是不一样。所以真是奇了怪了,难道NDIS会再扫描一次注册表?
|