Description
STATUS_ACCESS_VIOLATION (code hexadécimal 0xC0000005, décimal -1073741819) est un code d'erreur Windows de niveau critique appartenant à la famille Codes NT Status. Microsoft remonte ce code via l'API Win32, le runtime CLR, le noyau, le journal d'événements, PowerShell, les outils en ligne de commande (sfc, dism, gpupdate, sc) et les applications Windows telles qu'Outlook, Teams, Office ou System Center.
Memory access violation. A process attempted to access memory it has no rights to. Often causes application crashes.
Cette page documente ce qui déclenche 0xC0000005, les scénarios les plus courants où il apparaît, les causes racines probables et un workflow de diagnostic pas-à-pas applicable sur les postes concernés. Elle s'adresse aux administrateurs système, techniciens MSP, ingénieurs helpdesk et à toute personne diagnostiquant le comportement de Windows en environnement managé.
Explication détaillée
Il s'agit d'une erreur Windows de niveau critique. Elle signale typiquement une défaillance noyau, une violation de sécurité non récupérable, une panne matérielle ou un bug fatal de driver. Toute occurrence doit être traitée comme un incident P1 : isolez l'hôte, capturez un dump mémoire si disponible et récupérez le dernier minidump dans C:\Windows\Minidump pour analyse.
Il s'agit d'un code NTSTATUS (retourné par les API noyau). Win32 peut le traduire en équivalent ERROR_* via RtlNtStatusToDosError.
Le code peut être recherché par programmation en PowerShell avec [ComponentModel.Win32Exception]::new(-1073741819).Message (pour les codes Win32 / NTSTATUS qui se mappent proprement), ou avec net helpmsg <decimal> pour la plage décimale historique. Pour les codes de type HRESULT, décodez la facility et le code via err.exe du SDK ou la commande !error de WinDbg.
Causes courantes
- Appelant kernel-mode passant un paramètre ou un handle invalide.
- Bug de driver dans un filtre tiers, un antivirus ou un agent de sauvegarde.
- Pression mémoire — pool paginé ou non paginé épuisé.
- Conflit d'accès concurrent sur un objet noyau.
- Corruption de volume ou de hive registre empêchant l'opération.
Étapes de diagnostic
- Inspectez le journal Système autour de l'échec pour l'entrée
NTSTATUScorrespondante, avec le processus et le module à l'origine. - Si un driver kernel-mode est impliqué, capturez un dump noyau et analysez avec WinDbg (
!analyze -v). - Lancez
sfc /scannowetDISM /Online /Cleanup-Image /RestoreHealthpour écarter une corruption OS. - Cherchez l'erreur Win32 correspondante via
RtlNtStatusToDosError— la plupart des NTSTATUS ont un cousinERROR_*plus facile à diagnostiquer. - Reproduisez avec Process Monitor (
procmon) pour capturer l'API exacte, ses paramètres et la stack au moment de l'échec.
Décoder en PowerShell
# Decode 0xC0000005 (-1073741819) in PowerShell
[ComponentModel.Win32Exception]::new(-1073741819).Message
# Or via WinDbg / err.exe (Windows SDK)
# err 0xC0000005
# Or net helpmsg (legacy decimal range only)
# net helpmsg <decimal>Questions fréquentes
Que signifie le code d'erreur Windows 0xC0000005 ?
STATUS_ACCESS_VIOLATION (décimal -1073741819). Mémoire access violation. A process attempted to access mémoire it has no rights to. Souvent causes application crashes.Comment décoder 0xC0000005 en PowerShell ?
[ComponentModel.Win32Exception]::new(-1073741819).Message dans n'importe quelle session PowerShell. Pour les codes de type HRESULT, utilisez err.exe du SDK Windows ou la commande !error de WinDbg.Où Windows journalise-t-il typiquement cette erreur ?
%WinDir%\WindowsUpdate.log ; AD/Kerberos → journal Sécurité sur le DC ; BSOD → minidump dans C:\Windows\Minidump ; MSI → %TEMP%\msi*.log ; WMI → Microsoft-Windows-WMI-Activity). Croisez toujours l'horodatage et le nom du module avec les journaux Application et Système.Ce code est-il récupérable ?
Dois-je ouvrir un ticket support Microsoft pour cela ?
Get-WinEvent avant d'ouvrir le ticket.
