Valeurs de retour de méthode
La valeur de retour pour les méthodes d’interface C++ est toujours de type HRESULT ; cette valeur peut être vérifiée pour déterminer la réussite ou l’échec. L’utilisation de paramètres de « sortie » permet d’affecter des valeurs à des variables pendant l’appel de méthode ou de propriété. L’exemple suivant montre un appel de méthode C++ pour énumérer des fournisseurs.
UINT ucEnumProvIndex = 0;
BSTR bstrProvider = NULL;
HRESULT hr;
// pEnroll is previously instantiated CEnroll interface pointer
hr = pEnroll->enumProviders(ucEnumProvIndex, 0, &bstrProvider);
Dans le fragment de code précédent, la réussite ou l’échec est retournée à la variable « hr ». Si l’appel a réussi, hr est défini sur S_OK et la variable bstrProvider contient le nom du fournisseur énuméré.
Un appel C++ pour récupérer une valeur de propriété se présente comme suit.
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).
Un appel C++ pour définir une valeur de propriété se présente comme suit.
// bstrNewName previously set to a valid store name
hr = pEnroll->put_CAStoreName( bstrNewName );