¿Qué significa el código NTSTATUS 0xC0000038 (STATUS_DEVICE_ALREADY_ATTACHED)?

 
Anterior Siguiente
STATUS_PORT_DISCONNECTED STATUS_OBJECT_PATH_INVALID

STATUS_DEVICE_ALREADY_ATTACHED

Qué significa STATUS_DEVICE_ALREADY_ATTACHED

STATUS_DEVICE_ALREADY_ATTACHED protege la topología de un device stack. Function y filter device objects forman una cadena ordenada sobre el PDO; adjuntar el mismo objeto dos veces o repetir AddDevice sobre una instancia ya inicializada rompe traversal, referencias y detach ordering.

No ignore el status y continúe dispatching como si la segunda attachment hubiera funcionado. El estado pertenece a cada device instance, no a una variable global: una re-enumeración puede crear otra instancia legítima. Guarde el lower-device pointer devuelto por la attachment correcta y deshaga esa relación únicamente en el remove path correspondiente.

Qué comprobar

  • Identifique el device object y target exactos de ambas attachment attempts.
  • Revise AddDevice/start/remove para detectar inicialización duplicada.
  • Mantenga attachment state por device instance, no solo por driver.
  • No haga detach de una relación que no fue creada por esa instancia.

Referencias técnicas


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