struktur ACCESS_STATE (wdm.h)
Struktur ACCESS_STATE menjelaskan status akses yang sedang berlangsung. Ini berisi konteks subjek objek, jenis akses yang diinginkan yang tersisa, jenis akses yang diberikan, dan, secara opsional, hak istimewa yang ditetapkan untuk menunjukkan hak istimewa mana yang digunakan untuk mengizinkan akses.
Driver tidak memodifikasi struktur ACCESS_STATE secara langsung. Untuk membuat dan memanipulasi struktur ini, gunakan rutinitas dukungan yang tercantum di bagian Lihat Juga.
Sintaks
typedef struct _ACCESS_STATE {
LUID OperationID;
BOOLEAN SecurityEvaluated;
BOOLEAN GenerateAudit;
BOOLEAN GenerateOnClose;
BOOLEAN PrivilegesAllocated;
ULONG Flags;
ACCESS_MASK RemainingDesiredAccess;
ACCESS_MASK PreviouslyGrantedAccess;
ACCESS_MASK OriginalDesiredAccess;
SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;
PSECURITY_DESCRIPTOR SecurityDescriptor;
PVOID AuxData;
union {
INITIAL_PRIVILEGE_SET InitialPrivilegeSet;
PRIVILEGE_SET PrivilegeSet;
} Privileges;
BOOLEAN AuditPrivileges;
UNICODE_STRING ObjectName;
UNICODE_STRING ObjectTypeName;
} ACCESS_STATE, *PACCESS_STATE;
Anggota
OperationID
Pengidentifikasi operasi yang terkait dengan akses ini. Anggota ini digantikan oleh TransactionId di anggota AuxData dan saat ini tidak digunakan oleh driver.
SecurityEvaluated
Nilai Boolean yang menentukan apakah keamanan dievaluasi sebagai bagian dari pemeriksaan akses. Anggota ini saat ini tidak digunakan oleh driver.
GenerateAudit
Nilai Boolean yang menentukan apakah akses harus menghasilkan audit. Anggota ini saat ini tidak digunakan oleh driver.
GenerateOnClose
Nilai Boolean yang menentukan apakah audit harus dihasilkan saat handel yang dibuat ditutup. Anggota ini saat ini tidak digunakan oleh driver.
PrivilegesAllocated
Nilai Boolean yang menentukan apakah hak istimewa dialokasikan sebagai bagian dari pemeriksaan akses. Anggota ini saat ini tidak digunakan oleh driver.
Flags
Nilai 32-bit yang berisi bendera bidang bit untuk akses. Driver dapat memeriksa bendera akses melintasi (TOKEN_HAS_TRAVERSE_PRIVILEGE). Untuk informasi selengkapnya tentang cara memeriksa akses melintasi, lihat Memeriksa Hak Istimewa Traverse di IRP_MJ_CREATE. Driver juga dapat memeriksa bendera TOKEN_IS_RESTRICTED. Bendera ini didefinisikan dalam Ntifs.h.
RemainingDesiredAccess
Jenis ACCESS_MASK yang menjelaskan hak akses yang belum diberikan kepada pemanggil. Driver menggunakan anggota ini untuk menentukan apakah sistem keamanan Windows dapat memberikan akses. Jika akses dapat diberikan, driver memperbarui anggota PreviouslyGrantedAccess dan RemainingDesiredAccess yang sesuai.
PreviouslyGrantedAccess
Jenis ACCESS_MASK yang menentukan informasi tentang akses yang telah diberikan kepada pemanggil salah satu Rutinitas Monitor Referensi Keamanan. Sistem keamanan Windows memberikan hak tertentu berdasarkan hak istimewa pemanggil, seperti melintasi kanan (kemampuan untuk melintasi direktori sebagai bagian dari membuka subdirektori atau file).
OriginalDesiredAccess
Jenis ACCESS_MASK yang berisi hak akses asli yang diminta oleh pemanggil.
SubjectSecurityContext
Struktur SECURITY_SUBJECT_CONTEXT yang berisi informasi tentang konteks keamanan subjek yang digunakan untuk memvalidasi dan mengaudit akses.
SecurityDescriptor
Penunjuk ke struktur SECURITY_DESCRIPTOR yang berisi informasi keamanan untuk objek yang terkait dengan akses ini.
AuxData
Penunjuk ke blok memori yang berisi data tambahan untuk akses.
Privileges
Serikat yang dapat berisi salah satu struktur berikut. Serikat ini memungkinkan tiga hak istimewa untuk disematkan dalam struktur status akses. Jika ada lebih banyak hak istimewa yang diperlukan selama operasi, hak istimewa tersebut akan dialokasikan di ekstensi anggota AuxData . Anggota ini saat ini tidak digunakan oleh driver.
Privileges.InitialPrivilegeSet
Struktur INITIAL_PRIVILEGE_SET yang menentukan sekumpulan hak istimewa awal untuk akses.
Privileges.PrivilegeSet
Struktur PRIVILEGE_SET yang menentukan sekumpulan hak istimewa untuk akses.
AuditPrivileges
Nilai Boolean yang menentukan apakah penggunaan hak istimewa harus diaudit. Anggota ini saat ini tidak digunakan oleh driver.
ObjectName
Struktur UNICODE_STRING yang berisi string nama objek untuk akses. Anggota ini digunakan untuk audit.
ObjectTypeName
Struktur UNICODE_STRING yang berisi string nama jenis objek untuk akses. Anggota ini digunakan untuk audit.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | wdm.h (termasuk Ntifs.h) |
Lihat juga
SeOpenObjectForDeleteAuditAlarm