Práce s grafy
Při práci s partnerskými grafy musí být funkce volány v určitém pořadí. Tok volání závisí na tom, jestli vytváříte nebo otevíráte peerový graf. Toto téma identifikuje tok volání funkcí v jednoduché aplikaci peer graphu.
Spuštění grafu
Než aplikace zavolá funkci v rozhraní PEER Graphing API, PeerGraphStartup musí být volána k inicializaci rozhraní Peer Graphing API pro aplikaci a nastavení podporované verze.
Vytvoření sousedského grafu
Následující postup identifikuje tok volání pro vytvoření partnerského grafu.
Důležitý
Pouze jeden partner by měl volat PeerGraphCreate. Všichni ostatní peerové by měli volat PeerGraphOpen. Opakovaná volání funkce PeerGraphCreate způsobí zneplatnění grafu.
Vytvoř rovnocenný graf. Zavolat PeerGraphCreate.
Zaregistrujte se na akce pro kolegy. Volání PeerGraphRegisterEvent.
Poznámka
Další informace o registraci akcí kolegů naleznete v tématu Infrastruktury událostí.
Naslouchání připojení k partnerskému grafu. Volání PeerGraphListen.
Proveďte funkce závislé na aplikaci po zbytek běhu, například zpracování partnerských událostí a práci s připojeními.
Zavřete připojení k partnerskému grafu. Vyvolejte PeerGraphClose.
Otevření partnerského grafu
Tok volání funkcí pro otevření partnerského grafu závisí na návratové hodnotě volání PeerGraphOpen. Nejdůležitější hodnoty jsou S_OK a PEER_S_DATA_CREATED, které jsou vysvětleny v následujících částech tohoto tématu.
Poznámka
Pokud volání PeerGraphOpen nevrátí S_OK nebo PEER_S_DATA_CREATED, zpracujte chybu.
Když PeerGraphOpen vrátí S_OK
Když volání PeerGraphOpen vrátí S_OK, otevře se partnerský graf a existující databáze. Následující postup zjistí, co můžete udělat pro otevření peer-to-peer grafu, když volání PeerGraphOpen vrátí S_OK
Zaregistrujte se na akce pro kolegy. Volání PeerGraphRegisterEvent.
Poznámka
Další informace o registraci událostí naleznete v tématu Infrastruktury událostí.
Vyhledejte uzel. Jedná se o proces prováděný mimo infrastrukturu peer graphingu pomocí metody nebo aplikace, kterou identifikujete. Rozhraní Peer Graphing API neposkytuje konkrétní mechanismus pro vyhledání počátečního uzlu grafu pro připojení. Aplikace musí k vyhledání počátečního uzlu použít jiný mechanismus, například PROTOKOL PNRP (Peer Name Resolution Protocol) API.
Pokud se uzel najde, připojte se k němu. Nejprve volejte PeerGraphConnect, poté volejte PeerGraphListen pro naslouchání připojením k partnerskému grafu.
Poznámka
Pokud uzel nebyl nalezen, nevolejte PeerGraphConnect a PeerGraphListen.
Proveďte funkce závislé na aplikaci po zbytek běhu, například zpracování partnerských událostí a práce s připojeními v závislosti na tom, jestli je uzel připojený k partnerskému grafu, nebo ne. Aplikace se například může rozhodnout pro vypršení časového limitu nebo pravidelně provádět zjišťování aktivního uzlu v grafu.
Zavřete připojení k partnerskému grafu. Volání PeerGraphClose.
Když PeerGraphOpen vrátí PEER_S_DATA_CREATED
Když PeerGraphOpen vrátí PEER_S_DATA_CREATED, znamená to, že nenalezne-li se existující databáze partnerského grafu, je vytvořena nová databáze a je to poprvé, co je otevřena. Pokud chcete použít nebo naslouchat v partnerském grafu, musí být uživatel připojený a synchronizovaný s partnerským grafem.
Následující postup identifikuje, co můžete udělat pro otevření partnerského grafu, když volání PeerGraphOpen vrátí PEER_S_DATA_CREATED.
Otevřete peerový graf. Volání PeerGraphOpen.
Zaregistrujte se na akce pro kolegy. Volání PeerGraphRegisterEvent.
Poznámka
Pro více informací o registraci na partnerské akce viz Infrastruktura událostí.
Vyhledejte uzel. Jedná se o proces prováděný mimo infrastrukturu peer graphingu pomocí metody nebo aplikace, kterou identifikujete. Rozhraní Peer Graphing API neposkytuje konkrétní mechanismus pro vyhledání počátečního uzlu grafu pro připojení. Aplikace musí k vyhledání počátečního uzlu použít jiný mechanismus, například PROTOKOL PNRP (Peer Name Resolution Protocol) API.
Pokud se uzel najde, připojte se k němu. Zavolejte PeerGraphConnect, pak zavolejte PeerGraphListen, abyste naslouchali připojením k partnerskému grafu.
Poznámka
Pokud uzel nebyl nalezen, nevolejte PeerGraphConnect a PeerGraphListen.
Proveďte funkce závislé na aplikaci po zbytek běhu, například zpracování partnerských událostí a práce s připojeními v závislosti na tom, jestli je uzel připojený k partnerskému grafu, nebo ne. Aplikace se například může rozhodnout pro vypršení časového limitu nebo pravidelně provádět zjišťování aktivního uzlu v grafu.
Zavřete připojení k rovnocennému grafu. Volání PeerGraphClose.