Bagikan melalui


Fungsi LookupAccountSidA (winbase.h)

Fungsi LookupAccountSid menerima pengidentifikasi keamanan (SID) sebagai input. Ini mengambil nama akun untuk SID ini dan nama domain pertama tempat SID ini ditemukan.

Sintaks

BOOL LookupAccountSidA(
  [in, optional]  LPCSTR        lpSystemName,
  [in]            PSID          Sid,
  [out, optional] LPSTR         Name,
  [in, out]       LPDWORD       cchName,
  [out, optional] LPSTR         ReferencedDomainName,
  [in, out]       LPDWORD       cchReferencedDomainName,
  [out]           PSID_NAME_USE peUse
);

Parameter

[in, optional] lpSystemName

Penunjuk ke string karakter yang dihentikan null yang menentukan komputer target. String ini bisa menjadi nama komputer jarak jauh. Jika parameter ini NULL, terjemahan nama akun dimulai pada sistem lokal. Jika nama tidak dapat diselesaikan pada sistem lokal, fungsi ini akan mencoba mengatasi nama menggunakan pengendali domain yang dipercaya oleh sistem lokal. Umumnya, tentukan nilai untuk lpSystemName hanya ketika akun berada di domain yang tidak tepercaya dan nama komputer di domain tersebut diketahui.

[in] Sid

Penunjuk ke SID untuk mencari.

[out, optional] Name

Penunjuk ke buffer yang menerima string yang dihentikan null yang berisi nama akun yang sesuai dengan parameter lpSid .

[in, out] cchName

Pada input, menentukan ukuran, dalam TCHARs, dari buffer lpName . Jika fungsi gagal karena buffer terlalu kecil atau jika cchName nol, cchName menerima ukuran buffer yang diperlukan, termasuk karakter null yang mengakhiri.

[out, optional] ReferencedDomainName

Penunjuk ke buffer yang menerima string yang dihentikan null yang berisi nama domain tempat nama akun ditemukan.

Di server, nama domain yang dikembalikan untuk sebagian besar akun dalam database keamanan komputer lokal adalah nama domain yang servernya adalah pengendali domain.

Pada stasiun kerja, nama domain yang dikembalikan untuk sebagian besar akun dalam database keamanan komputer lokal adalah nama komputer pada awal terakhir sistem (garis miring terbalik dikecualikan). Jika nama komputer berubah, nama lama terus dikembalikan sebagai nama domain hingga sistem dimulai ulang.

Beberapa akun telah ditentukan sebelumnya oleh sistem. Nama domain yang dikembalikan untuk akun ini adalah BUILTIN.

[in, out] cchReferencedDomainName

Pada input, menentukan ukuran, dalam TCHARs, dari buffer lpReferencedDomainName . Jika fungsi gagal karena buffer terlalu kecil atau jika cchReferencedDomainName nol, cchReferencedDomainName menerima ukuran buffer yang diperlukan, termasuk karakter null yang mengakhiri.

[out] peUse

Penunjuk ke variabel yang menerima nilai SID_NAME_USE yang menunjukkan jenis akun.

Nilai kembali

Jika fungsi berhasil, fungsi mengembalikan bukan nol.

Jika fungsi gagal, fungsi akan mengembalikan nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Fungsi LookupAccountSid mencoba menemukan nama untuk SID yang ditentukan dengan terlebih dahulu memeriksa daftar SID terkenal. Jika SID yang disediakan tidak sesuai dengan SID terkenal, fungsi memeriksa akun lokal bawaan dan yang ditentukan secara administratif. Selanjutnya, fungsi memeriksa domain utama. Pengidentifikasi keamanan yang tidak dikenali oleh domain utama diperiksa terhadap domain tepercaya yang sesuai dengan awalan SID mereka.

Jika fungsi tidak dapat menemukan nama akun untuk SID, GetLastError mengembalikan ERROR_NONE_MAPPED. Ini dapat terjadi jika waktu habis jaringan mencegah fungsi menemukan nama. Ini juga terjadi untuk SID yang tidak memiliki nama akun yang sesuai, seperti SID masuk yang mengidentifikasi sesi masuk.

Selain mencari SID untuk akun lokal, akun domain lokal, dan akun domain tepercaya secara eksplisit, LookupAccountSid dapat mencari SID untuk akun apa pun di domain apa pun di forest, termasuk SID yang hanya muncul di bidang SIDhistory akun di forest. Bidang SIDhistory menyimpan bekas SID akun yang telah dipindahkan dari domain lain. Untuk mencari SID, LookupAccountSid meminta katalog global forest.

Contoh

Untuk contoh yang menggunakan fungsi ini, lihat Mencari SID dalam Token Akses.

Catatan

Header winbase.h mendefinisikan LookupAccountSid sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Advapi32.lib
DLL Advapi32.dll

Lihat juga

Ringkasan Access Control

Fungsi Access Control Dasar

EqualPrefixSid

LookupAccountName

SID

SID_NAME_USE