System.HResult
Delphi
type HResult = Integer;
C++
typedef HRESULT HResult; //
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
type typedef |
public | System.pas sysmac.h |
System | System |
Description
HResult représente le type de retour pour les fonctions qui renvoient un code d'erreur.
De nombreuses fonctions renvoient une valeur HResult pour indiquer le succès ou l'échec d'une opération. Ce type de données, initialement défini pour la plate-forme Win32, est désormais utilisé par de nombreuses API différentes exécutées sur diverses plates-formes. L'utilisation des valeurs HResult varie d'une API à l'autre, mais certaines conventions de base sont généralement suivies.
Une valeur HResult a 32 bits et se compose des champs suivants (à partir du bit de poids fort).
- Un champ Gravité sur 1 bit. Le bit Gravité a la valeur
1
si une erreur fatale s'est produite, sinon0
. - Un champ sur 4 bits qui n'est pas utilisé.
- Un Code de fonction sur 11 bits, indiquant la nature générale de la valeur HResult. Les valeurs HResult à usage général ont un Code de fonction de
0
. - Un Code d'erreur sur 16 bits, indiquant l'erreur spécifique. Un Code d'erreur de
0
indique qu'il n'y a aucune erreur.
Le tableau suivant liste les valeurs du type HResult.
Constante | Hexa Valeur | Signification |
---|---|---|
S_OK |
00000000 |
Aucune erreur. Dans certaines API, S_OK indique une opération réussie avec True comme valeur renvoyée. |
S_FALSE |
00000001 |
Aucune erreur, mais l'opération n'a pas produit de résultat utile. Dans certaines API, S_FALSE indique une opération réussie avec False comme valeur renvoyée. |
E_INTERFACE |
80004002 |
Interface non supportée. |
E_UNEXPECTED |
8000FFFF |
Echec catastrophique. |
E_NOTIMPL |
80004001 |
Opération non implémentée. |
Remarquez que dans les noms de constantes ci-dessus, les préfixes S_ et E_ correspondent à la valeur du bit Gravité.