System.HResult

De RAD Studio API Documentation
Aller à : navigation, rechercher

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, sinon 0.
  • 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é.