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. |
Verwandte Themen