Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Proces hosta sterownika UMDF jest uruchamiany w kontekście konta usługi lokalnej. Sterownik może wymagać dostępu do innych urządzeń lub składników, które nie zezwalają na uogólniony dostęp do lokalnego konta usługi.
Począwszy od systemu Windows 8, system operacyjny zawiera identyfikator zabezpieczeń (SID), który identyfikuje sterowniki UMDF. Uwzględniając ten identyfikator SID w wymaganiach dotyczących zabezpieczeń urządzeń, urządzenia lub składniki mogą zezwalać na dostęp do sterowników UMDF, jednocześnie uniemożliwiając dostęp z innych żądań z konta usługi lokalnej.
Identyfikator SID dla sterowników UMDF jest SDDL_USER_MODE_DRIVERS, a definicja znajduje się w pliku sddl.h. Pełna reprezentacja tego identyfikatora SID to:
S-1-5-84-0-0-0-0-0
Skrót dla tego identyfikatora SID to UD. Ten skrót jest dostępny od systemu Windows 8.
Zewnętrzny sterownik dla sterownika UMDF może określić identyfikator SID albo w jego pliku INF, albo bezpośrednio w sterowniku, zanim utworzy obiekt urządzenia.
Określanie zabezpieczeń urządzenia w pliku INF
W pliku INF można użyć skróconego formularza lub w pełni określonej formy identyfikatora SID.
Skrócony formularz jest dostępny począwszy od systemu Windows 8:
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;UD)"
W systemach operacyjnych starszych niż Windows 8 należy użyć w pełni określonego formularza:
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;S-1-5-84-0-0-0-0-0)"
Określanie zabezpieczeń urządzenia w sterowniku KMDF
Aby określić wymagania dotyczące zabezpieczeń w sterowniku, należy użyć skróconego formularza, który jest dostępny tylko w systemie Windows 8. Na przykład sterownik KMDF może umożliwić dostęp do urządzenia ze sterowników UMDF przy użyciu następujących elementów:
RtlInitUnicodeString(&sddlString, L"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;UD)");
status = WdfDeviceInitAssignSDDLString(DeviceInit, &sddlString);