Partager via


Méthode IDispenserDriver ::RateResource (comsvcs.h)

Évalue la correspondance d’une ressource candidate.

Syntaxe

HRESULT RateResource(
  [in]  const RESTYPID ResTypId,
  [in]  const RESID    ResId,
  [in]  const BOOL     fRequiresTransactionEnlistment,
  [out] RESOURCERATING *pRating
);

Paramètres

[in] ResTypId

Type de ressource que le Gestionnaire du distributeur cherche à faire correspondre.

[in] ResId

Ressource candidate que le gestionnaire du distributeur prend en compte.

[in] fRequiresTransactionEnlistment

Si la valeur est TRUE, la ressource candidate (ResId), si elle est choisie, nécessite l’inscription des transactions. Si l’inscription est coûteuse, RateResource peut évaluer une telle ressource moins qu’une ressource déjà inscrite dans la transaction appropriée.

[out] pRating

L’évaluation du Distributeur de ce candidat. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
0
La ressource candidate est inutilisable pour cette demande. La ressource n’est pas ou ne peut pas être modifiée pour être de type ResTypId.
1
Le candidat est un mauvais ajustement, mais utilisable. Le gestionnaire du distributeur continuera à suggérer des candidats.
2
Le candidat est meilleur que les candidats classés comme 1. Le gestionnaire du distributeur continuera à suggérer des candidats.
100
Le candidat est un ajustement parfait. Le gestionnaire du distributeur cesse de suggérer des candidats.

Valeur retournée

Si la méthode réussit, la valeur de retour est S_OK. Sinon, c’est E_FAIL.

Remarques

Si fRequiresTransactionEnlistment a la valeur FALSE, un objet a été dispensé de cette ressource dans cette transaction, l’objet utilisé, puis libéré la ressource (explicitement ou implicitement à la fin de la durée de vie de l’objet). Un deuxième objet dans la même transaction demande une ressource similaire, et la ressource utilisée par le premier objet est prise en compte. Cette ressource est un bon candidat, car elle est déjà inscrite dans la transaction correcte.

Si un type particulier de ressource ne peut être utilisé qu’une seule fois par transaction, une ressource qui a déjà été utilisée une fois dans la transaction peut être identifiée par un fRequiresTransactionEnlistment de FALSE et peut être rejetée pour une utilisation ultérieure en retournant *pRating=0.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête comsvcs.h

Voir aussi

IDispenserDriver