KS相机驱动
+ -

流指针的锁定与解锁状态

2025-04-17 0 0

数据流指针有两种状态:解锁态和锁定态。

  • 锁定态的流提针指保证了其引用的数据在队列中,锁定态的数据流指针无法被取消掉。

    如果被取消掉,系统会自动前推流指针。

  • 未锁定态的流指针沅法保证其引用的数据在队列中。通过持有解锁的流指针,微型驱动程序可以保留数据指针,但仍然允许取消帧。

可以访问由未锁定的流指针指向的数据。如果您在KsStreamPointerClone中提供的CancelCallback例程调用KsStreamPointerDelete,则应同步CancelCallback及其执行的任何数据访问。微型驱动程序必须确保取消回调例程在另一个线程使用流指针时不会删除它。如果取消回调例程不调用KsStreamPointerDelete,则可能不需要同步。

  • 要锁定流指针,请调用KsStreamPointerLock。
  • 要解锁流指针,请调用KsStreamPointerUnlock。

当IRP被取消时,AVStream会为指向IRP内帧的所有未锁定流指针调用取消回调。

位于前缘和后缘流指针是特殊的数据流反映针,不能删除。
仅当前缘和后缘流指针未被使用时,才解锁它们。

0 篇笔记 写笔记

作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!