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 の場合、オブジェクトはこのトランザクションでこのリソースを割り当て、オブジェクトはリソースを使用して解放しました (オブジェクトの有効期間の終了時に明示的または暗黙的に)。 同じトランザクション内の 2 番目のオブジェクトが同様のリソースを要求し、最初のオブジェクトが使用したリソースが考慮されます。 このリソースは、正しいトランザクションに既に参加しているため、適切な候補です。

特定の種類のリソースをトランザクションごとに 1 回だけ使用できる場合、トランザクションで既に 1 回使用されているリソースは 、fRequiresTransactionEnlistmentFALSE で識別でき、*pRating=0 を返すことでそれ以降の使用を拒否できます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー comsvcs.h

こちらもご覧ください

IDispenserDriver