Dela via


Händelsemeddelandekoder

[Funktionen som är associerad med den här sidan, DirectShow, är en äldre funktion. Det har ersatts av MediaPlayer, IMFMediaEngineoch Audio / Video Capture i Media Foundation. Dessa funktioner har optimerats för Windows 10 och Windows 11. Microsoft rekommenderar starkt att ny kod använder MediaPlayer, IMFMediaEngine och Audio/Video Capture i Media Foundation i stället för DirectShow, när det är möjligt. Microsoft föreslår att befintlig kod som använder äldre API:er skrivs om för att använda de nya API:erna om möjligt.]

I det här avsnittet visas DirectShow-händelser som inte är specifika för DVD. Information om händelser som är specifika för DVD finns i DVD-händelsemeddelandekoder.

Filtrerar skicka händelser till Filter Graph Manager genom att anropa metoden IMediaEventSink::Notify. Filter Graph Manager hanterar vissa händelser och köar andra för programmet. Programmet hämtar dem genom att anropa metoden IMediaEvent::GetEvent.

I de avsnitt som följer listar varje post händelsekoden, innebörden av händelseparametrarna och filtergrafhanterarens standardåtgärd för händelsen, om någon. Om du vill åsidosätta standardåtgärden anropar du IMediaEvent::CancelDefaultHandling. Händelsekoder definieras i huvudfilerna Evcode.h och Audevcod.h. Om det inte finns någon standardåtgärd vidarebefordrar Filter Graph Manager automatiskt händelsen till programmet (via händelsekön).

anpassade händelser

Filter kan definiera anpassade händelser med händelsekoder i intervallet EC_USER och högre. Filter Graph Manager placerar dessa direkt i händelsekön. Följande varningar gäller dock:

  • Filter Graph Manager kan inte frigöra händelseparametrarna med hjälp av den normala metoden IMediaEvent::FreeEventParams. Programmet måste frigöra minne eller referensantal som är associerade med händelseparametrarna.
  • Filtret bör endast skicka händelsen inifrån ett program som är förberett för att hantera händelsen. (Programmet kan eventuellt ange en anpassad egenskap i filtret för att indikera att det är säkert att skicka händelsen.)
