Fehlerbehandlung in COM (COM)

Fast alle COM-Funktionen und Schnittstellenmethoden geben einen Wert vom Typ HRESULT zurück. Das HRESULT (der Name kann als "Ergebnishandle" gelesen werden) ist eine Möglichkeit, einen Erfolgs-, Warnungs- oder Fehlerwert zurückzugeben. Ein HRESULT ist eigentlich kein Handle (siehe Warum beginnt HRESULT mit H, wenn es sich um keinen Handle handelt?); es ist nur ein Wert mit mehreren Feldern, die in ihn codiert sind. Gemäß der COM-Spezifikation bedeutet ein Ergebnis von 0 erfolg, und ein Ergebnis ohne Zero gibt einen Fehler an.

Auf Quellcodeebene bestehen alle Fehlerwerte aus drei Teilen, die durch Unterstriche getrennt sind. Der erste Teil ist das Präfix, das die dem Fehler zugeordnete Funktion identifiziert, der zweite Teil ist E für Fehler, und der dritte Teil ist eine Zeichenfolge, die die tatsächliche Bedingung beschreibt. Beispielsweise wird STG_E_MEDIUMFULL zurückgegeben, wenn auf einer Festplatte kein Speicherplatz mehr vorhanden ist. Das STG-Präfix gibt die Speichereinrichtung an, das E gibt an, dass der status-Code einen Fehler darstellt, und das MEDIUMFULL stellt spezifische Informationen zum Fehler bereit. Viele der Werte, die Sie möglicherweise von einer Schnittstellenmethode oder -funktion zurückgeben möchten, sind in Winerror.h definiert.

Weitere Informationen zur Fehlerbehandlung finden Sie in den folgenden Abschnitten:

COM-Fehlercodes