StreamClassGetNextEvent 函数 (strmini.h)

微型驱动程序可以使用 StreamClassGetNextEvent 例程来搜索设备或特定流的事件队列。

语法

PKSEVENT_ENTRY StreamClassGetNextEvent(
  [in, optional] PVOID             HwInstanceExtension_OR_HwDeviceExtension,
  [in, optional] PHW_STREAM_OBJECT HwStreamObject,
  [in, optional] GUID              *EventGuid,
  [in]           ULONG             EventItem,
  [in, optional] PKSEVENT_ENTRY    CurrentEvent
);

参数

[in, optional] HwInstanceExtension_OR_HwDeviceExtension

指向微型驱动程序的设备扩展的指针。 微型驱动程序在通过 StreamClassRegisterMinidriver 注册自身时传递的HW_INITIALIZATION_DATA结构中指定此缓冲区的大小。 然后,类驱动程序将指针传递到HW_STREAM_REQUEST_BLOCKHW_STREAM_OBJECT、HW_TIME_CONTEXTHwDeviceExtension 成员中的缓冲区,并将PORT_CONFIGURATION_INFORMATION结构传递给微型驱动程序。

第一个参数是 PVOID HwDeviceExtension。 对于版本 20) 驱动程序 (多实例和多筛选器类型,它必须是 HwInstanceExtension。 旧式单实例驱动程序可以继续将 HwDeviceExtension 指定为第一个参数。 它还可以指定 HwInstanceExtension。

[in, optional] HwStreamObject

指向 HW_STREAM_OBJECT的指针。 设置为 NULL 可搜索设备本身的事件队列。 若要搜索特定流的事件队列,请将 设置为流的 流对象。

[in, optional] EventGuid

指定在排队时要匹配的事件集,或 指定 NULL 以匹配任何事件集。

[in] EventItem

指定在排队时要匹配的事件 ID,或 -1 以匹配任何事件。

[in, optional] CurrentEvent

指向事件队列中的事件的指针,或 NULL

返回值

如果 CurrentEvent 不为 NULL则 StreamClassGetNextEvent 在队列中的 CurrentEvent 之后返回下一个匹配事件 (;如果没有此类下一个事件) ,则返回 NULL 。 如果 CurrentEventNULL则 StreamClassGetNextEvent 返回队列中的第一个匹配事件。

注解

微型驱动程序可以连续调用 StreamClassGetNextEvent 以循环访问事件队列,一次检查一个事件。

调用方可以指定其他搜索条件来匹配事件队列中的事件。

要求

要求
目标平台 桌面
标头 strmini.h (包括 Strmini.h)
Library Stream.lib