System.HResult

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

type HResult = Integer;

C++

typedef HRESULT              HResult;          //

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
type
typedef
public
System.pas
sysmac.h
System System

Beschreibung

HResult ist der Rückgabetyp für Funktionen, die einen Fehlercode liefern.

Viele Funktionen geben einen HResult-Wert zurück, um den Erfolg oder Misserfolg einer Operation anzugeben. Dieser Datentyp wurde ursprünglich für die Win32-Plattform definiert, wird aber jetzt von vielen verschiedenen APIs auf einer Vielzahl von Plattformen verwendet. Die genaue Verwendung von HResult-Werten ist von API zu API unterschiedlich, aber bestimmte grundlegende Konventionen werden normalerweise eingehalten.

Ein HResult-Wert hat 32 Bits und besteht aus den folgenden Feldern (beginnend mit dem höherwertigen Bit).

  • Ein 1 Bit großes Feld für den Schweregrad. Wenn eine schwerer Fehler auftrat, ist das Schweregrad-Bit 1, ansonsten 0.
  • Ein 4 Bit großes Feld, das nicht verwendet wird.
  • Ein 11 Bit großes Feld für den Facility Code, der die allgemeine Arte des HResult-Wertes angibt. HResult-Werte für allgemeine Zwecke haben einen Facility Code von 0.
  • Ein 16 Bit großes Feld für den Fehlercode, der einen bestimmten Fehler angibt. Ein Fehlercode von 0 bedeutet: kein Fehler.

Die folgende Tabelle enthält die Werte des Typs HResult.

Konstante Hex. Wert Bedeutung

S_OK

0

Kein Fehler. In einigen APIs gibt S_OK eine erfolgreiche Operation mit dem Rückgabewert True an.

S_FALSE

$00000001

Kein Fehler, aber die Operation ergab kein sinnvolles Ergebnis. In einigen APIs gibt S_FALSE eine erfolgreiche Operation mit dem Rückgabewert False an.

E_NONINTERFACE

$80004002

Interface nicht unterstützt.

E_UNEXPECTED

$8000FFFF

Katastrophaler Fehler.

E_NOTIMPL

$80004001

Operation nicht implementiert.

Beachten Sie bitte, dass sich die Präfixe S_ und E_ in den obigen Konstantennamen auf den Wert des Schweregrad-Bits beziehen.