Fungsi MakeAbsoluteSD (securitybaseapi.h)
Fungsi MakeAbsoluteSD membuat deskriptor keamanan dalam format absolut dengan menggunakan deskriptor keamanan dalam format relatif mandiri sebagai templat.
Sintaks
BOOL MakeAbsoluteSD(
[in] PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
[out, optional] PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
[in, out] LPDWORD lpdwAbsoluteSecurityDescriptorSize,
[out, optional] PACL pDacl,
[in, out] LPDWORD lpdwDaclSize,
[out, optional] PACL pSacl,
[in, out] LPDWORD lpdwSaclSize,
[out, optional] PSID pOwner,
[in, out] LPDWORD lpdwOwnerSize,
[out, optional] PSID pPrimaryGroup,
[in, out] LPDWORD lpdwPrimaryGroupSize
);
Parameter
[in] pSelfRelativeSecurityDescriptor
Penunjuk ke struktur SECURITY_DESCRIPTOR dalam format relatif mandiri. Fungsi ini membuat versi format absolut dari deskriptor keamanan ini tanpa memodifikasi deskriptor keamanan asli.
[out, optional] pAbsoluteSecurityDescriptor
Penunjuk ke buffer yang diisi fungsi dengan isi utama deskriptor keamanan berformat absolut. Informasi ini diformat sebagai struktur SECURITY_DESCRIPTOR .
[in, out] lpdwAbsoluteSecurityDescriptorSize
Penunjuk ke variabel yang menentukan ukuran buffer yang diarahkan oleh parameter pAbsoluteSD . Jika buffer tidak cukup besar untuk deskriptor keamanan, fungsi gagal dan mengatur variabel ini ke ukuran minimum yang diperlukan.
[out, optional] pDacl
Penunjuk ke buffer fungsi diisi dengan daftar kontrol akses diskresi (DACL) dari deskriptor keamanan format absolut. Isi utama deskriptor keamanan format absolut mereferensikan penunjuk ini.
[in, out] lpdwDaclSize
Penunjuk ke variabel yang menentukan ukuran buffer yang diacu oleh parameter pDacl . Jika buffer tidak cukup besar untuk daftar kontrol akses (ACL), fungsi gagal dan mengatur variabel ini ke ukuran minimum yang diperlukan.
[out, optional] pSacl
Penunjuk ke buffer fungsi diisi dengan daftar kontrol akses sistem (SACL) dari deskriptor keamanan format absolut. Isi utama deskriptor keamanan format absolut mereferensikan penunjuk ini.
[in, out] lpdwSaclSize
Penunjuk ke variabel yang menentukan ukuran buffer yang diacu oleh parameter pSacl . Jika buffer tidak cukup besar untuk ACL, fungsi gagal dan mengatur variabel ini ke ukuran minimum yang diperlukan.
[out, optional] pOwner
Penunjuk ke buffer fungsi diisi dengan pengidentifikasi keamanan (SID) pemilik deskriptor keamanan format absolut. Isi utama deskriptor keamanan format absolut mereferensikan penunjuk ini.
[in, out] lpdwOwnerSize
Penunjuk ke variabel yang menentukan ukuran buffer yang diacu oleh parameter pOwner . Jika buffer tidak cukup besar untuk SID, fungsi gagal dan mengatur variabel ini ke ukuran minimum yang diperlukan.
[out, optional] pPrimaryGroup
Penunjuk ke buffer fungsi diisi dengan SID grup utama deskriptor keamanan format absolut. Isi utama deskriptor keamanan format absolut mereferensikan penunjuk ini.
[in, out] lpdwPrimaryGroupSize
Penunjuk ke variabel yang menentukan ukuran buffer yang diacu oleh parameter pPrimaryGroup . Jika buffer tidak cukup besar untuk SID, fungsi gagal dan mengatur variabel ini ke ukuran minimum yang diperlukan.
Nilai kembali
Jika fungsi berhasil, fungsi mengembalikan bukan nol.
Jika fungsi gagal, fungsi akan mengembalikan nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError. Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini.
Mengembalikan kode/nilai | Deskripsi |
---|---|
|
Satu atau beberapa buffer terlalu kecil. |
Keterangan
Deskriptor keamanan dalam format absolut berisi penunjuk ke informasi yang dikandungnya, bukan informasi itu sendiri. Deskriptor keamanan dalam format relatif mandiri berisi informasi dalam blok memori yang berdekatan. Dalam deskriptor keamanan relatif mandiri, struktur SECURITY_DESCRIPTOR selalu memulai informasi, tetapi deskriptor keamanan komponen lain dapat mengikuti struktur dalam urutan apa pun. Alih-alih menggunakan alamat memori, komponen deskriptor keamanan relatif mandiri diidentifikasi oleh offset dari awal deskriptor keamanan. Format ini berguna ketika deskriptor keamanan harus disimpan pada disket atau ditransmisikan melalui protokol komunikasi.
Server yang menyalin objek aman ke berbagai media dapat menggunakan fungsi MakeAbsoluteSD untuk membuat deskriptor keamanan absolut dari deskriptor keamanan relatif mandiri dan fungsi MakeSelfRelativeSD untuk membuat deskriptor keamanan relatif mandiri dari deskriptor keamanan absolut.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | securitybaseapi.h (termasuk Windows.h) |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |