IMediaEvent::GetEvent-Methode (control.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Die GetEvent
-Methode ruft die nächste Ereignisbenachrichtigung aus der Ereigniswarteschlange ab.
Syntax
HRESULT GetEvent(
[out] long *lEventCode,
[out] LONG_PTR *lParam1,
[out] LONG_PTR *lParam2,
[in] long msTimeout
);
Parameter
[out] lEventCode
Zeiger auf eine Variable, die den Ereigniscode empfängt.
[out] lParam1
Zeiger auf eine Variable, die den ersten Ereignisparameter empfängt.
[out] lParam2
Zeiger auf eine Variable, die den zweiten Ereignisparameter empfängt.
[in] msTimeout
Timeoutintervall in Millisekunden. Verwenden Sie INFINITE, um zu blockieren, bis ein Ereignis vorliegt.
Rückgabewert
Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die in der folgenden Tabelle gezeigten Werte.
Rückgabecode | Beschreibung |
---|---|
|
Erfolg. |
|
Timeout ist abgelaufen. |
Bemerkungen
Wenn sich kein Ereignis in der Warteschlange befindet, wartet diese Methode bis zu msTimeout Millisekunden, bis ein Ereignis eintrifft. Vermeiden Sie die Verwendung eines Timeoutintervalls von INFINITE, da Threads während des Wartens in GetEvent
keine Nachrichten verarbeiten können. Wenn Sie über denselben Thread aufrufen GetEvent
, der Windows-Nachrichten verarbeitet, geben Sie nur kleine Wartezeiten an, um auf Benutzereingaben reagieren zu können.
Rufen Sie nach dem Aufrufen GetEvent
die IMediaEvent::FreeEventParams-Methode auf, um alle Ressourcen freizugeben, die den Ereignisparametern zugeordnet sind.
Eine Liste der Benachrichtigungscodes und Ereignisparameterwerte finden Sie unter Ereignisbenachrichtigungscodes.
Da diese Methode das Ereignis aus der Filtergraph-Ereigniswarteschlange entfernt, gibt es für mehrere Clients keine Möglichkeit, Ereignisse aus demselben Diagramm zu überwachen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | control.h (include Dshow.h) |
Bibliothek | Strmiids.lib |