Bagikan melalui


Fungsi ZwSetInformationToken (ntifs.h)

ZwSetInformationToken rutin memodifikasi informasi dalam token tertentu. Proses panggilan harus memiliki hak akses yang sesuai untuk mengatur informasi.

Sintaksis

NTSYSAPI NTSTATUS ZwSetInformationToken(
  [in] HANDLE                  TokenHandle,
  [in] TOKEN_INFORMATION_CLASS TokenInformationClass,
  [in] PVOID                   TokenInformation,
  [in] ULONG                   TokenInformationLength
);

Parameter

[in] TokenHandle

Tangani untuk token akses tempat informasi akan dimodifikasi.

[in] TokenInformationClass

Nilai dari jenis enumerasi TOKEN_INFORMATION_CLASS yang mengidentifikasi jenis informasi yang akan dimodifikasi. Nilai yang mungkin untuk parameter ini tercantum dalam kolom TokenInformationClass Value tabel yang diperlihatkan dalam deskripsi parameter TokenInformation .

[in] TokenInformation

Penunjuk ke buffer yang disediakan penelepon yang berisi informasi yang akan dimodifikasi dalam token. Struktur informasi dalam buffer ini tergantung pada nilai TokenInformationClass, seperti yang ditunjukkan dalam tabel berikut. Semua struktur harus diselaraskan pada batas 32-bit.

Nilai TokenInformationClass Efek pada buffer TokenInformation
TokenDefaultDacl Buffer berisi struktur TOKEN_DEFAULT_DACL yang menentukan DACL default untuk objek yang baru dibuat. TOKEN_ADJUST_DEFAULT akses diperlukan untuk mengatur informasi ini. Konten buffer tidak divalidasi untuk kebenaran atau konsistensi struktural.
TokenGroups Bukan kelas informasi yang valid. Informasi ini bersifat baca-saja.
TokenOwner Buffer berisi struktur TOKEN_OWNER yang menentukan pemilik default SID untuk objek yang baru dibuat. TOKEN_ADJUST_DEFAULT akses diperlukan untuk mengatur informasi ini. Nilai pemilik yang mungkin ditentukan dibatasi untuk ID pengguna dan grup dengan atribut yang menunjukkan bahwa mereka dapat ditetapkan sebagai pemilik objek.
TokenPrimaryGroup Buffer berisi struktur TOKEN_PRIMARY_GROUP yang menentukan grup utama default SID untuk objek yang baru dibuat. TOKEN_ADJUST_DEFAULT akses diperlukan untuk mengatur informasi ini. Harus salah satu ID grup yang sudah ada di token.
TokenPrivileges Bukan kelas informasi yang valid. Informasi ini bersifat baca-saja.
TokenSource Bukan kelas informasi yang valid. Informasi ini bersifat baca-saja.
TokenStatistics Bukan kelas informasi yang valid. Informasi ini bersifat baca-saja.
TokenUser Bukan kelas informasi yang valid. Informasi ini bersifat baca-saja.

[in] TokenInformationLength

Ukuran, dalam byte, dari struktur yang diteruskan dalam buffer TokenInformation . Harus lebih besar dari atau sama dengan nilai minimum yang diberikan dalam tabel berikut.

Nilai TokenInformationClass Minimum TokenInformationLength
TokenDefaultDacl ukuran(TOKEN_DEFAULT_DACL)
TokenOwner ukuran(TOKEN_OWNER)
TokenPrimaryGroup ukuran(TOKEN_PRIMARY_GROUP)

Mengembalikan nilai

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

Mengembalikan kode Deskripsi
STATUS_ACCESS_DENIED TokenHandle tidak memiliki akses yang diperlukan.
STATUS_ALLOTTED_SPACE_EXCEEDED Ruang yang dialokasikan untuk penyimpanan kontrol akses diskresi default dan ID grup utama tidak cukup besar untuk menerima nilai baru dari salah satu bidang ini.
STATUS_INFO_LENGTH_MISMATCH Nilai TokenInformationLength kurang dari minimum yang diperlukan.
STATUS_INSUFFICIENT_RESOURCES Informasi keamanan pemilik default yang ditentukan tidak dapat diambil.
STATUS_INVALID_HANDLE TokenHandle bukan handel yang valid.
STATUS_INVALID_INFO_CLASS TokenInformationClass bukan kelas informasi token yang valid.
STATUS_INVALID_OWNER Pemanggil tidak dapat mengatur ID yang ditentukan untuk menjadi pemilik (atau pemilik default) objek.
STATUS_INVALID_PRIMARY_GROUP Pemanggil tidak dapat mengatur ID yang ditentukan menjadi grup utama objek.
STATUS_INVALID_SID Informasi keamanan pemilik default yang ditentukan tidak valid.
STATUS_OBJECT_TYPE_MISMATCH TokenHandle bukan handel token.

Komentar

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 ZwSetInformationToken terjadi dalam mode pengguna, Anda harus menggunakan nama NtSetInformationToken " alih-alih "ZwSetInformationToken".

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 7
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

PsDereferenceImpersonationToken

PsDereferencePrimaryToken

SECURITY_IMPERSONATION_LEVEL

SID

SeQueryAuthenticationIdToken

SeQuerySubjectContextToken

SeTokenIsAdmin

SeTokenIsRestricted

TOKEN_DEFAULT_DACL

TOKEN_GROUPS

TOKEN_INFORMATION_CLASS

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER

Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli

ZwQueryInformationToken