Bagikan melalui


Mengontrol Akses Perangkat

Proses host driver UMDF berjalan dalam konteks akun layanan lokal. Driver Anda mungkin perlu mengakses perangkat atau komponen lain yang tidak mengizinkan akses umum ke akun layanan lokal.

Mulai Windows 8, sistem operasi menyertakan pengidentifikasi keamanan (SID) yang mengidentifikasi driver UMDF. Dengan menyertakan SID ini dalam persyaratan keamanan perangkat mereka, perangkat atau komponen dapat mengizinkan akses ke driver UMDF sambil mencegah akses dari permintaan lain dari akun layanan lokal.

SID untuk driver UMDF adalah SDDL_USER_MODE_DRIVERS, dan definisinya ada di sddl.h. Representasi lengkap dari SID ini adalah:

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

Singkatan untuk SID ini adalah UD. Singkatan ini tersedia mulai dari Windows 8.

Driver eksternal untuk driver UMDF Anda dapat menentukan SID baik dalam file INF-nya atau di driver, sebelum membuat objek perangkat.

Menentukan keamanan perangkat dalam file INF

Dalam file INF, Anda dapat menggunakan formulir yang disingkat atau bentuk SID yang sepenuhnya ditentukan.

Formulir singkatan tersedia mulai dari Windows 8:

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

Pada sistem operasi yang lebih lama dari Windows 8, Anda harus menggunakan formulir yang sepenuhnya ditentukan:

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

Menentukan keamanan perangkat dalam driver KMDF

Untuk menentukan persyaratan keamanan dalam driver, Anda harus menggunakan formulir singkatan, yang hanya tersedia mulai dari Windows 8. Misalnya, driver KMDF dapat mengaktifkan akses ke perangkatnya dari driver UMDF dengan menggunakan hal berikut:

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