Bagikan melalui


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
ERROR_INSUFFICIENT_BUFFER
0x7A
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

Lihat juga

Access Control tingkat rendah

Fungsi Access Control tingkat rendah

MakeSelfRelativeSD

SECURITY_DESCRIPTOR