Freigeben über


Fehlerüberprüfung in C++

In C++ gibt jede Certificate Services-Methode direkt einen HRESULT-Wert zurück, der angibt, ob der Methodenaufruf erfolgreich oder fehlgeschlagen ist. Wenn beim Aufruf ein Fehler aufgetreten ist, gibt der Rückgabewert an, warum ein Fehler aufgetreten ist.

Das folgende Beispiel zeigt, wie die zurückgegebenen HRESULT-Werte für die Fehlerüberprüfung verwendet werden können. Beispielfehlercodes finden Sie unter Allgemeine HRESULT-Werte.

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);