Bagikan melalui


Fungsi AuthzAccessCheck (authz.h)

Fungsi AuthzAccessCheck menentukan bit akses mana yang dapat diberikan kepada klien untuk sekumpulan deskriptor keamanan tertentu. Struktur AUTHZ_ACCESS_REPLY mengembalikan array masker akses yang diberikan dan status kesalahan. Secara opsional, masker akses yang akan selalu diberikan dapat di-cache, dan handel ke nilai cache dikembalikan.

Sintaks

AUTHZAPI BOOL AuthzAccessCheck(
  [in]            DWORD                              Flags,
  [in]            AUTHZ_CLIENT_CONTEXT_HANDLE        hAuthzClientContext,
  [in]            PAUTHZ_ACCESS_REQUEST              pRequest,
  [in, optional]  AUTHZ_AUDIT_EVENT_HANDLE           hAuditEvent,
  [in]            PSECURITY_DESCRIPTOR               pSecurityDescriptor,
  [in, optional]  PSECURITY_DESCRIPTOR               *OptionalSecurityDescriptorArray,
  [in, optional]  DWORD                              OptionalSecurityDescriptorCount,
  [in, out]       PAUTHZ_ACCESS_REPLY                pReply,
  [out, optional] PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE phAccessCheckResults
);

Parameter

[in] Flags

Nilai DWORD yang menentukan bagaimana deskriptor keamanan disalin. Parameter ini bisa menjadi salah satu nilai berikut.

Dimulai dengan Windows 8 dan Windows Server 2012, ketika Anda memanggil fungsi ini pada handel konteks jarak jauh, 16 bit atas harus nol.

Nilai Makna
0
Jika phAccessCheckResults bukan NULL, salinan mendalam deskriptor keamanan disalin ke handel yang direferensikan oleh phAccessCheckResults.
AUTHZ_ACCESS_CHECK_NO_DEEP_COPY_SD
1
Salinan mendalam deskriptor keamanan tidak dilakukan. Aplikasi panggilan harus meneruskan alamat handel AUTHZ_ACCESS_CHECK_RESULTS_HANDLE di phAccessCheckResults. Fungsi AuthzAccessCheck mengatur handel ini ke deskriptor keamanan yang harus tetap valid selama panggilan berikutnya ke AuthzCachedAccessCheck.

[in] hAuthzClientContext

Handel ke struktur yang mewakili klien.

Dimulai dengan Windows 8 dan Windows Server 2012, konteks klien bisa lokal atau jarak jauh.

[in] pRequest

Penunjuk ke struktur AUTHZ_ACCESS_REQUEST yang menentukan masker akses yang diinginkan, pengidentifikasi keamanan mandiri utama (SID), dan struktur daftar jenis objek, jika ada.

[in, optional] hAuditEvent

Struktur yang berisi informasi audit khusus objek. Ketika nilai parameter ini tidak null, audit akan diminta secara otomatis. Informasi audit statis dibaca dari struktur resource manager.

Dimulai dengan Windows 8 dan Windows Server 2012, ketika Anda menggunakan fungsi ini dengan handel konteks jarak jauh, nilai parameter harus NULL.

[in] pSecurityDescriptor

Penunjuk ke struktur SECURITY_DESCRIPTOR yang akan digunakan untuk pemeriksaan akses. Pemilik SID untuk objek dipilih dari pendeskripsi keamanan ini. Daftar kontrol akses diskresi (DACL) NULL dalam deskriptor keamanan ini mewakili NULL DACL untuk seluruh objek. Pastikan deskriptor keamanan berisi informasi OWNER dan DACL, atau pesan kode kesalahan 87 atau "parameter yang tidak valid" akan dibuat.

DACL NULLpenting mengizinkan semua jenis akses ke semua pengguna; oleh karena itu, jangan gunakan NULL DACL. Untuk informasi tentang membuat DACL, lihat Membuat DACL.
 
Daftar kontrol akses sistemNULL (SACL) dalam deskriptor keamanan ini diperlakukan dengan cara yang sama seperti SACL kosong.

[in, optional] OptionalSecurityDescriptorArray

Array struktur SECURITY_DESCRIPTOR . Daftar kontrol akses (ACL) NULL dalam deskriptor keamanan ini diperlakukan sebagai ACL kosong. ACL untuk seluruh objek adalah perangkaian logis dari semua ACL.

[in, optional] OptionalSecurityDescriptorCount

Jumlah deskriptor keamanan yang tidak termasuk deskriptor keamanan utama.

[in, out] pReply

Penunjuk ke struktur AUTHZ_ACCESS_REPLY yang berisi hasil pemeriksaan akses. Sebelum memanggil fungsi AuthzAccessCheck , aplikasi harus mengalokasikan memori untuk anggota GrantedAccessMask dan SaclEvaluationResults dari struktur AUTHZ_ACCESS_REPLY yang direferensikan oleh pReply.

[out, optional] phAccessCheckResults

Penunjuk untuk mengembalikan handel ke hasil pemeriksaan akses yang di-cache. Ketika nilai parameter ini tidak null, hasil panggilan pemeriksaan akses ini akan di-cache. Ini menghasilkan pemeriksaan MAXIMUM_ALLOWED.

Dimulai dengan Windows 8 dan Windows Server 2012, ketika Anda menggunakan fungsi ini dengan handel konteks jarak jauh, nilai parameter harus NULL.

Menampilkan nilai

Jika fungsi berhasil, fungsi mengembalikan TRUE.

Jika fungsi gagal, fungsi akan mengembalikan FALSE. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Fungsi panggilan balik AuthzAccessCheckCallback akan dipanggil jika DACL struktur SECURITY_DESCRIPTOR yang ditunjukkan oleh parameter pSecurityDescriptor berisi entri kontrol akses panggilan balik (ACE).

Variabel atribut keamanan harus ada dalam konteks klien jika dirujuk dalam ekspresi kondisional, jika tidak, istilah ekspresi kondisional yang mereferensikannya akan dievaluasi ke tidak diketahui. Untuk informasi selengkapnya, lihat topik Bahasa Definisi Pendeskripsi Keamanan untuk ACE Bersyar .

Untuk informasi selengkapnya, lihat gambaran umum Cara Kerja AccessCheck dan Kebijakan Otorisasi Terpusat .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header authz.h
Pustaka Authz.lib
DLL Authz.dll
Redistribusi Paket Alat Administrasi Windows Server 2003 pada Windows XP

Lihat juga

AUTHZ_ACCESS_REPLY

AUTHZ_ACCESS_REQUEST

AuthzCachedAccessCheck

Fungsi Access Control Dasar

Kebijakan Otorisasi Terpusat

Cara Kerja AccessCheck

SECURITY_DESCRIPTOR

Bahasa Definisi Deskriptor Keamanan untuk ACE Bersyarah