處理繼承
子進程可以從其父進程繼承句柄。 繼承的句柄只有在子進程的內容中才有效。 若要讓子進程從其父進程繼承開啟的句柄,請使用下列步驟。
- 建立句柄,並將 SECURITY_ATTRIBUTES 結構 SECURITY_ATTRIBUTES 的 bInheritHandle 成員設定為 true 。
- 使用 createProcess函式建立子進程,並將 bInheritHandles 參數設定為 TRUE。
DuplicateHandle 函式會複製要用於目前進程或另一個進程的句柄。 如果應用程式針對另一個進程複製其中一個句柄,則重複的句柄只有在另一個進程的內容中才有效。
重複或繼承的句柄是唯一值,但它是指與原始句柄相同的物件。 行程可以繼承或複製下列類型的 物件句柄:
- 存取令牌
- 通訊裝置
- 主控台輸入
- 控制台畫面緩衝區
- 桌面
- 目錄
- 事件
- 檔
- 檔案對應
- 工作
- Mailslot
- Mutex
- 管
- 過程
- 登錄機碼
- 信號
- 插座
- 線
- 定時器
- 視窗月臺
所有其他物件都是建立這些對象之進程的私用物件;無法複製或繼承其物件句柄。
如需詳細資訊,請參閱 繼承。