Určení režimu synchronizace zpětného volání

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í dokončení požadavku (IRequestCallbackRequestCompletion::OnCompletion) nejsou funkce zpětného volání fronty úkolů. Proto nejsou synchronizovány.