阅读:1095回复:1
请教一下在驱动里是使用回调函数的问题
请教一下在驱动里是使用回调函数的问题。
1。在驱动中定义了回调函数: typedef DWORD (CALLBACKFUNC)(PULONG pData, ULONG length ); typedef CALLBACKFUNC *PCALLBACKFUNC; CALLBACKFUNC CallBackFunc; PCALLBACKFUNC v_pCallBackPtr = NULL; 2。在xxx_iocontrol中使用如下语句: v_pCallBackPtr = (PCALLBACKFUNC)MapPtrToProcess(pFunc,GetCallerProcess()); 函数的指针用在evc中用DeviceIoControl传入: 3。在ist中使用传入的函数指针。 v_pCallBackPtr (DataBuffer1,BUFSIZE); 但是驱动调试到这里的时候就出现exception 请问我这里是出现了什么问题。请大家给一点建议。 |
|
论坛版主
|
沙发#
发布于:2005-01-04 13:12
你的函数指针定义对不对阿,你试试下面的呢:
typedef DWORD (*PCALLBACKFUNC)(PULONG pData, ULONG length ); 另外,v_pCallBackPtr(DataBuffer1,BUFSIZE)的参数是哪儿的,指针是不是也要映射一次啊 |
|