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


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

Возвращаемое значение для методов интерфейса C++ всегда имеет тип HRESULT; Это значение можно проверить, чтобы определить успешность или неудачу. Использование "выходных" параметров позволяет назначать значения переменным во время вызова метода или свойства. В следующем примере показан вызов метода 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 );