System.HResult
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
, ansonsten0
. - 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.