Freigeben über


Ändern von Rückgabewerten durch COM+

COM+ ändert nie den Rückgabewert eines HRESULT , der auf einen Fehler hinweist, z. B. E_UNEXPECTED oder E_FAIL. Wenn jedoch ein Objekt mit COM+-Funktionalität einen HRESULT-Wert zurückgibt, der den Erfolg angibt (z. B. S_OK, S_FALSE oder NOERROR), konvertiert COM+ das HRESULT manchmal in einen COM+-Fehlercode, bevor er an den Aufrufer zurückkehrt.

Wenn z. B. eine Anwendung nach dem Aufruf von IObjectContext::SetComplete S_OK zurückgibt und das Objekt der Stamm einer Transaktion ist, die beim Commit fehlschlägt, wird das HRESULT in CONTEXT_E_ABORTED konvertiert.

Wenn COM+ einen HRESULT-Wert konvertiert, werden alle Ausgabeparameter der Methode gelöscht. Zurückgegebene Verweise werden freigegeben, und die Werte der zurückgegebenen Objektzeiger werden auf NULL festgelegt.

Fehlerisolation und Failfast-Richtlinie

Suchen der Fehlerquelle

Interpretieren von Fehlercodes

Strategien für die Behandlung von Fehlern in COM+

Problembehandlung