¿Qué significa el código NTSTATUS 0x40000000 (STATUS_OBJECT_NAME_EXISTS)?

 
Anterior Siguiente
STATUS_SPACES_REDIRECT STATUS_THREAD_WAS_SUSPENDED

STATUS_OBJECT_NAME_EXISTS

Qué significa STATUS_OBJECT_NAME_EXISTS

Este valor informa que la creación encontró un objeto con el mismo nombre. A diferencia de una colisión fatal, STATUS_OBJECT_NAME_EXISTS pertenece a la clase informativa de NTSTATUS: según la API concreta, la operación puede haber devuelto una referencia válida al objeto existente y NT_SUCCESS sigue siendo verdadero.

Por eso no basta con tratar cualquier valor distinto de cero como fallo. Hay que comprobar el contrato de la llamada y saber si el caller necesitaba exclusividad o aceptaba «crear o abrir». Si reutilizar un objeto existente es válido, verifique igualmente su tipo, configuración y propietario antes de asumir que pertenece a la operación actual.

Qué comprobar

  • La severidad NTSTATUS antes de convertir el resultado en una excepción genérica.
  • Si la API devolvió un handle utilizable al objeto preexistente.
  • La diferencia funcional entre «debe ser nuevo» y «puede existir».
  • Tipo y atributos del objeto encontrado antes de reutilizarlo.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.