Condividi tramite


Metodo ICodecAPI::RegisterForEvent (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il metodo RegisterForEvent registra l'applicazione per ricevere eventi dal codec.

Sintassi

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

Parametri

[in] Api

Puntatore a un GUID che specifica l'evento. Esistono tre categorie di eventi:

Valore Significato
CODECAPI_CHANGELISTS
Il codec notifica all'applicazione quando le proprietà del codec cambiano. I dati dell'evento sono un elenco di GUID per le proprietà modificate.
Uno dei GUID delle proprietà definiti in codecapi.h. Vedere Proprietà API codec.
Il codec notifica all'applicazione quando la proprietà specificata cambia. In genere, un codec supporta questo tipo di notifica per un set limitato di proprietà, se presente.
GUID dell'evento proprietario definito dal codec.
Dipendente dall'implementazione.

[out] userData

Puntatore ai dati definiti dal chiamante. L'applicazione riceve questo puntatore nel parametro evento lParam1 .

Valore restituito

Questo metodo può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_NOTIMPL
Non implementato. Il codec non supporta la notifica degli eventi o non supporta il GUID evento specificato nel parametro Api .

Commenti

L'applicazione riceve una notifica di evento EC_CODECAPI_EVENT ogni volta che il codec del codificatore invia l'evento. Per ottenere l'evento, usa l'interfaccia IMediaEventEx .

Il parametro lParam2 dell'evento è un puntatore a una struttura CodecAPIEventData . Questa struttura può essere seguita da dati aggiuntivi, a seconda del GUID evento. Le dimensioni di questi dati vengono fornite dal membro dataLength .

GUID Dati eventi
CODECAPI_CHANGELISTS Matrice di GUID. Ogni GUID specifica una proprietà codec il cui valore corrente o intervallo valido è stato modificato. Le dimensioni della matrice sono dataLength / sizeof(GUID).
GUID di proprietà definito in codecapi.h. Nessuno.
GUID evento proprietario. Dipendente dall'implementazione.
 

Se il codec non supporta l'evento specificato, il metodo restituisce E_NOTIMPL. Il codec potrebbe supportare altri eventi.

Per disabilitare le notifiche per un evento, chiamare ICodecAPI::UnregisterForEvent.

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2 [app desktop | App UWP]
Server minimo supportato Windows Server 2003 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)
Libreria Strmiids.lib

Vedi anche

Informazioni di riferimento sulle API codec

API codificatore

ICodecAPI