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.
Waarschuwing
UMDF 2 is de nieuwste versie van UMDF en vervangt UMDF 1. Alle nieuwe UMDF-stuurprogramma's moeten worden geschreven met UMDF 2. Er worden geen nieuwe functies toegevoegd aan UMDF 1 en er is beperkte ondersteuning voor UMDF 1 op nieuwere versies van Windows 10. Universele Windows-stuurprogramma's moeten UMDF 2 gebruiken.
De gearchiveerde UMDF 1-voorbeelden vindt u in de Windows 11 versie 22H2 - update van stuurprogrammavoorbeelden van mei 2022.
Zie Aan de slag met UMDF-voor meer informatie.
Het framework en het UMDF-stuurprogramma communiceren via de UMDF DDI. De UMDF DDI is vergelijkbaar met de KMDF DDI, behalve dat de UMDF DDI is gebaseerd op COM. Daarom begrijpen stuurprogrammaschrijvers die bekend zijn met KMDF UMDF.
Voor elk type frameworkobject definieert de UMDF een interface waarmee exemplaren van het object kunnen worden bewerkt. Elke interface ondersteunt methoden en eigenschappen. Methoden definiëren acties die namens het object en de eigenschappenset kunnen worden uitgevoerd en de kenmerken van het object kunnen ophalen. Sommige interfaces worden geïmplementeerd door het framework en andere worden geïmplementeerd door het stuurprogramma. Interfaces die worden blootgesteld door een frameworkobject hebben de vorm IWDF<object>, terwijl de event callback-interfaces die door een stuurprogramma worden blootgesteld de vorm I<object><actie>hebben, waarbij <object> een wachtrij, aanvraag, enzovoort vertegenwoordigt, en <actie> aangeeft wat de interface doet. Methoden van de callback-interfaces beginnen met 'Aan'.
Het UMDF-stuurprogramma communiceert met de objecten van het framework via hun methoden en eigenschappen. Het framework communiceert met het stuurprogramma via gebeurtenismeldingen. Dit zijn callback-functies die het framework kan aanroepen om het stuurprogramma op de hoogte te stellen van specifieke gebeurtenissen. Als u callback-functies wilt registreren, kan het stuurprogramma bijvoorbeeld de volgende frameworkobjectmethoden aanroepen en een aanwijzer doorgeven aan de IUnknown interface die is gekoppeld aan alle interfaces voor de callback-functies die het stuurprogramma ondersteunt.
Als voorbeeld van communicatie tussen stuurprogramma's en frameworks kunt u het standaard I/O-wachtrijobject van een apparaat overwegen. Een stuurprogramma kan methoden aanroepen, zoals IWDFIoQueue::GetState, om statusinformatie over de I/O-wachtrij op te halen of IWDFIoQueue::RetrieveNextRequest om een aanvraag op te halen uit de I/O-wachtrij. Een stuurprogramma kan ook om meldingen in de I/O-wachtrij verzoeken door de IWDFDevice::CreateIoQueue methode aan te roepen om callback-interfaces te registreren, zoals IQueueCallbackRead en IQueueCallbackWrite. De methoden van deze interfaces worden vervolgens door het framework aangeroepen wanneer een toepassing lees- en schrijfaanvragen verzendt.
Het framework biedt alle synchronisaties die vereist zijn voor callback-methoden voor stuurprogramma's. Het framework wordt standaard gesynchroniseerd op apparaatobjectniveau; Dat wil gezegd, het framework roept de callback-methoden voor gebeurtenissen niet gelijktijdig aan op of onder het objectniveau van het apparaat. Een stuurprogramma kan deze standaard negeren door geen synchronisatie aan te vragen. Zie Een callbacksynchronisatiemodus opgevenvoor meer informatie.