阅读:1935回复:16
利用驱动实现任务调度的可行性
本人想在Windows下开发一套基于模块化的状态监控软件,主要有采样进程,显示进程,数据处理进程,传输进程和保存进程。由于采样的实施性要求比较高,所以想给采样进程分的时间片多一点,就像多线程下的优先级提高点。现利用驱动做个任务调度,请问各位高手在驱动里做的可信性。
|
|
|
沙发#
发布于:2007-03-08 21:58
可以,如果你有Win代码之后什么都可以了
|
|
|
板凳#
发布于:2007-03-09 00:45
恩,问题不大,让老V去做吧
![]() |
|
|
地板#
发布于:2007-03-10 15:39
能不能给点思路阿~~
|
|
|
地下室#
发布于:2007-03-10 15:51
|
|
5楼#
发布于:2007-03-10 19:21
引用第4楼nangfeng于2007-03-10 15:51发表的“”: 真正重要的代码,只有微软大客户才可以看到~~郁闷阿~ |
|
|
6楼#
发布于:2007-03-11 12:10
performance profiling...
|
|
7楼#
发布于:2007-03-11 21:34
看了代码,里面删除了很多,MS也说仅供学习使用.
|
|
|
8楼#
发布于:2007-03-11 22:40
就算能看代码又怎样?除非带着问题去看,否则一样没大的收获
国内不就有win 2k的完整代码吗?有8家以上的单位可以看,也没见有太多人才大牛 不能拷,不能拍,只能看,一个人能记住多少?我感觉顶多是去解疑... |
|
|
9楼#
发布于:2007-03-12 00:27
引用第7楼wowocock于2007-03-11 21:34发表的“”: 虽然还有一部分没有,但这一次给的能编译能启动能调试,这样边学边把那没公开的给它补完整,做成一个项目来搞,目的仅为学习,我想微软也不会说什么吧. 搞项目要有人带头,我就选举wowocock吧! |
|
10楼#
发布于:2007-03-12 00:28
我已经搞了一些了:
如: NTSTATUS PiProcessTargetDeviceEvent ( IN PPNP_DEVICE_EVENT_ENTRY EventEntry ) { PPLUGPLAY_EVENT_BLOCK EventBlock = &EventEntry->Data; PAGED_CODE(); KdPrint(("PiProcessTargetDeviceEvent: Entered\n")); if( IopCompareGuid(&EventBlock->EventGuid, &GUID_DEVICE_QUERY_AND_REMOVE) || IopCompareGuid(&EventBlock->EventGuid, &GUID_DEVICE_EJECT) ) { return PiProcessQueryRemoveAndEject(EventEntry); } if(IopCompareGuid(&EventBlock->EventGuid, &GUID_DEVICE_ARRIVAL)) { DbgPrint(("PiProcessTargetDeviceEvent: ARRIVAL - notifying user-mode\n")); return PiNotifyUserMode(EventEntry); } if(IopCompareGuid(&EventBlock->EventGuid, &GUID_DEVICE_SAFE_REMOVAL)) { DbgPrint(("PiProcessTargetDeviceEvent: SAFE_REMOVAL - notifying user-mode\n")); return PiNotifyUserMode(EventEntry); } if(IopCompareGuid(&EventBlock->EventGuid, &GUID_DEVICE_NOOP)) { return STATUS_SUCCESS; } return STATUS_SUCCESS; } |
|
11楼#
发布于:2007-03-19 22:40
楼上的貌似是ddk的啊,看不懂艾
![]() 我用的是ds的,现在初步想用高精度定时器或系统中断来控制线程的挂起,在应用程序里用waiforsingalobject()来控制线程什么时候挂起,从而来大概控制某程序的cpu时间。不知各位有没有什么更好的方法 |
|
|
12楼#
发布于:2007-03-20 03:15
引用第11楼dollarsun于2007-03-19 22:40发表的“”: 微软不是搞了个共享源代码项目,公开了windows 2003 sp1 的部分代码, 这个项目名叫 WRK. 其实这WRK是可编译并能启动windows 2003的, 但有很大部分是以静态库提供的.现在我意思我们是否能把那些没提供源代码的那部分再反编译成C语言,这样不就可以得到比较完整而又能用的内核代码了吗? |
|
13楼#
发布于:2007-03-20 07:07
谁有WRK的代码?
![]() |
|
|
14楼#
发布于:2007-03-20 09:22
我手头有一个从驱网下载的版本,不过刚才给你找链接没有找到
你要是要,留邮箱我给你发邮件。 |
|
|
15楼#
发布于:2007-03-20 10:11
引用第14楼linestyle于2007-03-20 11:22发表的“”: 谢谢!没有注意到是在源码版:http://bbs.driverdevelop.com/htm_data/87/0702/99380.html |
|
|
16楼#
发布于:2007-03-20 13:06
大家是否有兴一起来完善这个WRK吗?把微软件没提供源代码的那部分搞出来,我一个人力量太小了!工程太大了!
|
|