使用 I 連線 ionPoint
當用戶端有連接點的指標時,它可以執行下列作業,如透過 I 連線 ionPoint 表示:
- 首先,I 連線 ionPoint::Get 連線 ionInterface 會擷取連接點支援的傳出介面 IID。 與 IEnum 連線 ionPoints 搭配使用時,此方法可讓客戶端檢查可連接物件上支援之所有傳出介面的 IID。
- 其次,用戶端可以透過 I 連線 ionPoint::Get 連線 ionPointContainer 方法,從連接點巡覽回可連接物件的 I 連線 ionPointContainer 介面。
- 第三,用戶端最有趣的方法是 I 連線 ionPoint::Advise 和 I 連線 ionPoint::Unadvise。 當用戶端想要將自己的接收物件連接到可連接的物件時,用戶端會將接收的IUnknown 指標(或相同物件上的任何其他介面指標)傳遞給建議。 連接點會查詢接收中預期的特定連出介面。 如果該介面可在接收上使用,則連接點會儲存介面指標。 從這個點開始,直到 呼叫 Unadvise 為止,可連接的物件會在事件發生時透過這個介面呼叫接收。 若要中斷連接點的接收連線,用戶端會將從 建議 傳回的 密鑰傳遞至 Unadvise 方法。 取消整合 必須在接收介面上呼叫 Release 。
- 最後,用戶端可以要求連接點列舉透過 I 連線 ionPoint::Enum 連線 ions 存在的所有連線。 這個方法會建立列舉值物件(具有個別的參考計數),並傳回它的 IEnum 連線 ions 指標。 當不再需要列舉值時,客戶端必須呼叫 Release。 此外,列舉值會傳回一系列的 CONNECTDATA 結構,每個連接各一個。 每個結構都會使用接收的 IUnknown 指標,以及原本從建議傳回的連接密鑰來描述一個連線。 使用這些接收介面指標完成時,客戶端必須在 CONNECTDATA 結構中傳回的每個指標上呼叫 Release。
相關主題