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
이 후보에 대한 디스펜서의 평가입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
이 요청에는 후보 리소스를 사용할 수 없습니다. 리소스가 ResTypId 형식이 아니거나 변경될 수 없습니다. |
|
후보자는 적합하지 않지만 사용할 수 있습니다. 디스펜서 관리자는 계속해서 후보를 제안합니다. |
|
후보자는 1로 평가 된 후보보다 낫다. 디스펜서 관리자는 계속해서 후보를 제안합니다. |
|
후보자는 완벽한 적합합니다. 디스펜서 관리자는 후보 제안을 중지합니다. |
반환 값
메서드가 성공하면 반환 값이 S_OK. 그렇지 않으면 E_FAIL.
설명
fRequiresTransactionEnlistment가 FALSE이면 개체가 이 트랜잭션에서 이 리소스를 분배한 다음, 개체가 사용된 후 리소스를 해제했습니다(개체 수명이 끝날 때 명시적으로 또는 암시적으로). 동일한 트랜잭션의 두 번째 개체는 유사한 리소스를 요청하고 첫 번째 개체가 사용된 리소스를 고려합니다. 이 리소스는 이미 올바른 트랜잭션에 등록되어 있으므로 좋은 후보입니다.
특정 유형의 리소스를 트랜잭션당 한 번만 사용할 수 있는 경우 트랜잭션에서 이미 한 번 사용된 리소스는 false의 fRequiresTransactionEnlistment로 식별할 수 있으며 *pRating=0을 반환하여 추가 사용을 거부할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | comsvcs.h |