物件介面
Windows 提供執行下列工作的函式:
- 建立物件
- 取得物件句柄
- 取得對象的相關信息
- 設定對象的相關信息
- 關閉物件句柄
- 終結物件
每個物件不需要其中一些工作。 某些工作會針對特定物件合併。 例如,應用程式可以建立事件物件。 其他應用程式可以開啟 事件,以取得這個事件物件的唯一句柄。 當每個應用程式使用 事件完成時,它會將其句柄關閉至 物件。 當事件對象沒有剩餘的開啟句柄時,系統會終結事件物件。 相反地,應用程式可以取得現有窗口物件的句柄。 當不再需要窗口物件時,應用程式必須終結物件,使視窗句柄失效。
有時候,物件會在所有物件句柄關閉之後保留在記憶體中。 例如,線程可以建立事件物件,並等候事件句柄。 當線程正在等候時,另一個線程可能會關閉相同的事件物件句柄。 事件物件會保留在記憶體中,而沒有任何事件物件句柄,直到事件物件設定為訊號狀態並完成等候作業為止。 此時,系統會從記憶體中移除物件。
處理和物件會耗用記憶體。 因此,若要保留系統效能,您應該在不再需要物件時立即關閉句柄和刪除物件。 如果您未這麼做,應用程式可能會因為過度使用分頁檔案而損害系統效能。
當進程終止時,系統會自動關閉處理程式所建立的句柄並刪除物件。 不過,當線程終止時,系統通常不會關閉句柄或刪除物件。 唯一的例外是視窗、勾點、視窗位置和動態資料交換 (DDE) 交談物件:這些物件會在建立線程終止時終結。