Fungsi ZwSetInformationToken (ntifs.h)
Rutinitas ZwSetInformationToken memodifikasi informasi dalam token tertentu. Proses panggilan harus memiliki hak akses yang sesuai untuk mengatur informasi.
Sintaks
NTSYSAPI NTSTATUS ZwSetInformationToken(
[in] HANDLE TokenHandle,
[in] TOKEN_INFORMATION_CLASS TokenInformationClass,
[in] PVOID TokenInformation,
[in] ULONG TokenInformationLength
);
Parameter
[in] TokenHandle
Tangani untuk token akses di mana informasi akan dimodifikasi.
[in] TokenInformationClass
Nilai dari TOKEN_INFORMATION_CLASS jenis enumerasi yang mengidentifikasi jenis informasi yang akan dimodifikasi. Nilai yang mungkin untuk parameter ini tercantum di kolom Nilai TokenInformationClass dari 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 struktural atau konsistensi. |
TokenGroups | Bukan kelas informasi yang valid. Informasi ini bersifat baca-saja. |
TokenOwner | Buffer berisi struktur TOKEN_OWNER yang menentukan SID pemilik default 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 SID grup utama default 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 | sizeof(TOKEN_DEFAULT_DACL) |
TokenOwner | sizeof(TOKEN_OWNER) |
TokenPrimaryGroup | sizeof(TOKEN_PRIMARY_GROUP) |
Nilai kembali
ZwSetInformationToken mengembalikan STATUS_SUCCESS atau status kesalahan yang sesuai. Kemungkinan kode status kesalahan meliputi yang berikut ini:
Menampilkan 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 ditangkap. |
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 untuk menjadi grup utama objek. |
STATUS_INVALID_SID | Informasi keamanan pemilik default yang ditentukan tidak valid. |
STATUS_OBJECT_TYPE_MISMATCH | TokenHandle bukan handel token. |
Keterangan
Untuk informasi selengkapnya tentang keamanan dan kontrol akses, lihat Model keamanan Windows untuk pengembang driver dan dokumentasi tentang topik ini di Windows SDK.
Catatan
Jika panggilan ke fungsi ZwSetInformationToken terjadi dalam mode pengguna, Anda harus menggunakan nama NtSetInformationToken" alih-alih "ZwSetInformationToken".
Untuk panggilan dari driver mode kernel, versi NtXxx dan ZwXxx dari rutinItas Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menginterpretasikan 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 |
---|---|
Klien minimum yang didukung | Windows 7 |
Target Platform | Universal |
Header | ntifs.h (termasuk Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
Lihat juga
PsDereferenceImpersonationToken
Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli