Freigeben über


Steuern des Gerätezugriffs

Der UMDF-Treiberhostprozess wird im Kontext des lokalen Dienstkontos ausgeführt. Ihr Treiber muss möglicherweise auf andere Geräte oder Komponenten zugreifen, die keinen generalisierten Zugriff auf das lokale Dienstkonto zulassen.

Ab Windows 8 enthält das Betriebssystem eine Sicherheits-ID (SID), die UMDF-Treiber identifiziert. Durch einschließen dieser SID in ihre Gerätesicherheitsanforderungen können Geräte oder Komponenten den Zugriff auf UMDF-Treiber ermöglichen und gleichzeitig den Zugriff von anderen Anforderungen aus dem lokalen Dienstkonto verhindern.

Die SID für UMDF-Treiber ist SDDL_USER_MODE_DRIVERS, und die Definition befindet sich in sddl.h. Die vollständige Darstellung dieser SID lautet:

S-1-5-84-0-0-0-0-0

Die Abkürzung für diese SID ist UD. Diese Abkürzung ist ab Windows 8 verfügbar.

Ein externer Treiber des UMDF-Treibers kann die SID entweder in der INF-Datei oder im Treiber angeben, bevor das Geräteobjekt erstellt wird.

Angeben der Gerätesicherheit in einer INF-Datei

In der INF-Datei können Sie entweder das abgekürzte Formular oder die vollständig angegebene Form der SID verwenden.

Das abgekürzte Formular ist ab Windows 8 verfügbar:

HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;UD)"   

Unter Betriebssystemen vor Windows 8 müssen Sie das vollständig angegebene Formular verwenden:

HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;S-1-5-84-0-0-0-0-0)"       

Bestimmen der Gerätesicherheit in einem KMDF-Treiber

Um Sicherheitsanforderungen im Treiber anzugeben, müssen Sie das abgekürzte Formular verwenden, das nur ab Windows 8 verfügbar ist. Beispielsweise kann ein KMDF-Treiber den Zugriff auf sein Gerät über UMDF-Treiber mithilfe der folgenden Optionen aktivieren:

RtlInitUnicodeString(&sddlString, L"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;UD)");
status = WdfDeviceInitAssignSDDLString(DeviceInit, &sddlString);