Condividi tramite


Codici di notifica degli eventi

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEnginee Acquisizione audio/video in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente di usare un nuovo codice MediaPlayer, IMFMediaEngine e Acquisizione audio/video 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.

In queste sezioni sono elencati gli eventi DirectShow non specifici del DVD. Per gli eventi specifici del DVD, vedere DVD Event Notification Codes.

I filtri inviano eventi a Filter Graph Manager chiamando il metodo IMediaEventSink::Notify. Filter Graph Manager gestisce alcuni eventi e accoda altri per l'applicazione. L'applicazione li recupera chiamando il metodo IMediaEvent::GetEvent.

Nelle sezioni seguenti ogni voce elenca il codice evento, il significato dei parametri dell'evento e l'azione predefinita di Filter Graph Manager per l'evento, se presente. Per eseguire l'override dell'azione predefinita, chiamare IMediaEvent::CancelDefaultHandling. I codici evento vengono definiti nei file di intestazione Evcode.h e Audevcod.h. Se non è presente alcuna azione predefinita, Filter Graph Manager inoltra automaticamente l'evento all'applicazione (tramite la coda di eventi).

eventi personalizzati

I filtri possono definire eventi personalizzati con codici evento nell'intervallo EC_USER e versioni successive. Filter Graph Manager le inserisce direttamente nella coda degli eventi. Tuttavia, si applicano le avvertenze seguenti:

  • Filter Graph Manager non può liberare i parametri dell'evento usando il normale metodo IMediaEvent::FreeEventParams. L'applicazione deve liberare qualsiasi numero di memoria o riferimento associato ai parametri dell'evento.
  • Il filtro deve inviare l'evento solo dall'interno di un'applicazione preparata per gestire l'evento. È possibile che l'applicazione possa impostare una proprietà personalizzata sul filtro per indicare che è sicuro inviare l'evento.
