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 结构中传递的大小。 然后,类驱动程序将指针传递给 HwDeviceExtensionHW_STREAM_REQUEST_BLOCKHW_STREAM_OBJECTHW_TIME_CONTEXT中的缓冲区,并 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

返回值

如果 CurrentEventNULLStreamClassClassGetNextEvent 在队列中 CurrentEvent 后返回下一个匹配事件(如果没有此类下一个事件 NULL)。 如果 CurrentEventNULLStreamClassClassGetNextEvent 返回队列中的第一个匹配事件。

言论

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

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

要求

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