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 |