Graphing API Functions

The Peer Graphing API uses the following functions:

Initialization and Cleanup Functions

Function Description
PeerGraphShutdown Cleans up any resources allocated by the call to PeerGraphStartup.
PeerGraphStartup Indicates to the Peer Graphing Infrastructure what version of the Peer protocols the calling application requires.

 

Graph Creation and Access Functions

Function Description
PeerGraphClose Invalidates the peer graph handle returned by a call to either PeerGraphCreate or PeerGraphOpen, and closes all network connections for the specified peer graph.
PeerGraphCreate Creates a new peer graph.
PeerGraphDelete Deletes the data associated with a specified peer graph.
PeerGraphListen Indicates that a peer graph should start listening for incoming connections.
PeerGraphOpen Opens a peer graph that is created previously by either the local node or a remote node.

 

Graph and Node Information Functions

Function Description
PeerGraphEnumNodes Creates and returns an enumeration handle used to enumerate the nodes in a peer graph.
PeerGraphGetNodeInfo Retrieves information about a specific node.
PeerGraphGetProperties Retrieves the current peer graph properties.
PeerGraphGetStatus Returns the current status of the peer graph.
PeerGraphSetNodeAttributes Sets the attributes of the PEER_NODE_INFO structure for the local node.
PeerGraphSetPresence Explicitly turns on or off the publication of presence records for a specific node. This function can override the presence settings in the peer graph properties.
PeerGraphSetProperties Sets the peer graph properties.

 

Record Management Functions

Function Description
PeerGraphAddRecord Adds a new record to a peer graph. A record added with this function is sent to each node in a peer graph.
PeerGraphDeleteRecord Marks a record as deleted within a peer graph.
PeerGraphEnumRecords Creates and returns an enumeration handle used to enumerate records of a specific type of record, user, or both.
PeerGraphGetRecord Retrieves a specific record based on the specified record ID.
PeerGraphSearchRecords Searches the peer graph for specific records.
PeerGraphUpdateRecord Updates a record in the peer graph and then floods the record to each node in the peer graph.
PeerGraphValidateDeferredRecords Indicates to the Peer Graphing Infrastructure that it is time to resubmit any deferred records for the security module to validate.

 

Export and Import Functions

Function Description
PeerGraphExportDatabase Exports a peer graph database into a file that you can move to a different computer.
PeerGraphImportDatabase Imports a file that contains the information from a peer graph database.

 

Utility and Support Functions

Function Description
PeerGraphEndEnumeration Releases an enumeration handle, and frees the resources associated with an enumeration.
PeerGraphFreeData Frees resources that several of the Peer Graphing API functions return.
PeerGraphGetItemCount Retrieves the number of items in an enumeration.
PeerGraphGetNextItem Obtains the next item or items in an enumeration created by a call to specific functions, which return a peer enumeration.
PeerGraphPeerTimeToUniversalTime Converts the peer graph-maintained reference time value to a localized time value appropriate for display on the peer's computer.
PeerGraphUniversalTimeToPeerTime Converts a universal time value from the peer's computer to a common peer graph time value.

 

Connection Functions

Function Description
PeerGraphCloseDirectConnection Closes a specified direct connection.
PeerGraphConnect Attempts to make a connection to a specified node in a peer graph. This function starts an asynchronous operation.
PeerGraphEnumConnections Creates and returns an enumeration handle used to enumerate the connections of a local node.
PeerGraphOpenDirectConnection Allows an application to establish a direct connection with a node in a peer graph. The connection can only be made if the node to which the application is connecting has subscribed to the PEER_GRAPH_EVENT_DIRECT_CONNECTION event.
PeerGraphSendData Sends data to a neighbor node or a directly connected node.

 

Events Infrastructure Functions

Function Description
PeerGraphGetEventData Retrieves peer events.
PeerGraphRegisterEvent Registers a peer's request to be notified of changes associated with a peer graph and event type.
PeerGraphUnregisterEvent Requests that the application no longer be notified of changes associated with a peer graph and record type.