Cómo modifica COM+ valores devueltos
COM+ nunca cambia el valor devuelto de un HRESULT que indica un error, como E_UNEXPECTED o E_FAIL. Sin embargo, cuando un objeto que usa la funcionalidad COM+ devuelve un valor HRESULT que indica que se ha realizado correctamente (por ejemplo, S_OK, S_FALSE o NOERROR), COM+ a veces convierte el HRESULT en un código de error COM+ antes de volver al autor de la llamada.
Por ejemplo, cuando una aplicación devuelve S_OK después de llamar a IObjectContext::SetComplete, si el objeto es la raíz de una transacción que no se puede confirmar, HRESULT se convierte en CONTEXT_E_ABORTED.
Cuando COM+ convierte un valor HRESULT , borra todos los parámetros de salida del método. Las referencias devueltas se liberan y los valores de los punteros de objeto devueltos se establecen en NULL.
Temas relacionados