Compartir a través de


Valores devueltos del método

El valor devuelto para los métodos de interfaz de C++ siempre es de tipo HRESULT; este valor se puede comprobar para determinar si se ha realizado correctamente o no. El uso de parámetros "output" permite asignar valores a variables durante la llamada de método o propiedad. En el ejemplo siguiente se muestra una llamada de método de C++ para enumerar proveedores.

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

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

En el fragmento de código anterior, se devuelve correcto o error a la variable "hr". Si la llamada se realizó correctamente, hr se establecerá en S_OK y la variable bstrProvider contendrá el nombre del proveedor enumerado.

Una llamada de C++ para recuperar un valor de propiedad sería la siguiente.

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

Una llamada de C++ para establecer un valor de propiedad sería el siguiente.

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