Codice di notifica degli eventi Descrizione
EC_ACTIVATE Viene attivata o disattivata una finestra video.
EC_BANDWIDTHCHANGE Non supportato.
EC_BUFFERING_DATA Il grafico memorizza nel buffer i dati o ha interrotto il buffering dei dati.
EC_BUILT Invia dal controllo video quando è stato compilato un grafico. Non inoltrato alle applicazioni.
EC_CLOCK_CHANGED L'orologio di riferimento è cambiato.
EC_CLOCK_UNSET Il provider di clock è stato disconnesso.
EC_CODECAPI_EVENT Inviato da un codificatore per segnalare un evento di codifica.
EC_COMPLETE È stato eseguito il rendering di tutti i dati di un flusso specifico.
EC_CONTENTPROPERTY_CHANGED Non supportato.
EC_DEVICE_LOST Un dispositivo Plug and Play è stato rimosso o è di nuovo disponibile.
EC_DISPLAY_CHANGED La modalità di visualizzazione è cambiata.
EC_END_OF_SEGMENT È stata raggiunta la fine di un segmento.
EC_EOS_SOON Non supportato.
EC_ERROR_STILLPLAYING Un comando asincrono per eseguire il grafico non è riuscito.
EC_ERRORABORT Un'operazione è stata interrotta a causa di un errore.
EC_ERRORABORTEX Un'operazione è stata interrotta a causa di un errore.
EC_EXTDEVICE_MODE_CHANGE Non supportato.
EC_FILE_CLOSED Il file di origine è stato chiuso a causa di un evento imprevisto.
EC_FULLSCREEN_LOST Il renderer video sta disattivando la modalità schermo intero.
EC_GRAPH_CHANGED Il grafico del filtro è stato modificato.
EC_LENGTH_CHANGED La lunghezza di un'origine è cambiata.
EC_LOADSTATUS Notifica all'applicazione di stato durante l'apertura di un file di rete.
EC_MARKER_HIT Non supportato.
EC_NEED_RESTART Un filtro richiede il riavvio del grafico.
EC_NEW_PIN Non supportato.
EC_NOTIFY_WINDOW Notifica un filtro della finestra del renderer video.
EC_OLE_EVENT Un filtro passa una stringa di testo all'applicazione.
EC_OPENING_FILE Il grafico sta aprendo un file o ha terminato l'apertura di un file.
EC_PALETTE_CHANGED La tavolozza video è cambiata.
EC_PAUSED Una richiesta di pausa è stata completata.
EC_PLEASE_REOPEN Il file di origine è stato modificato.
EC_PREPROCESS_COMPLETE Inviato dal writer WM ASF quando completa la pre-elaborazione per la codifica multipass.
EC_PROCESSING_LATENCY Indica la quantità di tempo che un componente sta impiegando per elaborare ogni campione.
EC_QUALITY_CHANGE Il grafico elimina campioni per il controllo qualità.
EC_RENDER_FINISHED Non supportato.
EC_REPAINT Un renderer video richiede un aggiornamento.
EC_SAMPLE_LATENCY Specifica l'intervallo di tempo di pianificazione di un componente per l'elaborazione di campioni.
EC_SAMPLE_NEEDED Richiede un nuovo esempio di input dal filtro EVR (Enhanced Video Renderer).
EC_SCRUB_TIME Specifica il timestamp per il passaggio di fotogramma più recente.
EC_SEGMENT_STARTED È stato avviato un nuovo segmento.
EC_SHUTTING_DOWN Il grafico del filtro viene arrestato, prima di essere eliminato definitivamente.
EC_SNDDEV_IN_ERROR Si è verificato un errore del dispositivo in un filtro di acquisizione audio.
EC_SNDDEV_OUT_ERROR Si è verificato un errore del dispositivo in un filtro del renderer audio.
EC_STARVATION Un filtro non riceve dati sufficienti.
EC_STATE_CHANGE Lo stato del grafico del filtro è cambiato.
EC_STATUS Contiene due stringhe di stato arbitrarie.
EC_STEP_COMPLETE Un filtro che esegue l'istruzione dei fotogrammi ha superato il numero specificato di fotogrammi.
EC_STREAM_CONTROL_STARTED Un comando start del controllo di flusso ha avuto effetto.
EC_STREAM_CONTROL_STOPPED Un comando di arresto del controllo di flusso ha avuto effetto.
EC_STREAM_ERROR_STILLPLAYING Si è verificato un errore in un flusso. Il flusso è ancora in riproduzione.
EC_STREAM_ERROR_STOPPED Un flusso è stato arrestato a causa di un errore.
EC_TIMECODE_AVAILABLE Non supportato.
EC_UNBUILT Invia dal controllo video quando un grafico è stato eliminato. Non inoltrato alle applicazioni.
EC_USERABORT L'utente ha terminato la riproduzione.
EC_VIDEO_SIZE_CHANGED Le dimensioni del video nativo sono cambiate.
EC_VIDEOFRAMEREADY Un fotogramma video è pronto per la visualizzazione.
EC_VMR_RECONNECTION_FAILED Inviato da VMR-7 e VMR-9 quando non è stato in grado di accettare una richiesta di modifica del formato dinamico dal decodificatore upstream.
EC_VMR_RENDERDEVICE_SET Inviato quando vmR ha selezionato il meccanismo di rendering.
EC_VMR_SURFACE_FLIPPED Inviato quando il relatore dell'allocatore di VMR-7 ha chiamato il metodo DirectDraw Flip sulla superficie da presentare.
EC_WINDOW_DESTROYED Il renderer video è stato eliminato o rimosso dal grafico.
EC_WMT_EVENT Inviato dal filtro lettore ASF WM quando legge i file ASF protetti da DRM (Digital Rights Management).
EC_WMT_INDEX_EVENT Inviato quando un'applicazione usa WM ASF Writer per indicizzare i file di Windows Media Video.

 

costanti e GUID

notifica degli eventi in DirectShow