Метод 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.

Комментарии

Если параметр fRequiresTransactionEnlistment имеет значение FALSE, объект был указан в этой транзакции, объект использовался, а затем освободил ресурс (явно или неявно по истечении времени существования объекта). Второй объект в той же транзакции запрашивает аналогичный ресурс, и считается ресурс, используемый первым объектом. Этот ресурс является хорошим кандидатом, так как он уже включен в правильную транзакцию.

Если ресурс определенного типа можно использовать только один раз для каждой транзакции, ресурс, который уже использовался один раз в транзакции, можно определить с помощью fRequiresTransactionEnlistmentfalse и может быть отклонен для дальнейшего использования, возвращая *pRating=0.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header comsvcs.h

См. также раздел

IDispenserDriver