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 函数调用删除处理程序,然后为每个事件调用 KsDiscardEvent。 它不假定调用方是事件所有者。

要求

要求 价值
目标平台 普遍
标头 ks.h (包括 Ks.h)
Ks.lib

另请参阅

KsDiscardEvent