Freigeben über


Ereignisbenachrichtigungscodes

[Das dieser Seite zugeordnete Feature DirectShow-ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngineund Audio/Video Capture in Media Foundationersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code MediaPlayer-, IMFMediaEngine und Audio-/Videoaufnahme in Media Foundation anstelle von DirectShow-verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, um die neuen APIs zu verwenden, falls möglich umgeschrieben werden.]

In diesen Abschnitten werden die DirectShow-Ereignisse aufgeführt, die nicht für DVD spezifisch sind. Ereignisse, die für DVD spezifisch sind, finden Sie unter DVD-Ereignisbenachrichtigungscodes.

Filter senden Ereignisse an den Filter Graph Manager, indem die IMediaEventSink::Notify-Methode aufgerufen wird. Der Filter Graph-Manager behandelt einige Ereignisse und Warteschlangen für die Anwendung. Die Anwendung ruft sie durch Aufrufen der IMediaEvent::GetEvent-Methode ab.

In den folgenden Abschnitten listet jeder Eintrag den Ereigniscode, die Bedeutung der Ereignisparameter und ggf. die Standardaktion des Graph-Managers für das Ereignis auf. Rufen Sie IMediaEvent::CancelDefaultHandlingauf, um die Standardaktion außer Kraft zu setzen. Ereigniscodes werden in den Headerdateien Evcode.h und Audevcod.h definiert. Wenn keine Standardaktion vorhanden ist, leitet der Filter Graph-Manager das Ereignis automatisch an die Anwendung (über die Ereigniswarteschlange) weiter.

benutzerdefinierte Ereignisse

Filter können benutzerdefinierte Ereignisse mit Ereigniscodes im Bereich EC_USER und höher definieren. Der Filter Graph-Manager platziert diese direkt in der Ereigniswarteschlange. Die folgenden Vorbehalte gelten jedoch:

  • Der Filter Graph-Manager kann die Ereignisparameter nicht mithilfe der normalen IMediaEvent::FreeEventParams Methode freigeben. Die Anwendung muss alle Arbeitsspeicher- oder Referenzanzahlen freigeben, die den Ereignisparametern zugeordnet sind.
  • Der Filter sollte das Ereignis nur aus einer Anwendung senden, die für die Behandlung des Ereignisses vorbereitet ist. (Möglicherweise kann die Anwendung eine benutzerdefinierte Eigenschaft für den Filter festlegen, um anzugeben, dass es sicher ist, das Ereignis zu senden.)
