Fungsi ZwOpenThreadTokenEx (ntifs.h)
Rutinitas ZwOpenThreadTokenEx membuka token akses yang terkait dengan utas.
Sintaksis
NTSYSAPI NTSTATUS ZwOpenThreadTokenEx(
[in] HANDLE ThreadHandle,
[in] ACCESS_MASK DesiredAccess,
[in] BOOLEAN OpenAsSelf,
[in] ULONG HandleAttributes,
[out] PHANDLE TokenHandle
);
Parameter
[in] ThreadHandle
Tangani ke utas yang token aksesnya akan dibuka. Handel harus memiliki akses THREAD_QUERY_INFORMATION. Gunakan makro
[in] DesiredAccess
ACCESS_MASK struktur yang menentukan jenis akses yang diminta ke token akses. Jenis akses yang diminta ini dibandingkan dengan daftar kontrol akses diskresi token (DACL) untuk menentukan hak akses mana yang diberikan atau ditolak.
[in] OpenAsSelf
Nilai Boolean yang menentukan apakah pemeriksaan akses akan dilakukan terhadap konteks keamanan panggilan utas ZwOpenThreadTokenEx atau terhadap konteks keamanan proses untuk utas panggilan.
Jika parameter ini FALSE, pemeriksaan akses dilakukan menggunakan konteks keamanan untuk utas panggilan. Jika utas meniru klien, konteks keamanan ini bisa berupa proses klien. Jika parameter ini TRUE, pemeriksaan akses dilakukan menggunakan konteks keamanan proses untuk utas panggilan.
[in] HandleAttributes
Atribut untuk handel yang dibuat. Hanya OBJ_KERNEL_HANDLE yang saat ini didukung. Jika pemanggil tidak berjalan dalam konteks proses sistem, pemanggil harus menentukan OBJ_KERNEL_HANDLE untuk parameter ini.
[out] TokenHandle
Penunjuk ke variabel yang dialokasikan pemanggil yang menerima handel ke token akses yang baru dibuka.
Mengembalikan nilai
ZwOpenThreadTokenEx mengembalikan STATUS_SUCCESS atau status kesalahan yang sesuai. Kemungkinan kode status kesalahan meliputi yang berikut ini:
Mengembalikan kode | Deskripsi |
---|---|
STATUS_ACCESS_DENIED | ThreadHandle tidak memiliki akses THREAD_QUERY_INFORMATION. |
STATUS_CANT_OPEN_ANONYMOUS | Klien meminta tingkat peniruan identitas SecurityAnonymous. Namun, token anonim tidak dapat dibuka. Untuk informasi selengkapnya, lihat SECURITY_IMPERSONATION_LEVEL. |
STATUS_INVALID_HANDLE | threadHandle bukan handel yang valid. |
STATUS_INVALID_PARAMETER | HandleAttributes |
STATUS_NO_TOKEN | Upaya telah dilakukan untuk membuka token yang terkait dengan utas yang saat ini tidak meniru klien. |
STATUS_OBJECT_TYPE_MISMATCH | ThreadHandle bukan handel utas. |
Komentar
ZwOpenThreadTokenEx membuka token akses yang terkait dengan utas dan mengembalikan handel untuk token tersebut.
Parameter OpenAsSelf
Setiap handel yang diperoleh dengan memanggil ZwOpenThreadTokenEx akhirnya harus dirilis dengan memanggil ZwClose.
Rutinitas driver yang berjalan dalam konteks proses selain proses sistem harus mengatur atribut OBJ_KERNEL_HANDLE untuk parameter HandleAttributesZwOpenThreadTokenEx. Ini membatasi penggunaan handel yang dikembalikan oleh ZwOpenThreadTokenEx untuk memproses yang berjalan dalam mode kernel. Jika tidak, handel dapat diakses oleh proses dalam konteks driver berjalan.
Untuk informasi selengkapnya tentang keamanan dan kontrol akses, lihat model keamanan Windows untuk pengembang driver dan dokumentasi tentang topik ini di Windows SDK.
Nota
Jika panggilan ke fungsi
Untuk panggilan dari driver mode kernel, NtXxx dan ZwXxx versi rutin Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menginterpretasikan parameter input. Untuk informasi selengkapnya tentang hubungan antara NtXxx dan versi ZwXxx rutin, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.
Persyaratan
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows XP |
Platform Target |
Universal |
Header |
ntifs.h (termasuk Ntifs.h) |
Pustaka |
NtosKrnl.lib |
DLL |
NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
aturan kepatuhan DDI |
HwStorPortProhibitedDIs (storport), PowerIrpDDis(wdm) |
Lihat juga
ACL
Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli