Fungsi LsaLookupSids (ntsecapi.h)
[LsaLookupSids tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini mungkin diubah atau tidak tersedia dalam versi berikutnya. Sebagai gantinya, gunakan LsaLookupSids2.]
Fungsi LsaLookupSids mencari nama yang sesuai dengan array pengidentifikasi keamanan (SID). Jika LsaLookupSids tidak dapat menemukan nama yang sesuai dengan SID, fungsi mengembalikan SID dalam bentuk karakter.
Sintaks
NTSTATUS LsaLookupSids(
[in] LSA_HANDLE PolicyHandle,
[in] ULONG Count,
[in] PSID *Sids,
[out] PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
[out] PLSA_TRANSLATED_NAME *Names
);
Parameter
[in] PolicyHandle
Handel ke objek Policy . Handel ini harus memiliki hak akses POLICY_LOOKUP_NAMES. Untuk informasi selengkapnya, lihat Membuka Penanganan Objek Kebijakan.
[in] Count
Menentukan jumlah SID dalam array Sids . Ini juga merupakan jumlah entri yang dikembalikan dalam array Nama . Nilai ini harus kurang dari atau sama dengan 20480.
[in] Sids
Arahkan ke array penunjuk SID untuk mencari. SID dapat menjadi SID terkenal, pengguna, grup, atau SID akun grup lokal, atau SID domain.
[out] ReferencedDomains
Menerima penunjuk ke penunjuk ke struktur LSA_REFERENCED_DOMAIN_LIST . Anggota Domain dari struktur ini adalah array yang berisi entri untuk setiap domain tempat SID ditemukan. Entri untuk setiap domain berisi SID dan nama datar domain. Untuk domain Windows, nama datarnya adalah nama NetBIOS. Untuk tautan dengan domain non-Windows, nama datar adalah nama pengidentifikasi domain tersebut, atau null.
Ketika Anda tidak lagi memerlukan informasi, teruskan pointer yang dikembalikan ke LsaFreeMemory. Memori ini harus dibebaskan bahkan ketika fungsi gagal dengan salah satu kode kesalahan STATUS_NONE_MAPPED atau STATUS_SOME_NOT_MAPPED
[out] Names
Menerima penunjuk ke array struktur LSA_TRANSLATED_NAME . Setiap entri dalam array Nama berisi informasi nama untuk entri terkait dalam array Sids . Untuk SID akun, anggota Nama dari setiap struktur berisi nama akun yang terisolasi. Untuk SID domain, anggota Nama tidak valid.
Anggota DomainIndex dari setiap entri dalam array Nama adalah indeks entri dalam array Domain yang dikembalikan dalam parameter ReferencedDomains . Indeks mengidentifikasi array Domain untuk domain tempat SID ditemukan.
Ketika Anda tidak lagi memerlukan informasi, teruskan pointer yang dikembalikan ke LsaFreeMemory. Memori ini harus dibebaskan bahkan ketika fungsi gagal dengan salah satu kode kesalahan STATUS_NONE_MAPPED atau STATUS_SOME_NOT_MAPPED
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah salah satu nilai NTSTATUS berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Beberapa SID tidak dapat diterjemahkan. Ini adalah nilai pengembalian tingkat informasi. |
|
Semua SID ditemukan dan berhasil diterjemahkan. |
Jika fungsi gagal, nilai yang dikembalikan adalah kode NTSTATUS , yang dapat menjadi salah satu nilai berikut atau salah satu Nilai Pengembalian Fungsi Kebijakan LSA.
Menampilkan kode | Deskripsi |
---|---|
|
Tidak ada SID yang diterjemahkan. Ini adalah nilai pengembalian tingkat kesalahan. |
|
Parameter array Sids terlalu besar. |
Anda dapat menggunakan fungsi LsaNtStatusToWinError untuk mengonversi kode NTSTATUS ke kode kesalahan Windows.
Keterangan
Untuk SID akun, string yang dikembalikan di anggota Nama adalah nama akun yang terisolasi (misalnya, user_name). Jika Anda memerlukan nama komposit akun (misalnya, Acctg\user_name), dapatkan nama domain dari buffer ReferencedDomains dan tambahkan garis miring terbalik dan nama yang terisolasi.
Jika fungsi LsaLookupSids tidak dapat menerjemahkan SID, fungsi menggunakan algoritma berikut:
- Jika domain SID diketahui, buffer ReferencedDomains berisi entri untuk domain, dan string yang dikembalikan dalam parameter Nama adalah representasi Unicode dari pengidentifikasi relatif akun (RID) dari SID.
- Jika domain SID tidak diketahui, string yang dikembalikan dalam parameter Nama adalah representasi Unicode dari seluruh SID, dan tidak ada catatan domain untuk SID ini di buffer ReferencedDomains .
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 | ntsecapi.h |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |