Freigeben über


StreamClassGetNextEvent-Funktion (strmini.h)

Minidriver können die StreamClassGetNextEvent-Routine verwenden, um die Ereigniswarteschlange eines Geräts oder eines bestimmten Datenstroms zu durchsuchen.

Syntax

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
);

Parameter

[in, optional] HwInstanceExtension_OR_HwDeviceExtension

Zeiger auf die Geräteerweiterung des Minidrivers. Der Minidriver gibt die Größe dieses Puffers in der HW_INITIALIZATION_DATA-Struktur an, die er übergibt, wenn er sich über StreamClassRegisterMinidriver registriert. Der Klassentreiber übergibt dann Zeiger an den Puffer im HwDeviceExtension-Member der strukturen HW_STREAM_REQUEST_BLOCK, HW_STREAM_OBJECT, HW_TIME_CONTEXT und PORT_CONFIGURATION_INFORMATION , die er an den Minitreiber übergibt.

Dieser erste Parameter war PVOID HwDeviceExtension. Es muss sich um HwInstanceExtension für Treiber mit mehreren instance- und Multifiltertypen (Version 20) handeln. Legacytreiber mit instance können weiterhin HwDeviceExtension als ersten Parameter angeben. Sie kann auch HwInstanceExtension angeben.

[in, optional] HwStreamObject

Zeiger auf eine HW_STREAM_OBJECT. Legen Sie auf NULL fest, um die Ereigniswarteschlange des Geräts selbst zu durchsuchen. Um die Ereigniswarteschlange eines bestimmten Datenstroms zu durchsuchen, legen Sie auf das Streamobjekt des Datenstroms fest.

[in, optional] EventGuid

Gibt den Ereignissatz an, der beim Durchlaufen der Warteschlange übereinstimmen soll, oder NULL , um einem beliebigen Ereignissatz zu entsprechen.

[in] EventItem

Gibt die Ereignis-ID an, die beim Durchlaufen der Warteschlange übereinstimmen soll, oder -1, um einem beliebigen Ereignis zu entsprechen.

[in, optional] CurrentEvent

Zeiger auf ein Ereignis in der Ereigniswarteschlange oder NULL.

Rückgabewert

Wenn CurrentEvent nicht NULL ist, gibt StreamClassGetNextEvent das nächste übereinstimmende Ereignis nach CurrentEvent in der Warteschlange zurück (oder NULL , wenn es kein solches nächstes Ereignis gibt). Wenn CurrentEventNULL ist, gibt StreamClassGetNextEvent das erste übereinstimmende Ereignis in der Warteschlange zurück.

Hinweise

Der Minidriver kann StreamClassGetNextEvent nacheinander aufrufen, um eine Schleife durch die Ereigniswarteschlange zu durchlaufen und dabei jeweils ein Ereignis zu untersuchen.

Der Aufrufer kann zusätzliche Suchkriterien angeben, um Ereignissen in der Ereigniswarteschlange zu entsprechen.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile strmini.h (include Strmini.h)
Bibliothek Stream.lib