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ě.
- Vytvořte popisovač pomocí bInheritHandle člen struktury SECURITY_ATTRIBUTES nastaven na TRUE.
- 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.