您当前的位置: 首页 > 

[原创]W2k Driving 学习笔记(一)内核线程及同步

发布时间:2009-02-20 08:01:00 ,浏览量:0

[大体流程]

Win32与Kernel交互,从User层向内核发送2个请求:

0 IOCTL_Start_Thread : 从内核新建一个线程,最多建立MAX_THREAD_NUM个线程;

1 IOCTL_Stop_Thread : 关闭刚才建立的所有线程;

每个线程做同样的事,每次将变量Count增加1,使用一个FAST_MUTEX来同步加1操作。

线程过程如下,没什么特别说明的,其中为了照顾偶的眼球眨动频率,特地做了1s的延时。

DDKAPI VOID CountThreadMain(IN PVOID pContext) { PDEVICE_EX pDevEx = (PDEVICE_EX)pContext; LARGE_INTEGER dt = RtlConvertLongToLargeInteger(/ -10 * 1000 * 1000); ULONG tid = (ULONG)PsGetCurrentThreadId(); PRINT("[%s]entry new thread[id:%d

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    107766博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0474s