| Previous | Next |
| STATUS_SERVER_NOT_DISABLED | STATUS_GUIDS_EXHAUSTED |
STATUS_TOO_MANY_GUIDS_REQUESTED
The batch size exceeded the allocator contract
STATUS_TOO_MANY_GUIDS_REQUESTED describes a request-size limit in the GUID allocation server. It is not evidence that the 128-bit identifier namespace is nearly exhausted. The failure concerns how many identifiers were requested in one allocation operation.
UUID standards are designed around an enormous identifier space, and Windows RPC also provides APIs that create individual UUID values. The NTSTATUS wording instead points to a batched legacy allocation path with an implementation-defined maximum. Microsoft’s common NTSTATUS catalog does not publish that maximum, so code should not guess a magic batch size from the status number or the UUID bit width.
Capture the requested count, request origin, retry policy, and allocator version. If the surrounding protocol permits chunking, split the work according to its documented maximum and preserve ordering/transaction semantics. Blindly retrying the same count will reproduce the limit. Also verify arithmetic before the request is built: a signed-to-unsigned conversion or count/byte-size mix-up can turn a small logical request into a huge allocation count.
What to inspect
- Log the exact requested GUID count before serialization.
- Check count-versus-byte-size conversions and integer overflow.
- Chunk only when the allocator or protocol contract explicitly allows multiple requests.
References
- Microsoft Open Specifications: NTSTATUS values
- Microsoft: UuidCreate
- Microsoft: UuidCreateSequential
- RFC 9562: UUID size and formats
- The Open Group DCE RPC: UUID generation
Looking for a different code? Search another status or error code.