What does Windows error code 1923 (RPC_S_NOT_ALL_OBJS_EXPORTED) mean?

 
Previous Next
RPC_S_ENTRY_TYPE_MISMATCH RPC_S_INTERFACE_NOT_EXPORTED

RPC_S_NOT_ALL_OBJS_EXPORTED

Only part of the requested RPC object set was exported.

RPC_S_NOT_ALL_OBJS_EXPORTED is Win32 status 1923 (0x783). RPC servers can export an interface, bindings, and a vector of object UUIDs into a name-service entry. This status reports partial success at the object level: at least part of the publication was possible, but one or more requested object identities were not exported as intended.

Why an object vector is only partially published

  • the vector contains duplicate, stale, nil, malformed, or unsupported object UUID entries
  • a concurrent registration or cleanup operation changes the namespace entry during export
  • permissions or namespace-provider state allow some updates but reject others
  • the application builds the UUID vector from objects that have already been withdrawn
  • recovery code assumes the entire previous export was removed and submits an inconsistent replacement set

Publication details to log

Capture the namespace entry and syntax, interface UUID and version, binding count, requested object UUID count, safely hashed per-object outcomes, namespace provider, caller identity, and the exact export function. Record the entry inventory before and after the call so partial state is visible. Do not expose raw object UUID lists to unauthenticated telemetry when they reveal service topology.

Diagnostic sequence

Validate the UUID vector before export and remove duplicate or nil identifiers according to the API contract. Enumerate the resulting namespace entry to identify which objects were published. Repeat the test with one object at a time in a controlled environment to isolate malformed or stale entries without overwriting production state.

Check concurrent exporters and cleanup jobs that own the same entry. Verify namespace permissions and availability. Treat 1923 as a state-reconciliation event: the database may contain a useful subset, so assuming total failure or total success can both leave incorrect discovery data.

Recovery and consistency handling

Reconcile the actual exported set with the authoritative server object list, correct invalid UUIDs or permissions, and retry only missing items. If atomic publication is required by the application, export to a staged entry and switch consumers through an application-controlled mechanism rather than exposing partial membership.

Servers should generate object vectors from live registered objects, serialize publication changes, and verify the postcondition by inquiry. Cleanup must remove exactly the objects owned by that deployment generation.

Difference from an interface export failure

RPC_S_INTERFACE_NOT_EXPORTED says the interface itself could not be published to the entry. Error 1923 specifically concerns incomplete publication of the requested object UUID collection and can coexist with a usable exported interface.

Example

A server exports ten tenant object UUIDs while one tenant was deleted moments earlier. The interface and nine objects appear in the namespace, but the call returns 1923. Rebuilding the vector from the live registry and reconciling the missing item restores an accurate export.

References


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