Filter Graph Manager
[De functie die is gekoppeld aan deze pagina, DirectShow, is een verouderde functie. Het is vervangen door MediaPlayer, IMFMediaEngineen Audio/Video Capture in Media Foundation. Deze functies zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code te gebruiken MediaPlayer, IMFMediaEngine en Audio/Video Capture in Media Foundation in plaats van DirectShow, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]
Filter Graph Manager bouwt en beheert filtergrafieken. Dit object is het centrale onderdeel in DirectShow. Toepassingen gebruiken deze om filtergrafieken te bouwen en te beheren. Filter Graph Manager verwerkt ook synchronisatie, gebeurtenismeldingen en andere aspecten van het beheren van de filtergrafiek. Maak dit object door CoCreateInstance-aan te roepen.
CLSID
Er zijn twee CLSI's voor het maken van Filter Graph Manager:
CLSID | Beschrijving |
---|---|
CLSID_FilterGraph | Hiermee maakt u Filter Graph Manager op een gedeelde werkrolthread. |
CLSID_FilterGraphNoThread | Hiermee maakt u Filter Graph Manager op de toepassingsthread. |
Over het algemeen moeten toepassingen CLSID_FilterGraph gebruiken. Beide CLSID's maken hetzelfde object, maar ze gebruiken verschillende threadingmodellen:
- CLSID_FilterGraph maakt filtergrafiekbeheer op een werkrolthread, die wordt gedeeld door alle CLSID_FilterGraph exemplaren binnen hetzelfde proces. De thread verzendt berichten die worden verzonden door filters en bepaalt de levensduur van alle vensters die door filters zijn gemaakt.
- CLSID_FilterGraphNoThread maakt filtergrafiekbeheer op de thread van de toepassing. Als u deze CLSID gebruikt, moet de thread die CoCreateInstance aanroept, een berichtenlus hebben waarmee berichten worden verzonden; anders kunnen impasses optreden. Voordat de toepassingsthread wordt afgesloten, moet het filtergrafiekbeheer en alle grafiekobjecten (zoals filters, pinnen, verwijzingsklokken enzovoort) vrijgeven.
Interfaces
In Filter Graph Manager worden de volgende interfaces weergegeven:
- IAMGraphStreams-
- IAMStats
- IBasicAudio-
- IBasicVideo
- IBasicVideo2
- IFilterChain
- IFilterGraph-
- IFilterGraph2-
- IFilterGraph3-
- IFilterMapper2-
- IGraphBuilder-
- IGraphConfig-
- IGraphVersion-
- IMediaControl-
- IMediaEvent-
- IMediaEventEx-
- IMediaEventSink
- IMediaFilter-
- IMediaPosition-
- IMediaSeeking-
- IQueueCommand-
- IRegisterServiceProvider
- IResourceManager-
- IServiceProvider-
- IVideoFrameStep-
- IVideoWindow-
Verwante onderwerpen