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.
Vanaf Windows Vista isoleert het besturingssysteem services en systeemprocessen in Sessie 0, terwijl toepassingen worden uitgevoerd in volgende, hogere genummerde sessies. Omdat het UMDF-hostproces (WUDFHost.exe) een van de systeemprocessen is die worden uitgevoerd in sessie 0, worden UMDF-stuurprogramma's geïsoleerd van toepassingen. Als gevolg hiervan moet u de volgende richtlijnen gebruiken bij het ontwikkelen van uw stuurprogramma:
Maak geen UI-element (user interface), zoals een dialoogvenster, of ben niet afhankelijk van gebruikersinvoer. Omdat de gebruiker niet in Sessie 0 draait, ziet hij of zij de gebruikersinterface nooit en kan hij of zij er niet op reageren.
U kunt ook geen UI-elementen bewerken. Een UMDF-stuurprogramma kan bijvoorbeeld geen vensters opsommen in de sessie van de gebruiker.
Als uw stuurprogramma moet communiceren met een service, gebruikt u een client-/servermechanisme, zoals remote procedure call (RPC) of named pipes.
Wees voorzichtig bij het aanroepen van functies in de Windows-API. Sommige functies kunnen UI-elementen bewerken of proberen toegang te krijgen tot benoemde objecten in de sessie van een gebruiker. Roep geen Windows-functies aan die u niet zou aanroepen vanuit een service in de gebruikersmodus. In de regel kan een UMDF-stuurprogramma functies die worden geëxporteerd in kernel32.dllveilig aanroepen, maar niet in user32.dllgeëxporteerde functies.
Een UMDF-stuurprogramma kan Windows-functies aanroepen om de volgende taken uit te voeren:
Een stuurprogramma kan SetupDiXxx-functies aanroepen om een Plug en Play-apparaateigenschap op te halen. Het UMDF-voorbeeldstuurprogramma voor OSR USB Fx2 Learning Kit roept SetupDiGetDeviceRegistryProperty aan om de GUID voor het bustype van het apparaat op te halen. Notitie Een UMDF-stuurprogramma kan niet veilig veel van de functies SetupDiXxx aanroepen, maar het is veilig om functies aan te roepen die apparaatknooppunteigenschappen ophalen.
Een stuurprogramma dat I/O-aanvragen ophaalt uit een handmatige wachtrij, kan een periodieke timer maken om de wachtrij te peilen. Het WudfVhidmini-voorbeeld registreert bijvoorbeeld een timer callback-routine door CreateThreadpoolTimer aan te roepen en stelt vervolgens een periodieke timer in door SetThreadpoolTimer aan te roepen. Notitie Vanaf versie 1.11 biedt UMDF ondersteuning voor werkitems. Zie Werkitems gebruiken voor meer informatie.
Zie hoofdstuk 14 ("Beyond the Frameworks") van Orwick, Penny en Guy Smith voor meer informatie over het gebruik van systeemservices buiten de frameworks. Stuurprogramma's ontwikkelen met de Windows Driver Foundation. Redmond, WA: Microsoft Press, 2007.
Zie Impact van sessie 0 isolatie op services en stuurprogramma's in Windows voor meer informatie over sessie nulisolatie.