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 |