共用方式為


使用圖形

使用對等圖形時,必須以特定順序呼叫函式。 呼叫流程取決於您正在建立或開啟對等圖形。 本主題會識別簡單對等圖形應用程式中函式呼叫的流程。

啟動圖形

在應用程式呼叫對等圖形 API 中的函式之前,必須先呼叫 PeerGraphStartup 來初始化應用程式的對等圖形 API,然後設定支援的版本。

建立對等圖形

下列程式會識別建立對等圖形之呼叫的流程。

重要

只有一個對等應該呼叫 PeerGraphCreate。 所有其他對等都應該呼叫 PeerGraphOpen對 PeerGraph 建立的多個呼叫會使圖形失效。

 

開啟對等圖形

開啟對等圖形的函式呼叫流程取決於 對等GraphOpen呼叫的傳回值。 最重要的值是 S_OKPEER_S_DATA_CREATED,本主題的下列各節會加以說明。

注意

如果 對 PeerGraphOpen 的呼叫未傳回 S_OKPEER_S_DATA_CREATED,請處理錯誤。

 

當 PeerGraphOpen 傳回S_OK

呼叫 PeerGraphOpen 傳回 S_OK時,已開啟對等圖形和現有的資料庫。 下列程式會識別呼叫 PeerGraphOpen 傳回時開啟對等圖形的動作 S_OK

  • 註冊對等事件。 呼叫 PeerGraphRegisterEvent

    注意

    如需註冊事件的詳細資訊,請參閱 事件基礎結構

     

  • 找出節點。 這是使用您識別的方法或應用程式,在對等圖形基礎結構外部執行的程式。 對等圖形 API 不提供特定機制來尋找要連線的初始圖形節點。 應用程式必須使用另一種機制,例如 對等名稱解析通訊協定 (PNRP) API,以找出初始節點。

  • 如果找到節點,請與其連線。 呼叫 PeerGraphConnect,然後呼叫 PeerGraphListen 接聽對等圖形的連線。

    注意

    如果找不到節點,請勿呼叫 PeerGraphConnectPeerGraphListen

     

  • 針對執行時間的其餘部分執行應用程式相依函式,例如,處理對等事件並使用連線,視節點是否連接到對等圖形而定。 例如,應用程式可以選擇逾時,或定期執行圖形中作用中節點的探索。

  • 關閉對等圖形的連接。 呼叫 PeerGraphClose

當 PeerGraphOpen 傳回PEER_S_DATA_CREATED

PeerGraphOpen 傳回 PEER_S_DATA_CREATED時,表示找不到對等圖形的現有資料庫、建立新的資料庫,這是第一次開啟它時。 若要在對等圖形上使用或接聽,對等必須連線到對等圖形並與對等圖形同步處理。

下列程式會識別呼叫 PeerGraphOpen 傳回 PEER_S_DATA_CREATED時,您可以執行的動作來開啟對等圖形。

  • 開啟對等圖形。 呼叫 PeerGraphOpen

  • 註冊對等事件。 呼叫 PeerGraphRegisterEvent

    注意

    如需註冊對等事件的詳細資訊,請參閱 事件基礎結構

     

  • 找出節點。 這是使用您識別的方法或應用程式,在對等圖形基礎結構外部執行的程式。 對等圖形 API 不提供特定機制來尋找要連線的初始圖形節點。 應用程式必須使用另一種機制,例如 對等名稱解析通訊協定 (PNRP) API,以找出初始節點。

  • 如果找到節點,請與其連線。 呼叫 PeerGraphConnect,然後呼叫 PeerGraphListen 接聽對等圖形的連線。

    注意

    如果找不到節點,請勿呼叫 PeerGraphConnectPeerGraphListen

     

  • 針對執行時間的其餘部分執行應用程式相依函式,例如,處理對等事件並使用連線,視節點是否連接到對等圖形而定。 例如,應用程式可以選擇逾時,或定期執行圖形中作用中節點的探索。

  • 關閉對等圖形的連接。 呼叫 PeerGraphClose