¿Por qué muchos códigos de error de Windows comienzan con 0xC000xxxx? ¿Hay alguna referencia para ellos?

11

Me di cuenta de que la mayoría de los códigos de error de Windows vienen en una de dos formas:

  • Los códigos de error del sistema estándar , por ejemplo, 0x05 es Acceso denegado.
  • Códigos de error en el formulario 0xC000xxxx, para los cuales no puedo encontrar ninguna referencia.

Primero consideré que los últimos códigos de error eran solo códigos de error del sistema con los que se había hecho OR bit a bit 0xC0000000por alguna razón, pero este no parece ser el caso; no coinciden con la naturaleza de la falla si se asignan de esa manera.

Todas las referencias a tales errores en Google parecen estar relacionadas con bloqueos de aplicaciones, pero no se proporcionan nombres de errores.

Tampoco parecen ser específicos de la aplicación, ya que algunas de las Nt*API dentro de ntdll.dll los devuelven, por ejemplo, NtCreateDirectoryObjectdevuelve 0xC0000022cuando se llama con parámetros incorrectos.

¿Cuál es la diferencia entre los dos tipos de código de error? ¿Microsoft los reconoce oficialmente como códigos de error estándar? ¿Hay una página de referencia para ellos?

Polinomio
fuente
eche un vistazo a los códigos de error COM msdn.microsoft.com/de-de/library/windows/desktop/…
bummi

Respuestas:

7

Hay una extensa lista de valores de error en la documentación de los valores de NTSTATUS .

Por ejemplo, 0xC0000022significa STATUS_ACCESS_DENIED, que es un valor de retorno muy común.

Algo no relacionado, pero también hay una lista de códigos de Bug Check . Estos códigos generalmente se muestran cuando se recibe un BSOD.

Der Hochstapler
fuente
¡Excelente! Ese enlace definitivamente va en mis marcadores.
Polinomial