阅读:1926回复:2
应用层sleep函数,在驱动里面相应的是什么?我用NdisMSleep不好用嘛。
我用NdisMSleep吧,必须包含ndis.h头文件,但是这个头文件一包括吧,和ntifs.h放在一起,编译的时候,无数的错误发生。所以,我估计是不能用ndis.h这个头文件的,而存在另一个sleep函数给我用。我 一时也没有找到,就上来问问吧。
|
|
|
沙发#
发布于:2007-03-28 15:13
有DKK中根本就没有象sleep的函数.但很容易自己实现.
象NdisSleep就是ndis自己实现的,源码如下: /*++ Routine Description: Blocks the caller for specified duration of time. Callable at Irql < DISPATCH_LEVEL. Arguments: MicrosecondsToSleep - The caller will be blocked for this much time. Return Value: NONE --*/ VOID NdisMSleep(IN ULONG MicrosecondsToSleep) { LARGE_INTEGER TimerValue; KTIMER SleepTimer; ASSERT (KeGetCurrentIrql() == LOW_LEVEL); KeInitializeTimerEx(&SleepTimer, SynchronizationTimer); TimerValue.QuadPart = Int32x32To64(MicrosecondsToSleep, -10); KeSetTimer(&SleepTimer, TimerValue, NULL); KeWaitForSingleObject(&SleepTimer,Executive,KernelMode,TRUE, NULL); } |
|
板凳#
发布于:2007-03-28 19:26
谢谢
|
|
|