Bagikan melalui


Fungsi TreeResetNamedSecurityInfoA (aclapi.h)

Versi fungsi ini tidak didukung. Versi karakter luas dari fungsi ini, TreeResetNamedSecurityInfoW, didukung.

Sintaks

DWORD TreeResetNamedSecurityInfoA(
  [in]           LPSTR                pObjectName,
  [in]           SE_OBJECT_TYPE       ObjectType,
  [in]           SECURITY_INFORMATION SecurityInfo,
  [in, optional] PSID                 pOwner,
  [in, optional] PSID                 pGroup,
  [in, optional] PACL                 pDacl,
  [in, optional] PACL                 pSacl,
  [in]           BOOL                 KeepExplicit,
  [in, optional] FN_PROGRESS          fnProgress,
  [in]           PROG_INVOKE_SETTING  ProgressInvokeSetting,
  [in, optional] PVOID                Args
);

Parameter

[in] pObjectName

Penunjuk ke string yang dihentikan null yang menentukan nama objek simpul akar untuk objek yang akan menerima informasi keamanan yang diperbarui. Objek yang didukung adalah kunci registri dan objek file. Untuk deskripsi format string untuk jenis objek yang berbeda, lihat SE_OBJECT_TYPE.

[in] ObjectType

Nilai enumerasi SE_OBJECT_TYPE yang menunjukkan jenis objek yang dinamai oleh parameter pObjectName . Nilai yang didukung masing-masing SE_REGISTRY_KEY dan SE_FILE_OBJECT, untuk kunci registri dan objek file.

[in] SecurityInfo

Sekumpulan bendera bit yang menunjukkan jenis informasi keamanan yang akan direset. Parameter ini dapat menjadi kombinasi dari bendera bit SECURITY_INFORMATION .

[in, optional] pOwner

Penunjuk ke struktur SID yang mengidentifikasi pemilik objek. SID harus salah satu yang dapat ditetapkan sebagai SID pemilik deskriptor keamanan. Parameter SecurityInfo harus menyertakan bendera OWNER_SECURITY_INFORMATION. Untuk mengatur pemilik, pemanggil harus memiliki akses WRITE_OWNER ke setiap objek, termasuk objek akar. Jika Anda tidak mengatur SID pemilik, parameter ini bisa NULL.

[in, optional] pGroup

Penunjuk ke struktur SID yang mengidentifikasi grup utama objek. Parameter SecurityInfo harus menyertakan bendera GROUP_SECURITY_INFORMATION. Untuk mengatur grup, pemanggil harus memiliki akses WRITE_OWNER ke setiap objek, termasuk objek akar. Jika Anda tidak mengatur SID grup utama, parameter ini bisa NULL.

[in, optional] pDacl

Penunjuk ke struktur daftar kontrol akses (ACL) yang mewakili DACL baru untuk objek yang direset. Parameter SecurityInfo harus menyertakan bendera DACL_SECURITY_INFORMATION. Pemanggil harus memiliki akses READ_CONTROL dan WRITE_DAC ke setiap objek, termasuk objek akar. Jika Anda tidak mengatur DACL, parameter ini bisa NULL.

[in, optional] pSacl

Penunjuk ke struktur ACL yang mewakili SACL baru untuk objek yang direset. Parameter SecurityInfo harus menyertakan salah satu bendera berikut: SACL_SECURITY_INFORMATION, LABEL_SECURITY_INFORMATION, ATTRIBUTE_SECURITY_INFORMATION, SCOPE_SECURITY_INFORMATION, atau BACKUP_SECURITY_INFORMATION. Jika mengatur SACL_SECURITY_INFORMATION atau SCOPE_SECURITY_INFORMATION, pemanggil harus mengaktifkan hak istimewa SE_SECURITY_NAME. Jika Anda tidak mengatur SACL, parameter ini bisa NULL.

[in] KeepExplicit

Nilai Boolean yang menentukan apakah ACE yang ditentukan secara eksplisit disimpan atau dihapus untuk sub-pohon. Jika KeepExplicitTRUE, maka ACE yang ditentukan secara eksplisit disimpan untuk setiap SUBTREE DACL dan SACL, dan ACE yang diwariskan digantikan oleh ACE yang diwariskan dari pDacl dan pSacl. Jika KeepExplicitFALSE, maka ACE yang ditentukan secara eksplisit untuk setiap SUBTREE DACL dan SACL dihapus sebelum ACE yang diwariskan digantikan oleh ACE yang diwariskan dari pDacl dan pSacl.

[in, optional] fnProgress

Penunjuk ke fungsi yang digunakan untuk melacak kemajuan fungsi TreeResetNamedSecurityInfo . Prototipe fungsi kemajuan adalah:

#include <windows.h>
#include <Aclapi.h>

typedef VOID (*FN_PROGRESS) (
  IN LPWSTR pObjectName,              // Name of object just processed
  IN DWORD Status,                    // Status of operation on object
  IN OUT PPROG_INVOKE_SETTING pInvokeSetting, // When to set
  IN PVOID Args,                      // Caller specific data
  IN BOOL SecuritySet                 // Whether security was set
);

Fungsi kemajuan memberi pemanggil informasi kemajuan dan kesalahan ketika simpul diproses. Pemanggil menentukan fungsi kemajuan di fnProgress, dan selama operasi pohon, TreeResetNamedSecurityInfo meneruskan nama objek terakhir yang diproses, status kesalahan operasi tersebut, dan nilai PROG_INVOKE_SETTING saat ini. Pemanggil dapat mengubah nilai PROG_INVOKE_SETTING dengan menggunakan pInvokeSetting.

Jika tidak ada fungsi kemajuan yang akan digunakan, atur parameter ini ke NULL.

[in] ProgressInvokeSetting

Nilai enumerasi PROG_INVOKE_SETTING yang menentukan pengaturan awal untuk fungsi kemajuan.

[in, optional] Args

Penunjuk ke VOID untuk argumen fungsi kemajuan yang ditentukan oleh pemanggil.

Nilai kembali

Jika fungsi berhasil, fungsi akan mengembalikan ERROR_SUCCESS.

Jika fungsi gagal, fungsi mengembalikan kode kesalahan yang ditentukan dalam WinError.h.

Keterangan

Mengatur pemilik, grup, DACL, atau SACL NULL tidak didukung oleh fungsi ini.

Jika pemanggil tidak berisi hak istimewa dan izin yang tepat untuk mendukung pembaruan pemilik, grup, DACL, dan SACL yang diminta, maka tidak ada pembaruan yang dilakukan.

Fungsi ini mirip dengan fungsi TreeSetNamedSecurityInfo :

  • Jika parameter KeepExplicittreeResetNamedSecurityInfo diatur ke TRUE, maka fungsi ini setara dengan TreeSetNamedSecurityInfo dengan parameter dwAction diatur ke TREE_SEC_INFO_RESET_KEEP_EXPLICIT.
  • Jika parameter KeepExplicittreeResetNamedSecurityInfo diatur ke FALSE, maka fungsi ini setara dengan TreeSetNamedSecurityInfo dengan parameter dwAction diatur ke TREE_SEC_INFO_RESET.

Catatan

Header aclapi.h mendefinisikan TreeResetNamedSecurityInfo sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

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 aclapi.h
Pustaka Advapi32.lib
DLL Advapi32.dll