| Anterior | Siguiente |
| STATUS_OBJECT_NAME_NOT_FOUND | STATUS_PORT_DO_NOT_DISTURB |
STATUS_OBJECT_NAME_COLLISION
Qué significa STATUS_OBJECT_NAME_COLLISION
La solicitud pedía crear un objeto con un nombre que debía ser nuevo, pero el namespace ya contiene una entrada con ese nombre. En archivos suele depender de la disposición de creación: create-only debe fallar si el archivo existe, mientras que un flujo open-or-create puede abrirlo legítimamente.
Una colisión no es una sharing violation. El objeto existente puede estar cerrado y ser accesible; el conflicto es que la operación exigía unicidad. Tampoco conviene hacer primero «exists?» y después «create»: entre ambas llamadas otro actor puede ganar la carrera. La creación atómica es la prueba correcta.
Qué comprobar
- Creation disposition y regla de negocio esperada para ese nombre.
- Si el objeto existente tiene el tipo y propietario que el caller espera reutilizar.
- Generadores de nombres y carreras entre procesos o threads.
- Expectativas explícitas de archivo frente a directorio.
Referencias técnicas
- Microsoft: CreateFileW
- Microsoft: Creating and opening files
- Microsoft Open Specifications: NTSTATUS values
¿Buscas un código diferente? Buscar otro código de estado o error.