阅读:1411回复:8
咋用Dpc???
怎样向dpc的历程传需要处理的参数??
|
|
最新喜欢:![]() |
沙发#
发布于:2002-06-05 08:18
用户被禁言,该主题自动屏蔽! |
|
板凳#
发布于:2002-06-05 08:24
KeInitializeDpc(
IN PRKDPC Dpc, IN PKDEFERRED_ROUTINE DeferredRoutine, IN PVOID DeferredContext ); 第三个参数就是传给DPC的参数指针。 DPC回调例程如下: VOID TimeoutDPC( IN PKDPC Dpc,//上面初始化的DPC IN PVOID DeferredContext,//初始化传递的参数指针 IN PVOID SystemArgument1, IN PVOID SystemArgument2 ) |
|
|
地板#
发布于:2002-08-05 11:08
先用
IoInitializeDpcRequest(PDEVICE_OBJECT pDevObj, IN PRKDPC Dpc); 寄存你的DPC例程; 然后调用: IoRequestDpc(PDEVICE_OBJECT pDevObj,NULL,PVOID pVoid); 第三个参数就是传给DPC的参数指针,你可以将其定义为你想要的参数,比如我想传递PDEVICE_EXTENSION,那么你就可以这样调用它: PDEVICE_EXTENSION pDevExt; IoRequestDpc(pDevObj,NULL,pDevExt); 当然相应的DPC例程应该与它调用的参数保持一致; |
|
地下室#
发布于:2002-08-05 11:11
好好看书。
|
|
5楼#
发布于:2002-08-05 11:17
啊
|
|
|
6楼#
发布于:2002-08-05 17:19
用全局变量行吗?
|
|
|
7楼#
发布于:2002-08-05 17:20
在driver,能不用就不用global的。除非是readonly的。
|
|
8楼#
发布于:2002-08-05 17:33
全局变量容易出问题
|
|
|