輸入執行中狀態
當內嵌物件轉換至執行中狀態時,對象處理程式必須找出並執行伺服器應用程式,才能利用只有伺服器所提供的服務。 內嵌物件會透過容器的要求明確置於執行中狀態,例如需要繪製目前未快取的格式,或以隱含方式由 OLE 來回應叫用某些作業,例如當容器的使用者按兩下 物件時。
當連結的物件轉換成執行中狀態時,進程稱為 系結。 在系結過程中,對象處理程式會要求其儲存的Moniker找出連結的數據,然後執行伺服器應用程式。
第一眼看,系結連結的物件似乎並不比執行內嵌物件更複雜。 不過,下列幾點會使程序複雜化:
- 連結可以參考內嵌在另一個容器中的物件或其部分。 這項功能表示巢狀內嵌的潛力。 解析這類階層的參考需要以遞歸方式周遊 複合Moniker,從最右邊的成員開始。
- 當連結來源正在執行時,OLE 會系結至對象的執行中實例,而不是執行另一個實例。 在巢狀內嵌對象的情況下,其中一個是連結來源,OLE 必須能夠在任何時間點系結至已執行中的物件。
- 執行物件需要存取物件的儲存區域。 執行內嵌物件時,OLE 會在載入程式期間收到記憶體的指標,該指標會傳遞給 OLE 伺服器應用程式。 不過,對於鏈接的對象,沒有存取記憶體的標準介面。 OLE 伺服器應用程式可能會使用檔案系統介面或其他一些機制。