Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
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);