Freigeben über


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
S_OK
Erfolg.
E_ABORT
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 GetEventkeine 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 GetEventdie 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

Siehe auch

Fehler- und Erfolgscodes

IMediaEvent-Schnittstelle

IMediaEventEx