Kod för händelseavisering Beskrivning
EC_ACTIVATE Ett videofönster aktiveras eller inaktiveras.
EC_BANDWIDTHCHANGE Stöds inte.
EC_BUFFERING_DATA Diagrammet buffrar data eller har stoppat buffring av data.
EC_BUILT Skicka med videokontrollen när ett diagram har skapats. Vidarebefordras inte till program.
EC_CLOCK_CHANGED Referensklockan har ändrats.
EC_CLOCK_UNSET Klockprovidern kopplades från.
EC_CODECAPI_EVENT Skickas av en kodare för att signalera en kodningshändelse.
EC_COMPLETE Alla data från en viss ström har renderats.
EC_CONTENTPROPERTY_CHANGED Stöds inte.
EC_DEVICE_LOST En Plug and Play-enhet har tagits bort eller blivit tillgänglig igen.
EC_DISPLAY_CHANGED Visningsläget har ändrats.
EC_END_OF_SEGMENT Slutet på ett segment har nåtts.
EC_EOS_SOON Stöds inte.
EC_ERROR_STILLPLAYING Ett asynkront kommando för att köra grafen misslyckades.
EC_ERRORABORT En åtgärd avbröts på grund av ett fel.
EC_ERRORABORTEX En åtgärd avbröts på grund av ett fel.
EC_EXTDEVICE_MODE_CHANGE Stöds inte.
EC_FILE_CLOSED Källfilen stängdes på grund av en oväntad händelse.
EC_FULLSCREEN_LOST Videoåtergivningen växlar ut från helskärmsläge.
EC_GRAPH_CHANGED Filterdiagrammet har ändrats.
EC_LENGTH_CHANGED Längden på en källa har ändrats.
EC_LOADSTATUS Meddelar programmet för förlopp när du öppnar en nätverksfil.
EC_MARKER_HIT Stöds inte.
EC_NEED_RESTART Ett filter begär att diagrammet startas om.
EC_NEW_PIN Stöds inte.
EC_NOTIFY_WINDOW Meddelar ett filter i videoåtergivningens fönster.
EC_OLE_EVENT Ett filter skickar en textsträng till programmet.
EC_OPENING_FILE Diagrammet öppnar en fil eller har öppnat en fil.
EC_PALETTE_CHANGED Videopaletten har ändrats.
EC_PAUSED En pausbegäran har slutförts.
EC_PLEASE_REOPEN Källfilen har ändrats.
EC_PREPROCESS_COMPLETE Skickas av WM ASF Writer filter när den slutför förbearbetningen för multipasskodning.
EC_PROCESSING_LATENCY Anger hur lång tid det tar för en komponent att bearbeta varje exempel.
EC_QUALITY_CHANGE Diagrammet tar bort exempel för kvalitetskontroll.
EC_RENDER_FINISHED Stöds inte.
EC_REPAINT En videoåtergivning kräver en ommålning.
EC_SAMPLE_LATENCY Anger hur långt efter schemat en komponent är för bearbetning av exempel.
EC_SAMPLE_NEEDED Begär ett nytt indataexempel från EVR-filtret (Enhanced Video Renderer).
EC_SCRUB_TIME Anger tidsstämpeln för det senaste bildrutesteget.
EC_SEGMENT_STARTED Ett nytt segment har startat.
EC_SHUTTING_DOWN Filterdiagrammet stängs av innan det förstörs.
EC_SNDDEV_IN_ERROR Ett enhetsfel har uppstått i ett ljudinspelningsfilter.
EC_SNDDEV_OUT_ERROR Ett enhetsfel har uppstått i ett ljudåtergivningsfilter.
EC_STARVATION Ett filter tar inte emot tillräckligt med data.
EC_STATE_CHANGE Filterdiagrammet har ändrat tillstånd.
EC_STATUS Innehåller två godtyckliga statussträngar.
EC_STEP_COMPLETE Ett filter som utför ramstegning har ökat det angivna antalet bildrutor.
EC_STREAM_CONTROL_STARTED Ett startkommando för stream-control har börjat gälla.
EC_STREAM_CONTROL_STOPPED Ett stream-control stop-kommando har börjat gälla.
EC_STREAM_ERROR_STILLPLAYING Ett fel har uppstått i en dataström. Strömmen spelas fortfarande upp.
EC_STREAM_ERROR_STOPPED En dataström har stoppats på grund av ett fel.
EC_TIMECODE_AVAILABLE Stöds inte.
EC_UNBUILT Skicka med videokontrollen när ett diagram har rivits. Vidarebefordras inte till program.
EC_USERABORT Användaren har avslutat uppspelningen.
EC_VIDEO_SIZE_CHANGED Den inbyggda videostorleken har ändrats.
EC_VIDEOFRAMEREADY En videoram är klar för visning.
EC_VMR_RECONNECTION_FAILED Skickas av VMR-7 och VMR-9 när den inte kunde acceptera en begäran om ändring i dynamiskt format från den överordnade avkodaren.
EC_VMR_RENDERDEVICE_SET Skickas när VMR har valt sin återgivningsmekanism.
EC_VMR_SURFACE_FLIPPED Skickas när VMR-7:s allokeringspresentatör har anropat DirectDraw Flip-metoden på den yta som visas.
EC_WINDOW_DESTROYED Videoåtergivningen förstördes eller togs bort från diagrammet.
EC_WMT_EVENT Skickas av WM ASF Reader-filtret när det läser ASF-filer som skyddas av DIGITAL Rights Management (DRM).
EC_WMT_INDEX_EVENT Skickas när ett program använder WM ASF Writer för att indexera Windows Media Video-filer.

 

konstanter och GUID:er

händelsemeddelande i DirectShow