KsEnableEvent 函数 (ks.h)

KsEnableEvent 函数启用通过 IOCTL_KS_ENABLE_EVENT 请求的事件。 它响应集定义的所有事件标识符。 只能在PASSIVE_LEVEL调用此函数。

语法

KSDDKAPI NTSTATUS KsEnableEvent(
  [in]           PIRP              Irp,
  [in]           ULONG             EventSetsCount,
  [in]           const KSEVENT_SET *EventSet,
  [in, out]      PLIST_ENTRY       EventsList,
  [in, optional] KSEVENTS_LOCKTYPE EventsFlags,
  [in, optional] PVOID             EventsLock
);

参数

[in] Irp

指定正在处理启用请求的 IRP。 与 IRP 关联的文件对象与 事件一起存储,供以后禁用事件时进行比较。

[in] EventSetsCount

指示传递的事件集结构的数量。

[in] EventSet

指定指向事件集信息列表的指针。

[in, out] EventsList

如果启用事件KSEVENT_SET。事件集的 AddHandler 为 NULL,它必须指向要添加事件的KSEVENT_ENTRY项列表的标题。 此函数假定至少包含一部分事件的单个列表。

[in, optional] EventsFlags

指定 KSEVENTS_LOCKTYPE 标志,这些标志指定要用于访问事件列表的排除锁的类型(如果有)。 如果未设置标志,则不采取任何锁定。 如果已指定处理程序,则忽略此参数。

[in, optional] EventsLock

如果KSEVENT_SET。包含要启用的事件集的 AddHandler 为 NULL,然后使用它来同步对列表的访问。 如果未在 EventsFlags 中设置任何标志,则此值可以为 NULL

返回值

如果成功, KsEnableEvent 函数将返回STATUS_SUCCESS;如果成功,则返回特定于启用的事件的错误。 函数始终设置IO_STATUS_BLOCK。PIRP 的信息字段。IRP 中的 IoStatus 元素为零。 它不会设置IO_STATUS_BLOCK。状态字段也不完成 IRP。

注解

微型驱动程序不调用 KsEnableEvent。 只有纯 KS 驱动程序或类驱动程序应调用此例程。

要求

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

另请参阅

KsDisableEvent