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. |
Zugehörige Themen