Bagikan melalui


Fungsi SeAccessCheckFromState (ntifs.h)

SeAccessCheckFromState memeriksa apakah hak akses yang diminta dapat diberikan ke objek yang dilindungi oleh deskriptor keamanan dan pemilik objek opsional.

Sintaks

BOOLEAN SeAccessCheckFromState(
  PSECURITY_DESCRIPTOR      SecurityDescriptor,
  PTOKEN_ACCESS_INFORMATION PrimaryTokenInformation,
  PTOKEN_ACCESS_INFORMATION ClientTokenInformation,
  ACCESS_MASK               DesiredAccess,
  ACCESS_MASK               PreviouslyGrantedAccess,
  PPRIVILEGE_SET            *Privileges,
  PGENERIC_MAPPING          GenericMapping,
  KPROCESSOR_MODE           AccessMode,
  PACCESS_MASK              GrantedAccess,
  PNTSTATUS                 AccessStatus
);

Parameter

SecurityDescriptor

[in] Penunjuk ke struktur SECURITY_DESCRIPTOR yang berisi informasi keamanan yang melindungi objek yang diakses.

PrimaryTokenInformation

[in] Penunjuk ke struktur TOKEN_ACCESS_INFORMATION yang diambil dari token utama. Struktur ini menyediakan informasi token yang diperlukan untuk melakukan pemeriksaan akses.

ClientTokenInformation

[in_opt] Penunjuk opsional ke struktur TOKEN_ACCESS_INFORMATION yang diambil dari token klien.

DesiredAccess

[in] Nilai ACCESS_MASK yang menentukan hak akses yang diinginkan untuk diperiksa.

PreviouslyGrantedAccess

[in] Nilai ACCESS_MASK yang menentukan akses apa pun yang telah diberikan pengguna; misalnya, sebagai hasil dari memegang hak istimewa.

Privileges

[keluar] Penunjuk ke struktur PRIVILEGE_SET di mana set hak istimewa dikembalikan untuk menunjukkan hak istimewa apa pun yang digunakan sebagai bagian dari validasi akses.

GenericMapping

[in] Penunjuk ke struktur GENERIC_MAPPING yang terkait dengan tipe objek ini.

AccessMode

[in] Nilai KPROCESSOR_MODE yang menentukan mode prosesor yang akan digunakan dalam pemeriksaan. AccessMode dapat berupa KernelMode atau UserMode. Driver tingkat bawah harus menentukan KernelMode.

GrantedAccess

[keluar] Penunjuk ke nilai ACCESS_MASK yang dikembalikan yang menunjukkan akses yang diberikan.

AccessStatus

[keluar] Penunjuk ke nilai status NT yang dapat dikembalikan untuk menunjukkan mengapa akses ditolak. Lihat Keterangan.

Nilai kembali

SeAccessCheckFromState mengembalikan TRUE jika akses diizinkan; mengembalikan FALSE jika akses tidak diizinkan.

Keterangan

SeAccessCheckFromState mungkin melakukan pengujian untuk hak istimewa berikut, tergantung pada akses yang diminta:

  • SeTakeOwnershipPrivilege
  • SeSecurityPrivilege

Rutinitas ini juga dapat memeriksa apakah penelepon adalah pemilik objek untuk memberikan akses WRITE_DAC atau READ_CONTROL.

Jika rutinitas ini mengembalikan FALSE, pemanggil harus menggunakan AccessStatus yang dikembalikan sebagai nilai yang dikembalikan. Artinya, penelepon harus menghindari hardcoding nilai pengembalian STATUS_ACCESS_DENIED atau nilai STATUS_XXX spesifik lainnya.

Rutinitas ini mungkin dipanggil dari tingkat DPC sehingga tidak boleh dapat dipaginasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000
Header ntifs.h (termasuk ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe

Lihat juga

SeAccessCheck

SeAccessCheckFromStateEx