2016-07-07 26 views
3

Ich verwende die GetExitCodeProcess-API, um den Beendigungsgrund für einen Prozess zu ermitteln.Was bedeutet ExitCode -1073741502?

Wenn mein Prozess fehlschlägt, erhalte ich den Fehlercode -1073741502.

Wie kann dieser Wert in einen Wert umgewandelt werden, für den ich googlen könnte?

Vielen Dank.

Bearbeiten: Nun, 1073741502 erscheint auf Google, aber nicht -1073741502. Warum hat mein Fehlercode ein Minus?

+3

'-1073741502', wenn sie als hexadezimale gedruckt ist' c0000142' die [nach diesem] (https://support.microsoft.com/ de-de/kb/191991) bedeutet "DLL Initialization Failed". Bitte folgen Sie dem Link, um über die Ursache und mögliche Lösungen zu lesen. –

+0

Mögliches Duplikat von [Decode HResult = -2147467259] (http://stackoverflow.com/questions/22493524/decode-hresult-2147467259) – theB

+0

Übrigens ist die Ausgabe von GetExitCodeProcess ein 'DWORD', das' unsigned int' ist. Sie müssen es versehentlich als "signed int" gedruckt haben, deshalb erhalten Sie das Minuszeichen. –

Antwort

7

In hexadezimal konvertiert wird der Wert 0xC0000142.
Windows NTSTATUS values zeigt, dass Ihr Fehlercode STATUS_DLL_INIT_FAILED wird, das ist:

{DLL-Initialisierung fehlgeschlagen} Initialisierung des Dynamic Link Library% hs ist fehlgeschlagen. Der Prozess wird abnormal beendet.

1

Normalerweise bestehen die Rückkehrcodes aus mehreren Bitfeldern. Wenn ich meine Mathematik richtig gemacht habe, ergibt das 0xffffffffc0000142, das wahrscheinlich aus einer Gruppe 0xc0000 und einem Fehlercode 0x0142 besteht. Wenn Sie nach einem Code suchen, suchen Sie auch nach der Hex-Zeichenfolge.

Und tatsächlich, das erzeugt einen Treffer. Es gibt sogar einen Eintrag Stackoverflow, die Ihr Problem direkt anzusprechen scheint:

CreateProcess succeeds, but GetExitCodeProcess returns C0000142