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 stuurprogramma kan opgeven hoe de callback-functies worden aangeroepen door het framework. Het stuurprogramma geeft een synchronisatiemodus (of vergrendeling) voor een apparaat op voordat de IWDFDriver::CreateDevice-methode wordt aangeroepen om een apparaatobject te maken voor het apparaat. Als u de synchronisatiemodus wilt opgeven, moet het stuurprogramma de methode IWDFDeviceInitialize::SetLockingConstraint aanroepen. Het stuurprogramma ontvangt een aanwijzer naar de IWDFDeviceInitialize interface wanneer de IDriverEntry::OnDeviceAdd methode wordt aangeroepen om het apparaat toe te voegen aan het systeem.
Het stuurprogramma kan een van de volgende waarden opgeven uit het WDF_CALLBACK_CONSTRAINT opsommingstype in de parameter LockType van IWDFDeviceInitialize::SetLockingConstraint om de vergrendelingsmodus te identificeren. Het type beperking (of vergrendeling) dat is opgegeven, is afhankelijk van hoeveel parallellisme het hardwareapparaat kan misbruiken en hoeveel het stuurprogramma kan verwerken.
Waarde | Betekenis |
---|---|
Geen (0) |
Geeft aan dat geen callbackfuncties in de driver worden gesynchroniseerd. |
WdfDeviceLevel (1) |
Geeft aan dat alle callback-functies voor wachtrijen in het stuurprogramma worden gesynchroniseerd. |
Opmerking Als het stuurprogramma de functie IWDFDeviceInitialize::SetLockingConstraint niet aanroept om een waarde op te geven, stelt het framework de standaardwaarde van deze eigenschap in op WdfDeviceLevel.
Beperkingen zijn alleen van toepassing op callback-functies voor wachtrijen en niet op Plug en Play (PnP) en callback-functies voor energiebeheer. Callback-functies voor wachtrijen zijn onder andere:
Automatische callback-functies, zoals IQueueCallbackRead::OnRead en IQueueCallbackWrite::OnWrite. Zie I/O Queue Event Callback Functionsvoor meer informatie.
Callback-functies voor het wijzigen van de wachtrijstatus, zoals IQueueCallbackStateChange::OnStateChange.
Annulering callback-functies aanvragen, zoals IRequestCallbackCancel::OnCancel.
Functies voor het opschonen en sluiten van callback, zoals IFileCallbackCleanup::OnCleanupFile en IFileCallbackClose::OnCloseFile.
Callback-functies voor aanvraagvoltooiing (IRequestCallbackRequestCompletion::OnCompletion) zijn geen wachtrij-callbackfuncties. Daarom worden ze niet gesynchroniseerd.