关于驱动程序中读写配置空间的问题

我如何在驱动程序中获得CH365的配置空间的地址?

还有我可以利用WRITE_REGISTER_UCHAR()函数往配置空间里写数据吗?[Emot]1[/Emot]

我还想问下 CH365的原厂驱动程序中的中断服务程序是可以被中断信号打断的吗?


1.WINDOWS会提供配置空间的读写函数,你可以在msdn或ddk中查找 2.同上 3.可以


我想将中断服务程序变成不可中断的 是修改IoConnectInterrupt里的参数吗?


if ( mDeviceExtension -> mInterruptVector != 0 ) { // 中断向量有效 mStatus = IoConnectInterrupt( & mDeviceExtension -> mInterruptObject, mInterServiceRoutine, iDeviceObject, NULL, // 挂接到指定中断,将设备对象作为参数 mDeviceExtension -> mInterruptVector, (KIRQL) mDeviceExtension -> mInterruptLevel, (KIRQL) mDeviceExtension -> mInterruptLevel, // 中断号 mDeviceExtension -> mInterruptMode, mAddress == (PVOID)mCH365_INT_LINE_AUTO, mDeviceExtension -> mInterruptAffinity, FALSE ); // 共享/敏感 if ( NT_SUCCESS( mStatus ) ) { // 已经挂接中断 mDeviceExtension -> mInterruptLine = mINTERRUPT_LINE( mDeviceExtension -> mInterruptLevel ); // 保存挂接的中断号 if ( mDeviceExtension -> mInterruptLine == 0 ) mDeviceExtension -> mInterruptLine = (ULONG)mAddress; } } else mStatus = STATUS_NO_SUCH_DEVICE; // 中断功能未启用

这段程序我可以加到PNP例程序设备启动里吗?


只要在你设备的资源分配好了,你可以随便在哪定义,但有时要注意irql级别.


哦 谢谢


只有登录才能回复,可以选择微信账号登录