web-dev-qa-db-fra.com

Décoder HResult = -2147467259

Quelqu'un peut-il m'aider à décoder ce résultat HR? Qu'est-ce que ça veut dire? Je sais que le négatif représente un échec. Que diriez-vous du reste des 10 bits?

J'ai référencé l'article MSDN HResult ici , mais je ne sais pas comment déterminer quels sont mes bits d'installation et de code.

Plus d'informations:

_message: "Le composant externe a levé une exception."
Données: {System.Collections.ListDictionaryInternal}

32
CYC0616

Je vais vous montrer comment faire. Collez le nombre négatif dans la calculatrice (Windows) en mode programmeur "Dec". Ensuite, convertissez-le en paramètre "Hex". Vous obtenez le numéro: FFFFFFFF80004005. L'erreur est 80004005 qui est:

0x80004005
E_FAIL
Unspecified 

Malheureusement, le fournisseur de la fonction qui vous a donné cette erreur n'a pas classé l'erreur.

Liens utiles:

  1. MSDN - Format HRESULT
  2. MSDN - Liste d'erreurs HRESULT
70
Chris

Imprimez-le sous forme de nombre hexadécimal, puis utilisez par exemple VisualStudio ErrorLookup pour obtenir le message.

3
BenjaminB

-2147467259 en décimal est 80004005 en hexadécimal (généralement rendu en 0x80004005). C'est "E_FAIL (erreur non spécifiée)" dans Win32.

Ce n'est pas un code d'erreur très utile, mais cela vous rapprochera peut-être d'un demi-pas d'une solution.

2
Michael Petrotta

Une autre façon de procéder est la suivante. Un RÉSULTAT doit contenir un System Error Code dans ses 32 premiers bits. L'utilisation d'une opération ET récupérera le code d'erreur du HRESULT:

int result = (-2147467259 & 0xFFFF)

result est 16389, qui ne fait pas partie de la liste System Error Codes et, par conséquent, n'est pas spécifié.

2
Alexandru