Sdílet prostřednictvím


Zpracování dědičnosti

Podřízený proces může dědit popisovače z nadřazeného procesu. Zděděný popisovač je platný pouze v kontextu podřízeného procesu. Pokud chcete podřízený proces povolit dědění otevřených popisovačů z nadřazeného procesu, postupujte následovně.

  1. Vytvořte popisovač pomocí bInheritHandle člen struktury SECURITY_ATTRIBUTES nastaven na TRUE.
  2. Vytvořte podřízený proces pomocí funkce CreateProcess s parametrem bInheritHand les nastaveným na TRUE.

Funkce DuplicateHandle duplikuje popisovač, který se použije v aktuálním procesu nebo v jiném procesu. Pokud aplikace duplikuje jeden z jeho popisovačů pro jiný proces, duplikovaný popisovač je platný pouze v kontextu druhého procesu.

Duplikovaný nebo zděděný popisovač je jedinečná hodnota, ale odkazuje na stejný objekt jako původní popisovač. Procesy mohou dědit nebo duplikovat popisovače pro následující typy objektů:

  • Přístupový token
  • Komunikační zařízení
  • Vstup konzoly
  • Vyrovnávací paměť obrazovky konzoly
  • Plocha
  • Adresář
  • Událost
  • Soubor
  • Mapování souborů
  • Práce
  • Mailslot
  • Mutex
  • Potrubí
  • Proces
  • Klíč registru
  • Semafor
  • Zásuvka
  • Vlákno
  • Časovač
  • Stanice oken

Všechny ostatní objekty jsou soukromé pro proces, který je vytvořil; jejich popisovače objektů nelze duplikovat ani dědit.

Další informace naleznete v tématu dědičnost.