Ändern von Rückgabewerten durch COM+
COM+ ändert nie den Rückgabewert eines HRESULT, das 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 es an den Aufrufer zurückgegeben wird.
Wenn eine Anwendung beispielsweise _ S OK zurückgibt, nachdem IObjectContext::SetCompleteaufgerufen wurde, wird das HRESULT in CONTEXT _ E ABORTED konvertiert, wenn das Objekt der Stamm einer Transaktion ist, für die kein Commit ausgeführt werden _ kann.
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.