使用圖形
使用對等圖形時,必須以特定順序呼叫函式。 呼叫流程取決於您正在建立或開啟對等圖形。 本主題會識別簡單對等圖形應用程式中函式呼叫的流程。
啟動圖形
在應用程式呼叫對等圖形 API 中的函式之前,必須先呼叫 PeerGraphStartup 來初始化應用程式的對等圖形 API,然後設定支援的版本。
建立對等圖形
下列程式會識別建立對等圖形之呼叫的流程。
重要
只有一個對等應該呼叫 PeerGraphCreate。 所有其他對等都應該呼叫 PeerGraphOpen。 對 PeerGraph 建立的多個呼叫會使圖形失效。
建立對等圖形。 呼叫 PeerGraphCreate。
註冊對等事件。 呼叫 PeerGraphRegisterEvent。
注意
如需註冊對等事件的詳細資訊,請參閱 事件基礎結構。
接聽對等圖形的連線。 呼叫 PeerGraphListen。
針對執行時間的其餘部分執行應用程式相依函式,例如,處理對等事件並使用連線。
關閉對等圖形的連接。 呼叫 PeerGraphClose。
開啟對等圖形
開啟對等圖形的函式呼叫流程取決於 對等GraphOpen呼叫的傳回值。 最重要的值是 S_OK 和 PEER_S_DATA_CREATED,本主題的下列各節會加以說明。
注意
如果 對 PeerGraphOpen 的呼叫未傳回 S_OK 或 PEER_S_DATA_CREATED,請處理錯誤。
當 PeerGraphOpen 傳回S_OK
呼叫 PeerGraphOpen 傳回 S_OK時,已開啟對等圖形和現有的資料庫。 下列程式會識別呼叫 PeerGraphOpen 傳回時開啟對等圖形的動作 S_OK
註冊對等事件。 呼叫 PeerGraphRegisterEvent。
注意
如需註冊事件的詳細資訊,請參閱 事件基礎結構。
找出節點。 這是使用您識別的方法或應用程式,在對等圖形基礎結構外部執行的程式。 對等圖形 API 不提供特定機制來尋找要連線的初始圖形節點。 應用程式必須使用另一種機制,例如 對等名稱解析通訊協定 (PNRP) API,以找出初始節點。
如果找到節點,請與其連線。 呼叫 PeerGraphConnect,然後呼叫 PeerGraphListen 接聽對等圖形的連線。
注意
如果找不到節點,請勿呼叫 PeerGraphConnect 和 PeerGraphListen。
針對執行時間的其餘部分執行應用程式相依函式,例如,處理對等事件並使用連線,視節點是否連接到對等圖形而定。 例如,應用程式可以選擇逾時,或定期執行圖形中作用中節點的探索。
關閉對等圖形的連接。 呼叫 PeerGraphClose。
當 PeerGraphOpen 傳回PEER_S_DATA_CREATED
當 PeerGraphOpen 傳回 PEER_S_DATA_CREATED時,表示找不到對等圖形的現有資料庫、建立新的資料庫,這是第一次開啟它時。 若要在對等圖形上使用或接聽,對等必須連線到對等圖形並與對等圖形同步處理。
下列程式會識別呼叫 PeerGraphOpen 傳回 PEER_S_DATA_CREATED時,您可以執行的動作來開啟對等圖形。
開啟對等圖形。 呼叫 PeerGraphOpen。
註冊對等事件。 呼叫 PeerGraphRegisterEvent。
注意
如需註冊對等事件的詳細資訊,請參閱 事件基礎結構。
找出節點。 這是使用您識別的方法或應用程式,在對等圖形基礎結構外部執行的程式。 對等圖形 API 不提供特定機制來尋找要連線的初始圖形節點。 應用程式必須使用另一種機制,例如 對等名稱解析通訊協定 (PNRP) API,以找出初始節點。
如果找到節點,請與其連線。 呼叫 PeerGraphConnect,然後呼叫 PeerGraphListen 接聽對等圖形的連線。
注意
如果找不到節點,請勿呼叫 PeerGraphConnect 和 PeerGraphListen。
針對執行時間的其餘部分執行應用程式相依函式,例如,處理對等事件並使用連線,視節點是否連接到對等圖形而定。 例如,應用程式可以選擇逾時,或定期執行圖形中作用中節點的探索。
關閉對等圖形的連接。 呼叫 PeerGraphClose。