Dela via


Ramverksobjekthierarki

Varning

UMDF 2 är den senaste versionen av UMDF och ersätter UMDF 1. Alla nya UMDF-drivrutiner ska skrivas med UMDF 2. Inga nya funktioner läggs till i UMDF 1 och det finns begränsat stöd för UMDF 1 på nyare versioner av Windows 10. Universella Windows-drivrutiner måste använda UMDF 2.

De arkiverade UMDF 1-exemplen finns i Windows 11 version 22H2 – maj 2022 Uppdatering av drivrutinsexempel.

Mer information finns i Komma igång med UMDF.

Följande figur visar hierarkin av objekt för föräldra-barn ramverk.

hierarki för överordnade och underordnade umdf-objekt.

Livslängdsomfånget för ramverksobjekt bestäms av deras plats i hierarkin och hur objekten skapas. Livslängden för ramverksobjekt ingår i någon av följande kategorier:

  • Ramverket styr skapandet och förstörelsen av objekten.

    Ramverket skapar och förstör objekt, till exempel drivrutinsobjektet och enhetsobjekt, som svar på systemhändelser. När en drivrutin i användarläge anropar IWDFDriver::CreateDevice metod för att skapa enhetsobjektet kan drivrutinen registrera sig för att meddelas av ramverket innan enhetsobjektet förstörs.

  • Ramverket skapar objektet. Drivrutinen styr dock när objektet släpps.

    Det I/O-begärandeobjektet följer det här mönstret när I/O visas för drivrutinen. Ramverket skapar begärandeobjektet och begärandeobjektets livslängd är giltig tills drivrutinen anropar metoden IWDFIoRequest::Complete.

  • Drivrutinen skapar objektet och associerar objektet med ett annat ramverksobjekt.

    Vissa ramverksobjekt skapas med en metod som exponeras av en överordnad ramverksobjektinstans som objekten ska associeras till i syfte att hantera livslängden. Metoden IWDFDevice::CreateIoQueue är ett exempel på det här mönstret. Om ett anrop till IWDFDevice::CreateIoQueue lyckas associeras den nyligen skapade I/O-kön med enhetsinstansen som IWDFDevice- gränssnitt representerar. När det överordnade objektet förstörs rensar ramverket automatiskt underordnade instanser. Drivrutiner meddelas om dessa händelser om drivrutinerna registrerar lämpliga återanropsfunktioner med ramverket.