方法返回值

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