Fungsi NtOpenProcessToken (ntifs.h)

Rutinitas NtOpenProcessToken membuka token akses yang terkait dengan proses, dan mengembalikan handel yang dapat digunakan untuk mengakses token tersebut.

Sintaks

__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenProcessToken(
  [in]  HANDLE      ProcessHandle,
  [in]  ACCESS_MASK DesiredAccess,
  [out] PHANDLE     TokenHandle
);

Parameter

[in] ProcessHandle

Tangani proses yang token aksesnya akan dibuka. Handel harus memiliki akses PROCESS_QUERY_INFORMATION. Gunakan makro NtCurrentProcess, yang ditentukan dalam Ntddk.h, untuk menentukan proses saat ini.

[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 (DACL) token untuk menentukan akses mana yang diberikan atau ditolak.

[out] TokenHandle

Penunjuk ke variabel yang dialokasikan penelepon yang menerima handel ke token akses yang baru dibuka.

Nilai kembali

NtOpenProcessToken mengembalikan STATUS_SUCCESS atau status kesalahan yang sesuai. Kemungkinan kode status kesalahan meliputi yang berikut ini:

Menampilkan kode Deskripsi
STATUS_ACCESS_DENIED ProcessHandle tidak memiliki akses PROCESS_QUERY_INFORMATION.
STATUS_INSUFFICIENT_RESOURCES Handel token baru tidak dapat dialokasikan.
STATUS_INVALID_HANDLE ProcessHandle bukan handel yang valid.
STATUS_OBJECT_TYPE_MISMATCH ProcessHandle bukan handel proses.
STATUS_PRIVILEGE_NOT_HELD Pemanggil tidak memiliki hak istimewa (SeSecurityPrivilege) yang diperlukan untuk membuat handel token dengan akses yang ditentukan dalam parameter DesiredAccess .
STATUS_QUOTA_EXCEEDED Kuota memori proses tidak cukup untuk mengalokasikan handel token.
STATUS_UNSUCCESSFUL Handel token tidak dapat dibuat.

Keterangan

Untuk menentukan atribut untuk handel token akses, gunakan NtOpenProcessTokenEx sebagai gantinya.

Handel dapat diakses oleh proses dalam konteks driver yang sedang berjalan.

Setiap handel yang diperoleh dengan memanggil NtOpenProcessToken akhirnya harus dirilis dengan memanggil NtClose.

Untuk informasi selengkapnya tentang keamanan dan kontrol akses, lihat Model keamanan Windows untuk pengembang driver dan dokumentasi tentang topik ini di Windows SDK.

Untuk panggilan dari driver mode kernel, versi NtXxx dan ZwXxx dari rutinitas Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menafsirkan parameter input. Untuk informasi selengkapnya tentang hubungan antara versi NtXxx dan ZwXxx dari rutinitas, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.

Persyaratan

Persyaratan Nilai
Header ntifs.h
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Lihat juga

ACCESS_MASK

ACL

PsDereferencePrimaryToken

NtClose

NtOpenProcessTokenEx

NtOpenThreadTokenEx