KsFreeEventList 函数 (ks.h)

KsFreeEventList 函数处理释放指定列表中的所有事件,假定这些事件由KSEVENT_ENTRY结构组成。 只能在PASSIVE_LEVEL调用此函数。

语法

KSDDKAPI VOID KsFreeEventList(
  [in]      PFILE_OBJECT      FileObject,
  [in, out] PLIST_ENTRY       EventsList,
  [in]      KSEVENTS_LOCKTYPE EventsFlags,
  [in]      PVOID             EventsLock
);

参数

[in] FileObject

指定传递给删除函数以获取上下文信息的文件对象。 关联的文件对象用于与启用事件时最初指定的文件对象进行比较。 这允许将单个事件列表用于按文件对象区分的多个客户端。

[in, out] EventsList

指向要释放的KSEVENT_ENTRY项列表的标题。 如果列表中的任何事件当前被禁用,则会传递这些事件。 如果在处理列表中添加了任何新元素,则可能无法释放它们。

[in] EventsFlags

指定 KSEVENTS_LOCKTYPE 标志,该标志指定要在访问事件列表时使用的排除锁的类型。 如果未设置标志,则不采取任何锁定。

[in] EventsLock

用于同步对列表中的元素的访问。 访问元素后,会将其标记为已删除,因此后续删除请求会失败。 然后,在调用删除函数(如果有)后释放锁。 在实际从列表中删除元素之前,删除函数必须与事件生成同步。

返回值

备注

KsFreeEventList 函数调用 remove 处理程序,然后为每个事件调用 KsDiscardEvent。 它不假定调用方是事件所有者。

要求

要求
目标平台 通用
标头 ks.h (包括 Ks.h)
Library Ks.lib

另请参阅

KsDiscardEvent