Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Výstraha
UMDF 2 je nejnovější verze UMDF a nahrazuje UMDF 1. Všechny nové ovladače UMDF by měly být zapsány pomocí UMDF 2. Do UMDF 1 se nepřidávají žádné nové funkce a v novějších verzích Windows 10 je omezená podpora UMDF 1. Univerzální ovladače systému Windows musí používat UMDF 2.
Archivované ukázky UMDF 1 najdete v aktualizaci ovladačů pro Windows 11, verze 22H2 z května 2022 – .
Další informace najdete v tématu Začínáme s UMDF.
Architektura a ovladač UMDF komunikují prostřednictvím DDI UMDF. DDI UMDF je podobný DDI KMDF, kromě toho, že DDI UMDF je založen na modelu COM. Proto autoři ovladačů seznámeni s KMDF budou rozumět UMDF.
Pro každý typ objektu architektury definuje UMDF rozhraní, prostřednictvím kterého se mají manipulovat s instancemi objektu. Každé rozhraní podporuje metody a vlastnosti. Metody definují akce, které lze provádět jménem objektu a sady vlastností a načítají charakteristiky objektu. Některá rozhraní jsou implementována architekturou a jiné jsou implementovány ovladačem. Rozhraní, která jsou vystavena objektem architektury, mají formát IWDF<objekt>, zatímco rozhraní zpětného volání událostí vystavená ovladačem mají formát I<objekt><činnost>, kde <objekt> představuje frontu, požadavek a tak dále, a <činnost> označuje, co rozhraní provádí. Metody rozhraní zpětného volání začínají na "Zapnuto".
Ovladač UMDF komunikuje s objekty architektury prostřednictvím jejich metod a vlastností. Architektura komunikuje s řidičem prostřednictvím oznámení událostí, což jsou funkce zpětného volání, které rozhraní může volat, aby ovladač informoval o konkrétních událostech. K registraci funkcí zpětného volání může ovladač volat například následující metody objektu architektury a může předat ukazatel na rozhraní IUnknown přidružené ke všem rozhraním pro funkce zpětného volání, které ovladač podporuje.
Jako příklad komunikace mezi ovladačem a architekturou zvažte výchozí objekt fronty pro vstupně-výstupní operace zařízení. Ovladač může volat metody, jako je IWDFIoQueue::GetState, pro načtení informací o stavu vstupně-výstupní fronty nebo IWDFIoQueue::RetrieveNextRequest pro načtení požadavku ze vstupně-výstupní fronty. Ovladač může také požadovat oznámení ve frontě vstupně-výstupních operací voláním metody IWDFDevice::CreateIoQueue pro registraci rozhraní zpětného volání, jako je IQueueCallbackRead a IQueueCallbackWrite. Metody těchto rozhraní jsou následně volány rozhraním, když aplikace odesílá požadavky na čtení a zápis.
Architektura poskytuje veškerou synchronizaci vyžadovanou napříč metodami zpětného volání ovladače. Ve výchozím nastavení se architektura synchronizuje na úrovni objektu zařízení; to znamená, že architektura nevolá souběžně metody zpětného volání událostí na úrovni objektu zařízení nebo pod úrovní objektu zařízení. Řidič může tuto výchozí hodnotu změnit tím, že nepožaduje synchronizaci. Další informace naleznete v tématu Určení režimu synchronizace zpětného volání.