阅读:1379回复:0
关于IoConnectInterrupt挂载中断的问题
我写了如下的代码:
BOOLEAN InterruptService( IN struct _KINTERRUPT *Interrupt, IN PVOID ServiceContext ) { ... return TRUE; } NTSTATUS InterruptHook() { KIRQL irql; KAFFINITY affi; ULONG mapi; NTSTATUS status; mapi = HalGetInterruptVector( Internal, 0, IRQ, IRQ, &irql, &affi) & 0xff; status = IoConnectInterrupt( &pkinterrupt, InterruptService, NULL, NULL, mapi, irql, irql, 0, FALSE, affi, FALSE ); DbgPrint("connect Status:0x%X\n",status); return STATUS_SUCCESS; } NTSTATUS InterruptUnHook() { if (pkinterrupt) { IoDisconnectInterrupt(pkinterrupt); pkinterrupt = NULL; } return STATUS_SUCCESS; } 可是每次IoConnectInterrupt中的connect status都是0xc000000d即STATUS_INVALID_PARAMETER(参数错)这个值。不管改什么参数好像都没有什么用,不知IoConnectInterrupt还有什么秘密。请高手们指点一下,一点点也好。十分感激。 |
|
|