| Previous | Next |
| PEER_E_INVALID_DATABASE | PEER_E_CONNECTION_NOT_FOUND |
PEER_E_TOO_MANY_ATTRIBUTES
Which peer contract was rejected
PEER_E_TOO_MANY_ATTRIBUTES — HRESULT 0x80630017 marks a peer record contains more application-defined attributes than the Peer Infrastructure accepts. The base description names the outcome; diagnosis requires the data contract and lifecycle accepted by PeerGraphAddRecord, PeerGroupAddRecord and PEER_RECORD.pszAttributes.
Peer records combine a typed record structure, optional searchable XML attributes, payload data, creator metadata and expiration. The local database may receive records in an order different from application dependencies.
Minimum diagnostic packet
| Item | Evidence for this HRESULT |
|---|---|
| Raw input | Preserve record type GUID, serialized attribute XML, attribute count, duplicate names, reserved names and the API call that adds or updates the record. |
| Owning context | Record the Windows user, process integrity, graph or group handle, database path and selected cloud. |
| Previous success | Save the last successful create, open, enumerate, parse, register or sign-in result that produced the object. |
| Result order | Retain the first HRESULT so cleanup failures do not replace the code that rejected the request. |
Focused reproduction
Submit the same record while removing attributes one by one, keeping payload and expiration unchanged, until the boundary is isolated. Use disposable identities or groups when the test publishes names, creates credentials or modifies a replicated database.
Why the comparison code is different
PEER_E_INVALID_ATTRIBUTES differs because too-many-attributes concerns quantity; invalid-attributes concerns XML/schema or name/type formatting. A diagnostic report should retain both the symbolic constant and the unsigned hexadecimal value.
Recommended change
Store only searchable fields as record attributes and move non-indexed metadata into the record payload. Avoid deleting every peer database, certificate store or firewall rule because broad resets erase evidence without proving the caller contract was repaired.
Proof of repair
- The original input now passes the precise check represented by this HRESULT.
- The operation reaches the intended graph, group, record, PNRP or collaboration outcome.
- Unrelated identity material, membership credentials and replicated records remain unchanged.
Technical references
- Microsoft: Record attribute schema — it uses this source for the documented peer boundary.
- Microsoft: Record search query format
- Microsoft: Record dependencies
- Microsoft: Grouping API functions
Looking for a different code? Search another status or error code.
