Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W języku C++wartość zwracana jest zazwyczaj typu HRESULT. Jest to wartość zwracana przez tę wartość, którą można określić, czy metoda powiodła się, czy nie, a jeśli nie, jaki był błąd. Usługi certyfikatów zwykle zwracają S_OK dla HRESULT po pomyślnym zakończeniu metody. Wartości programowe, które należy zwrócić, są zwracane za pośrednictwem parametrów "out" w metodzie . W poniższym przykładzie pokazano wywołanie metody C++ w celu pobrania właściwości żądania:
BSTR bstrPropName = NULL;
VARIANT varProp;
HRESULT hr;
VariantInit(&varProp);
bstrPropName = SysAllocString(L"RequestID");
if (NULL == bstrPropName)
{
printf("Failed SysAllocString\n");
// Take application-specific error action.
exit(1);
}
// Retrieve the request property.
// pCertServerPolicy is a pointer to a previously
// instantiated ICertServerPolicy object.
hr = pCertServerPolicy->GetRequestProperty(bstrPropName,
PROPTYPE_LONG,
&varProp);
if (S_OK != hr)
{
printf("Failed GetRequestProperty [%x]\n", hr);
// Take application-specific error action.
// ...
}
else
{
// Successfully retrieved property; use varProp as needed.
// ...
}
// Done processing.
VariantClear(&varProp);
if (NULL != bstrPropName)
SysFreeString(bstrPropName);
W poprzednim fragmentze kodu powodzenie lub niepowodzenie jest zwracane do zmiennej HRESULThr. Należy sprawdzić zmienną HRESULT pod kątem powodzenia [obsługiwanego w kodzie przez warunek (S_OK != hr)]. Jeśli metoda została ukończona pomyślnie, wartość właściwości żądania jest zwracana w parametrze VARIANTvarProp.