Ereignisbenachrichtigungscode Beschreibung
EC_ACTIVATE Ein Videofenster wird aktiviert oder deaktiviert.
EC_BANDWIDTHCHANGE Nicht unterstützt.
EC_BUFFERING_DATA Das Diagramm puffert Daten oder hat das Puffern von Daten beendet.
EC_BUILT Senden durch das Videosteuerelement, wenn ein Diagramm erstellt wurde. Nicht an Anwendungen weitergeleitet.
EC_CLOCK_CHANGED Die Referenzuhr wurde geändert.
EC_CLOCK_UNSET Der Uhranbieter wurde getrennt.
EC_CODECAPI_EVENT Gesendet von einem Encoder, um ein Codierungsereignis zu signalisieren.
EC_COMPLETE Alle Daten aus einem bestimmten Datenstrom wurden gerendert.
EC_CONTENTPROPERTY_CHANGED Nicht unterstützt.
EC_DEVICE_LOST Ein Plug-and-Play-Gerät wurde entfernt oder ist wieder verfügbar.
EC_DISPLAY_CHANGED Der Anzeigemodus wurde geändert.
EC_END_OF_SEGMENT Das Ende eines Segments wurde erreicht.
EC_EOS_SOON Nicht unterstützt.
EC_ERROR_STILLPLAYING Ein asynchroner Befehl zum Ausführen des Diagramms ist fehlgeschlagen.
EC_ERRORABORT Ein Vorgang wurde aufgrund eines Fehlers abgebrochen.
EC_ERRORABORTEX Ein Vorgang wurde aufgrund eines Fehlers abgebrochen.
EC_EXTDEVICE_MODE_CHANGE Nicht unterstützt.
EC_FILE_CLOSED Die Quelldatei wurde aufgrund eines unerwarteten Ereignisses geschlossen.
EC_FULLSCREEN_LOST Der Videorenderer wechselt aus dem Vollbildmodus.
EC_GRAPH_CHANGED Das Filterdiagramm wurde geändert.
EC_LENGTH_CHANGED Die Länge einer Quelle wurde geändert.
EC_LOADSTATUS Benachrichtigt die Anwendung des Fortschritts beim Öffnen einer Netzwerkdatei.
EC_MARKER_HIT Nicht unterstützt.
EC_NEED_RESTART Ein Filter fordert an, dass das Diagramm neu gestartet wird.
EC_NEW_PIN Nicht unterstützt.
EC_NOTIFY_WINDOW Benachrichtigt einen Filter des Fensters des Videorenderers.
EC_OLE_EVENT Ein Filter übergibt eine Textzeichenfolge an die Anwendung.
EC_OPENING_FILE Das Diagramm öffnet eine Datei oder hat das Öffnen einer Datei abgeschlossen.
EC_PALETTE_CHANGED Die Videopalette wurde geändert.
EC_PAUSED Eine Pausenanforderung wurde abgeschlossen.
EC_PLEASE_REOPEN Die Quelldatei wurde geändert.
EC_PREPROCESS_COMPLETE Gesendet vom WM ASF Writer Filter, wenn die Vorverarbeitung für die Multipass-Codierung abgeschlossen ist.
EC_PROCESSING_LATENCY Gibt an, wie lange eine Komponente jedes Beispiel verarbeitet.
EC_QUALITY_CHANGE Das Diagramm bricht Beispiele für die Qualitätskontrolle ab.
EC_RENDER_FINISHED Nicht unterstützt.
EC_REPAINT Für einen Videorenderer ist eine Neubemalung erforderlich.
EC_SAMPLE_LATENCY Gibt an, wie weit hinter dem Zeitplan eine Komponente für die Verarbeitung von Beispielen steht.
EC_SAMPLE_NEEDED Fordert ein neues Eingabebeispiel vom EVR-Filter (Enhanced Video Renderer) an.
EC_SCRUB_TIME Gibt den Zeitstempel für den letzten Frameschritt an.
EC_SEGMENT_STARTED Ein neues Segment wurde gestartet.
EC_SHUTTING_DOWN Das Filterdiagramm wird heruntergefahren, bevor es zerstört wird.
EC_SNDDEV_IN_ERROR In einem Audioaufnahmefilter ist ein Gerätefehler aufgetreten.
EC_SNDDEV_OUT_ERROR In einem Audiorendererfilter ist ein Gerätefehler aufgetreten.
EC_STARVATION Ein Filter empfängt nicht genügend Daten.
EC_STATE_CHANGE Das Filterdiagramm hat den Zustand geändert.
EC_STATUS Enthält zwei beliebige Statuszeichenfolgen.
EC_STEP_COMPLETE Ein Filter, der das Frameschritten ausführt, hat die angegebene Anzahl von Frames gestuft.
EC_STREAM_CONTROL_STARTED Ein Startbefehl für streamsteuerelemente wurde wirksam.
EC_STREAM_CONTROL_STOPPED Ein Befehl zum Beenden des Datenstromsteuerelements wurde wirksam.
EC_STREAM_ERROR_STILLPLAYING In einem Datenstrom ist ein Fehler aufgetreten. Der Stream wird weiterhin wiedergegeben.
EC_STREAM_ERROR_STOPPED Ein Datenstrom wurde aufgrund eines Fehlers beendet.
EC_TIMECODE_AVAILABLE Nicht unterstützt.
EC_UNBUILT Senden durch das Videosteuerelement, wenn ein Diagramm heruntergerissen wurde. Nicht an Anwendungen weitergeleitet.
EC_USERABORT Der Benutzer hat die Wiedergabe beendet.
EC_VIDEO_SIZE_CHANGED Die systemeigene Videogröße wurde geändert.
EC_VIDEOFRAMEREADY Ein Videoframe ist für die Anzeige bereit.
EC_VMR_RECONNECTION_FAILED Gesendet von vmR-7 und vmR-9, als sie keine Anforderung für dynamische Formatänderungen vom Upstream-Decoder akzeptieren konnte.
EC_VMR_RENDERDEVICE_SET Gesendet, wenn der VMR seinen Renderingmechanismus ausgewählt hat.
EC_VMR_SURFACE_FLIPPED Gesendet, wenn der Referent des VMR-7-Zeichners die DirectDraw Flip-Methode auf der präsentierten Oberfläche aufgerufen hat.
EC_WINDOW_DESTROYED Der Videorenderer wurde zerstört oder aus dem Diagramm entfernt.
EC_WMT_EVENT Vom WM ASF Reader-Filter gesendet, wenn sie ASF-Dateien liest, die durch die Verwaltung digitaler Rechte (Digital Rights Management, DRM) geschützt sind.
EC_WMT_INDEX_EVENT Gesendet, wenn eine Anwendung den WM ASF Writer zum Indizieren von Windows Media Video-Dateien verwendet.

 

Konstanten und GUIDs

-Ereignisbenachrichtigung in DirectShow-