Menangani Pewarisan

Proses anak dapat mewarisi handel dari proses induknya. Handel yang diwariskan hanya valid dalam konteks proses anak. Untuk mengaktifkan proses anak untuk mewarisi handel terbuka dari proses induknya, gunakan langkah-langkah berikut.

  1. Buat handel dengan anggota bInheritHandle dari struktur SECURITY_ATTRIBUTES diatur ke TRUE.
  2. Buat proses anak menggunakan fungsi CreateProcess , dengan parameter bInheritHandles diatur ke TRUE.

Fungsi DuplicateHandle menduplikasi handel yang akan digunakan dalam proses saat ini atau dalam proses lain. Jika aplikasi menduplikasi salah satu handelnya untuk proses lain, handel duplikat hanya valid dalam konteks proses lainnya.

Handel yang diduplikasi atau diwariskan adalah nilai unik, tetapi mengacu pada objek yang sama dengan handel asli. Proses dapat mewarisi atau menduplikasi handel ke jenis objek berikut:

  • access_token
  • Perangkat komunikasi
  • Input konsol
  • Buffer layar konsol
  • Desktop
  • Directory
  • Kejadian
  • File
  • Pemetaan file
  • Tugas
  • Mailslot
  • Mutex
  • Pipa
  • Proses
  • Kunci Registri
  • Semaphore
  • Soket
  • Rangkaian
  • Pengatur Waktu
  • Stasiun jendela

Semua objek lain bersifat pribadi untuk proses yang membuatnya; handel objek mereka tidak dapat diduplikasi atau diwariskan.

Untuk informasi selengkapnya, lihat Warisan.