Fungsi SecLookupAccountSid (ntifs.h)
SecLookupAccountSid menerima pengidentifikasi keamanan (SID) sebagai input. Ini mengambil nama akun untuk SID ini dan nama domain pertama tempat SID ini ditemukan.
Sintaks
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountSid(
[in] PSID Sid,
[out] PULONG NameSize,
[in, out] PUNICODE_STRING NameBuffer,
[out] PULONG DomainSize,
[out, optional] PUNICODE_STRING DomainBuffer,
[out] PSID_NAME_USE NameUse
);
Parameter
[in] Sid
Penunjuk ke SID untuk mencari.
[out] NameSize
Penunjuk ke variabel yang menentukan ukuran NameBuffer. Pada input, nilai ini menentukan ukuran dalam byte input NameBuffer. Jika fungsi gagal karena buffer terlalu kecil, variabel ini menerima ukuran buffer yang diperlukan. Jika berhasil, variabel ini berisi ukuran NameBuffer yang dikembalikan.
[in, out] NameBuffer
Penunjuk ke buffer yang menerima nama akun yang terkait dengan Sid. Jika parameter ini NULL, NameSize akan menjadi nol.
[out] DomainSize
Penunjuk ke ULONG yang menentukan ukuran parameter DomainBuffer . Jika fungsi gagal karena buffer terlalu kecil, variabel ini menerima ukuran buffer yang diperlukan. Jika parameter DomainBufferADALAH NULL, parameter ini akan diatur menjadi nol.
[out, optional] DomainBuffer
Penunjuk ke buffer yang menerima nama domain pertama tempat SID ini ditemukan.
[out] NameUse
Pointer ke SID_NAME_USE jenis enumerasi yang menerima jenis akun.
Nilai kembali
SecLookupAccountSid mengembalikan STATUS_SUCCESS pada keberhasilan atau salah satu kode kesalahan berikut pada kegagalan.
Menampilkan kode | Deskripsi |
---|---|
SEC_E_INTERNAL_ERROR | Terjadi kesalahan internal saat mencoba menyambungkan ke Otoritas Sistem Lokal (LSA) atau panggilan prosedur lokal (LPC) ke penyedia keamanan gagal. |
STATUS_ACCESS_DENIED | ID proses yang terkait dengan utas yang sedang dijalankan tidak cocok dengan ID proses saat ini. |
STATUS_BUFFER_TOO_SMALL | Ukuran buffer untuk NameBuffer atau parameter ReferencedDomain terlalu kecil. |
STATUS_INVALID_PARAMETER | Panjang parameter Nama melebihi panjang yang diizinkan dalam pesan ke Otoritas Sistem Lokal (LSA). |
STATUS_NO_MEMORY | Tidak dimungkinkan untuk mengalokasikan memori yang cukup untuk buffer internal sementara yang digunakan oleh fungsi ini. |
STATUS_NONE_MAPPED | Parameter Sid tidak dapat ditemukan. |
STATUS_PROCESS_IS_TERMINATING | Proses ini telah dihentikan sehingga tidak dimungkinkan untuk membuat koneksi panggilan prosedur lokal (LPC). |
Keterangan
SecLookupAccountSid 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, SecLookupAccountSid gagal. 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, SecLookupAccountSid 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, SecLookupAccountSid meminta katalog global forest.
SecLookupAccountSid setara dengan fungsi Win32 LookupAccountSid .
SecLookupAccountSid diekspor oleh driver ksecdd, yang mengimplementasikan fungsi ini dengan menggunakan layanan pembantu mode pengguna. Dengan demikian, penggunaan fungsi ini dalam sistem file harus mematuhi aturan yang biasa untuk komunikasi dengan layanan mode pengguna. SecLookupAccountSid tidak dapat digunakan selama I/O file halaman.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP |
Target Platform | Universal |
Header | ntifs.h (termasuk Ntifs.h) |
Pustaka | Ksecdd.lib |
IRQL | <= APC_LEVEL |