| Previous | Next |
| RPC_S_GROUP_MEMBER_NOT_FOUND | RPC_S_INVALID_OBJECT |
EPT_S_CANT_CREATE
The endpoint mapper could not create the requested registration entry.
EPT_S_CANT_CREATE is Win32 status 1899 (0x76B). RPC servers register interface and endpoint binding information so clients can discover a listening endpoint. This status means the endpoint-mapper database could not create the requested entry; it is not the same as a client failing to reach an already registered server.
Conditions that block registration
- the RPC server supplies malformed, incomplete, or inconsistent interface and binding data
- the endpoint mapper service is unavailable, unhealthy, or unable to update its local database
- registration occurs before the server has obtained valid listening bindings
- security policy or process context prevents the registration operation
- startup and shutdown race while one thread unregisters entries another thread is creating
Registration data to capture
Log the RPC interface UUID and version, object UUID count, protocol sequences, endpoints, annotation, registration function, process identity, endpoint mapper service state, and preceding RPC status. Do not publish internal endpoints or UUID inventories in unauthenticated telemetry. Record whether RpcServerUseProtseq* and RpcServerInqBindings succeeded before registration.
Diagnostic sequence
Confirm that the server is listening on the intended protocol sequences and that the binding vector is valid. Inspect the first failure during startup rather than only the final service error. Test local endpoint registration in the same security context and verify that the RPC endpoint mapper service is running normally.
Check for duplicate or stale registration logic, but do not assume every existing endpoint is a conflict: RpcEpRegister can replace compatible entries. Review whether the interface specification, object vector, or binding vector was freed or modified too early.
Recovery and server design
Correct the binding or interface data, restore the endpoint mapper service, and perform registration after successful protocol setup. If startup partially registered entries, unwind them in reverse order before retrying. Rebooting may clear transient state but should not hide a deterministic bad vector.
RPC servers should make registration atomic from the service’s perspective, log each startup stage, pair registration with RpcEpUnregister, and avoid concurrent register/unregister paths. Health checks should distinguish “listening but not registered” from “not listening.”
Difference from endpoint creation failure
RPC_S_CANT_CREATE_ENDPOINT concerns creating or using the actual communication endpoint. EPT_S_CANT_CREATE concerns adding its discovery entry to the endpoint mapper database after binding information is available.
Example
A service builds its binding vector before the RPC runtime starts listening and passes invalid entries to RpcEpRegister. Registration returns 1899. Moving registration after RpcServerInqBindings and validating the vector makes the endpoint discoverable without changing client code.
References
Looking for a different code? Search another status or error code.