IDispenserDriver::RateResource 方法 (comsvcs.h)

评估候选资源的匹配程度。

语法

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

参数

[in] ResTypId

分配器管理器希望匹配的资源类型。

[in] ResId

分配器管理器正在考虑的候选资源。

[in] fRequiresTransactionEnlistment

如果 为 TRUE,则候选资源 (ResId) (如果选择)需要事务登记。 如果登记成本高昂, RateResource 可能会对此类资源的评分低于已在正确事务中登记的资源。

[out] pRating

分配器对此候选人的评分。 此参数的取值可为下列值之一:

含义
0
对于此请求,候选资源不可用。 资源未更改或无法更改为 ResTypId 类型。
1
候选人很适合,但可用。 分配器经理将继续推荐候选人。
2
该候选人比评为 1 的候选人要好。 分配器经理将继续推荐候选人。
100
候选人非常适合。 分配器经理将停止推荐候选人。

返回值

如果该方法成功,则返回值S_OK。 否则,它将E_FAIL。

注解

如果 fRequiresTransactionEnlistmentFALSE,则表示对象在此事务中分配了此资源,该对象使用,然后在对象生存期结束时显式或隐式 (释放资源) 。 同一事务中的第二个对象请求类似的资源,并考虑第一个对象使用的资源。 此资源是一个很好的候选项,因为它已登记在正确的事务中。

如果每个事务只能使用一次特定类型的资源,则已在事务中使用过一次的资源可由 FALSEfRequiresTransactionEnlistment 标识,并可通过返回 *pRating=0 来拒绝该资源以供进一步使用。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 comsvcs.h

另请参阅

IDispenserDriver