Fungsi ZwDuplicateObject (ntifs.h)
Rutinitas ZwDuplicateObject membuat handel yang merupakan duplikat dari handel sumber yang ditentukan.
Sintaks
NTSYSAPI NTSTATUS ZwDuplicateObject(
[in] HANDLE SourceProcessHandle,
[in] HANDLE SourceHandle,
[in, optional] HANDLE TargetProcessHandle,
[out, optional] PHANDLE TargetHandle,
[in] ACCESS_MASK DesiredAccess,
[in] ULONG HandleAttributes,
[in] ULONG Options
);
Parameter
[in] SourceProcessHandle
Handel ke proses sumber untuk handel yang diduplikasi.
[in] SourceHandle
Handel untuk diduplikasi.
[in, optional] TargetProcessHandle
Handel ke proses target yaitu menerima handel baru. Parameter ini bersifat opsional dan dapat ditentukan sebagai NULL jika bendera DUPLICATE_CLOSE_SOURCE diatur dalam Opsi.
[out, optional] TargetHandle
Penunjuk ke variabel HANDLE tempat rutin menulis handel duplikat baru. Handel duplikat valid dalam proses target yang ditentukan. Parameter ini bersifat opsional dan dapat ditentukan sebagai NULL jika tidak ada handel duplikat yang akan dibuat.
[in] DesiredAccess
Nilai ACCESS_MASK yang menentukan akses yang diinginkan untuk handel baru.
[in] HandleAttributes
ULONG yang menentukan atribut yang diinginkan untuk handel baru. Untuk informasi selengkapnya tentang atribut, lihat deskripsi anggota Atribut di OBJECT_ATTRIBUTES.
[in] Options
Sekumpulan bendera untuk mengontrol perilaku operasi duplikasi. Atur parameter ini ke nol atau ke bitwise ATAU dari satu atau beberapa bendera berikut.
Nama bendera | Deskripsi |
---|---|
DUPLICATE_SAME_ATTRIBUTES | Alih-alih menggunakan parameter HandleAttributes , salin atribut dari handel sumber ke handel target. |
DUPLICATE_SAME_ACCESS | Alih-alih menggunakan parameter DesiredAccess , salin hak akses dari handel sumber ke handel target. |
DUPLICATE_CLOSE_SOURCE | Tutup handel sumber. |
Nilai kembali
ZwDuplicateObject mengembalikan STATUS_SUCCESS jika panggilan berhasil. Jika tidak, kode status kesalahan akan ditampilkan.
Keterangan
Handel sumber dievaluasi dalam konteks proses sumber yang ditentukan. Proses panggilan harus memiliki akses PROCESS_DUP_HANDLE ke proses sumber. Handel duplikat dibuat dalam tabel handel dari proses target yang ditentukan. Proses panggilan harus memiliki akses PROCESS_DUP_HANDLE ke proses target.
Secara default, handel duplikat dibuat dengan atribut yang ditentukan oleh parameter HandleAttributes , dan dengan hak akses yang ditentukan oleh parameter DesiredAccess . Jika perlu, penelepon dapat mengambil alih satu atau kedua default dengan mengatur bendera DUPLICATE_SAME_ATTRIBUTES dan DUPLICATE_SAME_ACCESS di parameter Opsi .
Jika panggilan ke fungsi ini terjadi dalam mode pengguna, Anda harus menggunakan nama "NtDuplicateObject" alih-alih "ZwDuplicateObject".
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 |
---|---|
Klien minimum yang didukung | Windows 2000. |
Target Platform | Universal |
Header | ntifs.h (termasuk Ntdef.h, Ntifs.h, Fltkernel.h) |
Pustaka | Ntoskrnl.lib |
IRQL | PASSIVE_LEVEL |
Lihat juga
Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli