Methodenrückgabewerte
Der Rückgabewert für C++-Schnittstellenmethoden ist immer vom Typ HRESULT; Dieser Wert kann überprüft werden, um erfolg- oder fehlerbestimmbar zu sein. Die Verwendung von Ausgabeparametern ermöglicht die Zuweisung von Werten zu Variablen während des Methoden- oder Eigenschaftenaufrufs. Das folgende Beispiel zeigt einen C++-Methodenaufruf zum Auflisten von Anbietern.
UINT ucEnumProvIndex = 0;
BSTR bstrProvider = NULL;
HRESULT hr;
// pEnroll is previously instantiated CEnroll interface pointer
hr = pEnroll->enumProviders(ucEnumProvIndex, 0, &bstrProvider);
Im vorherigen Codefragment wird der Erfolg oder Fehler an die Variable "hr" zurückgegeben. Wenn der Aufruf erfolgreich war, wird hr auf S_OK festgelegt, und die Variable bstrProvider enthält den Namen des aufgezählten Anbieters.
Ein C++-Aufruf zum Abrufen eines Eigenschaftswerts lautet wie folgt.
BSTR bstrStoreName = NULL;
HRESULT hr;
// pEnroll is previously instantiated CEnroll interface pointer
// get the storename
hr = pEnroll->get_CAStoreName( &bstrStoreName );
// (When done using bstrStoreName, free it by calling SysFreeString).
Ein C++-Aufruf zum Festlegen eines Eigenschaftswerts lautet wie folgt.
// bstrNewName previously set to a valid store name
hr = pEnroll->put_CAStoreName( bstrNewName );