Share via


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