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 |
---|---|
|
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. |
|
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. |
|
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 |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
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 |