dahello
驱动中牛
驱动中牛
  • 注册日期2001-06-16
  • 最后登录2004-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:6667回复:6

关于KeInitializespinlock()和KeInitializeEvent?

楼主#
更多 发布于:2001-08-06 20:29
 在98ddk bulkusb_createdeviceobject中调用iocreateDevice之后有如下调用,起什么作用?
RtlCopyMemory(deviceExtension->DeviceLinkNameBuffer,
                      deviceLinkUnicodeString.Buffer,
                      deviceLinkUnicodeString.Length);
        KeInitializeEvent(&deviceExtension->RemoveEvent, NotificationEvent, FALSE);
        KeInitializeEvent(&deviceExtension->SelfRequestedPowerIrpEvent, NotificationEvent, FALSE);
        KeInitializeEvent(&deviceExtension->StagingDoneEvent, NotificationEvent, FALSE);
        KeInitializeEvent(&deviceExtension->NoPendingIoEvent, NotificationEvent, FALSE);
KeInitializeSpinLock (&deviceExtension->IoCountSpinLock);
RtlFreeUnicodeString( &deviceLinkUnicodeString );
虽然有说明但我比较笨,不太懂请大家指点, 另外 KeInitializeEvent()实现的是什么功能,参数中false or
true 指什么? KeInitializeSpinLock 又实现??? 谢谢了先!

最新喜欢:

baoyibao99baoyib...
不懂就问 :D
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-09 15:10
RtlCopyMemory(deviceExtension->DeviceLinkNameBuffer,
deviceLinkUnicodeString.Buffer,
deviceLinkUnicodeString.Length);
KeInitializeEvent(&deviceExtension->RemoveEvent, NotificationEvent, FALSE);
KeInitializeEvent(&deviceExtension->SelfRequestedPowerIrpEvent, NotificationEvent, FALSE);
KeInitializeEvent(&deviceExtension->StagingDoneEvent, NotificationEvent, FALSE);
KeInitializeEvent(&deviceExtension->NoPendingIoEvent, NotificationEvent, FALSE);
KeInitializeSpinLock (&deviceExtension->IoCountSpinLock);
这些东东在后面的程序里多处地方要用到,所以你要将它们放在DeviceExtension里。
KeInitializeEvent()和? KeInitializeSpinLock()ddk里有详细介绍。
dahello
驱动中牛
驱动中牛
  • 注册日期2001-06-16
  • 最后登录2004-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-09 19:23
谢谢!给分!能不能具体讲讲作用?谢谢!
不懂就问 :D
dahello
驱动中牛
驱动中牛
  • 注册日期2001-06-16
  • 最后登录2004-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-08-12 20:44
版主,能不能叫叫我怎么用?谢谢!
不懂就问 :D
chendh
驱动牛犊
驱动牛犊
  • 注册日期2001-07-20
  • 最后登录2005-04-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-08-27 13:00
KeInitializespinlock()初始化一个自旋锁,你可以在一小段时间(25ms)内不让其他程序访问你的自旋锁直到你解锁。
chendh
驱动牛犊
驱动牛犊
  • 注册日期2001-07-20
  • 最后登录2005-04-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-08-27 13:13

25us,不是ms
dahello
驱动中牛
驱动中牛
  • 注册日期2001-06-16
  • 最后登录2004-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-08-27 19:56
谢谢你呀,亏你这么长时间还记着,谢谢!
不懂就问 :D
游客

返回顶部