System.HResult
Delphi
{$EXTERNALSYM HRESULT} { long }
{$ELSE}
HRESULT = type LongInt; { from wtypes.h }
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
0bedeutet: 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.