What does HRESULT 0x80630012 (PEER_E_DUPLICATE_GRAPH) mean?

 
Previous Next
PEER_E_DBNAME_CHANGED PEER_E_GRAPH_NOT_READY

PEER_E_DUPLICATE_GRAPH

The state transition represented by the HRESULT

PEER_E_DUPLICATE_GRAPH — HRESULT 0x80630012 marks graph creation reused a graph ID that has already been used by another graph object in the same process. A previously successful call does not guarantee that the later handle, identity, record or network presence is still valid.

Reconstruct the sequence

  1. Identify the first call among PeerGraphCreate and application graph-ID allocation that returned the HRESULT.
  2. Preserve graph ID, creation stack, active HGRAPH inventory, database name, peer ID and whether a prior create succeeded without being closed.
  3. Correlate graph, group, PNRP and collaboration events with application cancellation, disconnect, shutdown and sign-out events.
  4. Run the narrow comparison: create two graphs in one process with the same graph ID, then repeat with a newly generated ID for the second graph.

Peer Graphing maintains a connected set of nodes, replicates records and exposes separate graph, node, connection and event lifetimes. A graph database being open is not the same as the node being connected.

Interpretation matrix

ObservationInterpretation
No create, open or enumerate call returned the objectThe failure is upstream of the graph lifecycle described here.
A close, delete, disconnect, expiration or sign-out event came firstInvestigate an object-lifetime race before malformed network data.
The controlled run advances to another HRESULTThe original node or connection state was corrected and the new code names the next unmet prerequisite.

Closest alternative diagnosis

PEER_E_DATABASE_ALREADY_PRESENT differs because a database can already exist on disk even when no duplicate graph object exists in the current process. The two codes can occur in one workflow, but they do not justify the same remediation.

Correction and proof

Allocate a unique graph ID for a distinct graph and centralize graph-object registration so duplicate creation is detected before the API call. Verify the result by enumerating the expected records, members, connections, endpoints or presence state rather than merely observing that the call stopped failing.

Source material


Looking for a different code? Search another status or error code.