方法返回值

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