Partager via


Vérification des erreurs en C++

En C++, chaque méthode des services de certificats retourne directement une valeur HRESULT qui indique si l’appel de méthode a réussi ou échoué. Si l’appel a échoué, la valeur de retour indique la raison de son échec.

L’exemple suivant montre comment les valeurs HRESULT retournées peuvent être utilisées pour la vérification des erreurs. Pour obtenir des exemples de codes d’erreur, consultez Valeurs HRESULT courantes.

HRESULT hr;
BSTR strAttributeName;
BSTR strAttributeValue = NULL;

if(!(strAttributeName = SysAllocString(L"TheAttribute")))
{
     printf("Could not allocate memory for attribute name.\n");
     exit(1);
}

hr = pICertServerPolicy->GetRequestAttribute(
                                strAttributeName,
                                &strAttributeValue);
if(S_OK != hr)          // Check to determine whether method failed
{
    if (E_INVALIDARG == hr)
    {
        //... Do something to recover from errors and so on.
    }
}
// Free BSTRs when finished.
if (NULL != strAttributeName)
    SysFreeString(strAttributeName);
if (NULL != strAttributeValue)
    SysFreeString(strAttributeValue);