Comment COM+ modifie les valeurs de retour
COM+ ne modifie jamais la valeur de retour d’un HRESULT qui indique une défaillance, comme E_UNEXPECTED ou E_FAIL. Toutefois, lorsqu’un objet utilisant la fonctionnalité COM+ retourne une valeur HRESULT indiquant la réussite (par exemple, S_OK, S_FALSE ou NOERROR), COM+ convertit parfois le HRESULT en code d’erreur COM+ avant de revenir à l’appelant.
Par exemple, lorsqu’une application retourne S_OK après l’appel de IObjectContext::SetComplete, si l’objet est la racine d’une transaction qui ne parvient pas à valider, le HRESULT est converti en CONTEXT_E_ABORTED.
Lorsque COM+ convertit une valeur HRESULT , il efface tous les paramètres de sortie de la méthode. Les références retournées sont libérées et les valeurs des pointeurs d’objet retournés sont définies sur NULL.
Rubriques connexes