Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u een AVStream minidriver schrijft, raadpleegt u Gebeurtenisafhandeling in AVStream.
Gebeurtenissets zijn groepen gerelateerde gebeurtenissen waarvoor een listener een melding kan aanvragen. Een listener kan zich bijvoorbeeld registreren om op de hoogte te worden gesteld van wijzigingen in de apparaatstatus of wijzigingen in de stroompositie. Wanneer er een gebeurtenis optreedt, meldt kernelstreaming alle clients die zich voor deze gebeurtenis hebben geregistreerd.
Minidrivers beschrijven hoe ze een gebeurtenis ondersteunen door een KSEVENT_ITEM structuur te bieden die aanwijzers bevat voor het afhandelen van routines.
Listeners registreren zich voor meldingen door de kernelstreamingproxyroutine KsSynchronousDeviceControl aan te roepen met de IOCTL_KS_ENABLE_EVENT besturingscode en aanwijzers naar KSEVENT en KSEVENTDATA.structures.
De IOCTL_KS_DISABLE_EVENT aanvraag schakelt een opgegeven gebeurtenis uit. Dezelfde aanwijzer die is gebruikt om de gebeurtenis in te schakelen, moet worden gebruikt om deze uit te schakelen. Deze aanwijzer identificeert de gebeurtenis op unieke wijze. Optioneel kan de client een NULL-aanwijzer en lengte van nul opgeven om alle actieve gebeurtenissen voor de client uit te schakelen.
Alle gebeurtenissets moeten de vlag KSEVENT_TYPE_BASICSUPPORT ondersteunen. Raadpleeg KSEVENT voor een lijst met beschikbare gebeurtenisvlagmen.
Voor sommige gebeurtenistypen zijn aanvullende parameters vereist om te registreren voor gebeurtenismeldingen. De KSEVENT_CLOCK_POSITION_MARK gebeurtenis op een klok wordt bijvoorbeeld geactiveerd wanneer de klok een bepaald tijdstempel bereikt. Clients die zich registreren om op de hoogte te worden gesteld van deze gebeurtenis, moeten daarom het tijdstempel opgeven waarop de gebeurtenis moet worden geactiveerd.
In dat geval geeft een minidriver extra gegevensparameters door in de gegevensbuffer na de KSEVENTDATA-structuur . Minidrivers die ondersteuning bieden voor een dergelijk gebeurtenistype, maken gebruik van een uitgebreide gegevensstructuur, waarvan het eerste lid van het type KSEVENTDATA de meldingsgegevens bevat.