Ereignisbenachrichtigungscodes

[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.]

In diesem Abschnitt werden die DirectShow-Ereignisse aufgelistet, die nicht spezifisch für DVD sind. Informationen zu DVD-spezifischen Ereignissen finden Sie unter DVD-Ereignisbenachrichtigungscodes.

Filter senden Ereignisse an den Filter Graph-Manager, indem sie die IMediaEventSink::Notify-Methode aufrufen. Der Filter Graph-Manager verarbeitet einige Ereignisse und warteschlangent andere für die Anwendung. Die Anwendung ruft sie ab, indem sie die IMediaEvent::GetEvent-Methode aufruft.

In den folgenden Abschnitten listet jeder Eintrag den Ereigniscode, die Bedeutung der Ereignisparameter und ggf. die Standardaktion des Filter Graph Manager für das Ereignis auf. Um die Standardaktion zu überschreiben, rufen Sie IMediaEvent::CancelDefaultHandling auf. 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 weiter (über die Ereigniswarteschlange).

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. Es gelten jedoch die folgenden Einschränkungen:

  • Der Filter Graph-Manager kann die Ereignisparameter nicht mit der normalen IMediaEvent::FreeEventParams-Methode freigeben. Die Anwendung muss alle Speicher- oder Verweisanzahlen 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 das Ereignis sicher gesendet werden kann.)
Ereignisbenachrichtigungscode Beschreibung
EC_ACTIVATE Ein Videofenster wird aktiviert oder deaktiviert.
EC_BANDWIDTHCHANGE Wird nicht unterstützt.
EC_BUFFERING_DATA Das Diagramm puffert Daten oder hat das Puffern von Daten beendet.
EC_BUILT Senden Sie das Videosteuerelement, wenn ein Diagramm erstellt wurde. Nicht an Anwendungen weitergeleitet.
EC_CLOCK_CHANGED Die Referenzuhr wurde geändert.
EC_CLOCK_UNSET Der Uhrenanbieter wurde getrennt.
EC_CODECAPI_EVENT Wird von einem Encoder gesendet, um ein Codierungsereignis zu signalisieren.
EC_COMPLETE Alle Daten aus einem bestimmten Stream wurden gerendert.
EC_CONTENTPROPERTY_CHANGED Wird 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 Wird nicht unterstützt.
EC_ERROR_STILLPLAYING Ein asynchroner Befehl zum Ausführen des Graphen ist fehlgeschlagen.
EC_ERRORABORT Ein Vorgang wurde aufgrund eines Fehlers abgebrochen.
EC_ERRORABORTEX Ein Vorgang wurde aufgrund eines Fehlers abgebrochen.
EC_EXTDEVICE_MODE_CHANGE Wird 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 hat sich geändert.
EC_LOADSTATUS Benachrichtigt die Anwendung über den Fortschritt beim Öffnen einer Netzwerkdatei.
EC_MARKER_HIT Wird nicht unterstützt.
EC_NEED_RESTART Ein Filter fordert einen Neustart des Diagramms an.
EC_NEW_PIN Wird 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 Wird vom WM ASF Writer-Filter gesendet, wenn die Vorverarbeitung für die Mehrpasscodierung abgeschlossen ist.
EC_PROCESSING_LATENCY Gibt die Zeit an, die eine Komponente für die Verarbeitung der einzelnen Stichproben in Anspruch nimmt.
EC_QUALITY_CHANGE Das Diagramm löscht Stichproben zur Qualitätskontrolle.
EC_RENDER_FINISHED Wird nicht unterstützt.
EC_REPAINT Ein Videorenderer erfordert eine Neubemalung.
EC_SAMPLE_LATENCY Gibt an, wie weit der Zeitplan einer Komponente für die Verarbeitung von Beispielen liegt.
EC_SAMPLE_NEEDED Fordert ein neues Eingabebeispiel aus dem 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 vor der Zerstörung heruntergefahren.
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 Der Status des Filterdiagramms wurde geändert.
EC_STATUS Enthält zwei beliebige status Zeichenfolgen.
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 stream-control wurde wirksam.
EC_STREAM_CONTROL_STOPPED Ein Befehl zum Beenden der Streamsteuerung ist wirksam geworden.
EC_STREAM_ERROR_STILLPLAYING In einem Stream ist ein Fehler aufgetreten. Der Stream wird weiterhin wiedergegeben.
EC_STREAM_ERROR_STOPPED Ein Stream wurde aufgrund eines Fehlers beendet.
EC_TIMECODE_AVAILABLE Wird nicht unterstützt.
EC_UNBUILT Senden sie vom Videosteuerelement, wenn ein Diagramm abgerissen wurde. Nicht an Anwendungen weitergeleitet.
EC_USERABORT Der Benutzer hat die Wiedergabe beendet.
EC_VIDEO_SIZE_CHANGED Die größe des nativen Videos hat sich geändert.
EC_VIDEOFRAMEREADY Ein Videoframe kann angezeigt werden.
EC_VMR_RECONNECTION_FAILED Wird von VMR-7 und VMR-9 gesendet, wenn eine Dynamische Formatänderungsanforderung vom Upstream Decoder nicht akzeptiert werden konnte.
EC_VMR_RENDERDEVICE_SET Wird gesendet, wenn die VMR ihren Renderingmechanismus ausgewählt hat.
EC_VMR_SURFACE_FLIPPED Wird gesendet, wenn der Zuweisungsmoderator des VMR-7 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 Wird vom WM ASF Reader-Filter gesendet, wenn er ASF-Dateien liest, die durch digital Rights Management (DRM) geschützt sind.
EC_WMT_INDEX_EVENT Wird gesendet, wenn eine Anwendung den WM ASF Writer zum Indizieren von Windows Media Video-Dateien verwendet.

 

Konstanten und GUIDs

Ereignisbenachrichtigung in DirectShow