Freigeben über


ICodecAPI::RegisterForEvent-Methode (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die RegisterForEvent-Methode registriert die Anwendung, um Ereignisse vom Codec zu empfangen.

Syntax

HRESULT RegisterForEvent(
  [in]  const GUID *Api,
  [out] LONG_PTR   userData
);

Parameter

[in] Api

Zeiger auf eine GUID, die das Ereignis angibt. Es gibt drei Kategorien von Ereignissen:

Wert Bedeutung
CODECAPI_CHANGELISTS
Der Codec benachrichtigt die Anwendung, wenn sich die Eigenschaften des Codecs ändern. Die Ereignisdaten sind eine Liste von GUIDs für die geänderten Eigenschaften.
Eine der in codecapi.h definierten Eigenschaften-GUIDs. (Siehe Codec-API-Eigenschaften.)
Der Codec benachrichtigt die Anwendung, wenn sich die angegebene Eigenschaft ändert. In der Regel unterstützt ein Codec diese Art von Benachrichtigungen für einen begrenzten Satz von Eigenschaften, falls vorhanden.
Eine proprietäre Ereignis-GUID, die vom Codec definiert wird.
Implementierungsabhängig.

[out] userData

Zeiger auf vom Aufrufer definierte Daten. Die Anwendung empfängt diesen Zeiger im lParam1-Ereignisparameter .

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_NOTIMPL
Nicht implementiert. Der Codec unterstützt keine Ereignisbenachrichtigung oder die im Api-Parameter angegebene Ereignis-GUID.

Hinweise

Die Anwendung empfängt eine EC_CODECAPI_EVENT Ereignisbenachrichtigung, wenn der Encodercodec das Ereignis sendet. Zum Abrufen des Ereignisses verwendet die IMediaEventEx-Schnittstelle .

Der lParam2-Parameter des Ereignisses ist ein Zeiger auf eine CodecAPIEventData-Struktur . Dieser Struktur können zusätzliche Daten folgen, abhängig von der Ereignis-GUID. Die Größe dieser Daten wird vom dataLength-Element angegeben.

GUID Ereignisdaten
CODECAPI_CHANGELISTS Ein Array von GUIDs. Jede GUID gibt eine Codeceigenschaft an, deren aktueller Wert oder gültiger Bereich geändert wurde. Die Größe des Arrays ist dataLength / sizeof(GUID).
Eine in codecapi.h definierte Eigenschafts-GUID. Keine.
Proprietäre Ereignis-GUID. Implementierungsabhängig.
 

Wenn der Codec das angegebene Ereignis nicht unterstützt, gibt die Methode E_NOTIMPL zurück. Der Codec unterstützt möglicherweise andere Ereignisse.

Um Benachrichtigungen für ein Ereignis zu deaktivieren, rufen Sie ICodecAPI::UnregisterForEvent auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)
Bibliothek Strmiids.lib

Weitere Informationen

Codec-API-Referenz

Encoder-API

ICodecAPI