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.
Ovladač může určit, jak jsou funkce zpětného volání volána rámcem. Ovladač určuje režim synchronizace (nebo uzamčení) pro zařízení předtím, než zavolá IWDFDriver::CreateDevice metoda pro vytvoření objektu zařízení pro zařízení. Chcete-li určit režim synchronizace, ovladač by měl volat metodu IWDFDeviceInitialize::SetLockingConstraint. Ovladač obdrží ukazatel na rozhraní IWDFDeviceInitialize , když je volána jeho IDriverEntry::OnDeviceAdd metoda pro přidání zařízení do systému.
Ovladač může zadat jednu z následujících hodnot od výčtového typu WDF_CALLBACK_CONSTRAINT v parametru LockTypeIWDFDeviceInitialize::SetLockingConstraint pro identifikaci režimu uzamčení. Zadaný typ omezení (nebo uzamčení) závisí na tom, kolik paralelismu může hardwarové zařízení zneužít a kolik může ovladač zpracovat.
| Hodnota | Význam |
|---|---|
Žádné (0) |
Označuje, že nejsou synchronizovány žádné funkce zpětného volání do ovladače. |
WdfDeviceLevel (1) |
Označuje, že všechny funkce zpětného volání fronty do ovladače jsou synchronizovány. |
Poznámka Pokud ovladač nevolá IWDFDeviceInitialize::SetLockingConstraint určit hodnotu, architektura nastaví výchozí hodnotu této vlastnosti WdfDeviceLevel.
Omezení se vztahují pouze na funkce zpětného volání fronty, a nikoli na funkce zpětného volání Plug and Play (PnP) a řízení spotřeby. Funkce zpětného volání fronty zahrnují následující:
Funkce zpětného volání automatického odesílání, jako například IQueueCallbackRead::OnRead a IQueueCallbackWrite::OnWrite. Další informace najdete v tématu Funkce zpětného volání událostí fronty vstupně-výstupních operací.
Funkce zpětného volání pro změny stavu fronty, například IQueueCallbackStateChange::OnStateChange.
Funkce zpětného volání pro zrušení požadavku, jako je IRequestCallbackCancel::OnCancel.
Vyčištění souboru a zavření funkcí zpětného volání, například IFileCallbackCleanup::OnCleanupFile a IFileCallbackClose::OnCloseFile.
Funkce zpětného volání dokončení požadavku (IRequestCallbackRequestCompletion::OnCompletion) nejsou funkce zpětného volání fronty úkolů. Proto nejsou synchronizovány.