Поделиться через


Возвращаемые значения метода

Возвращаемое значение для методов интерфейса C++ всегда имеет тип HRESULT; Это значение можно проверить, чтобы определить успешность или сбой. Использование параметров output позволяет назначать значения переменным во время вызова метода или свойства. В следующем примере показан вызов метода C++ для перечисления поставщиков.

UINT          ucEnumProvIndex = 0;
BSTR          bstrProvider = NULL;
HRESULT       hr;

// pEnroll is previously instantiated CEnroll interface pointer
hr = pEnroll->enumProviders(ucEnumProvIndex, 0, &bstrProvider);

В приведенном выше фрагменте кода успешное выполнение или сбой возвращается в переменную hr. Если вызов выполнен успешно, hr будет иметь значение S_OK, а переменная bstrProvider будет содержать имя перечисленного поставщика.

Вызов C++ для получения значения свойства будет следующим образом.

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

Вызов C++ для задания значения свойства будет следующим образом.

// bstrNewName previously set to a valid store name
hr = pEnroll->put_CAStoreName( bstrNewName );