다음을 통해 공유


IROTData::GetComparisonData 메서드(objidl.h)

모니커에서 다른 모니커와 같은지 모니커를 테스트하는 데 사용할 수 있는 데이터를 검색합니다.

구문

HRESULT GetComparisonData(
  [out] byte  *pbData,
  [in]  ULONG cbMax,
  [out] ULONG *pcbData
);

매개 변수

[out] pbData

비교 데이터를 수신하는 버퍼에 대한 포인터입니다.

[in] cbMax

pbData에 지정된 버퍼의 길이입니다.

[out] pcbData

비교 데이터의 길이를 수신하는 변수에 대한 포인터입니다.

반환 값

이 메서드는 E_OUTOFMEMORY 및 S_OK 표준 반환 값을 반환할 수 있습니다.

설명

GetComparisonData 메서드는 주로 ROT(실행 중인 개체 테이블)에서 호출됩니다. 메서드에서 반환된 비교 데이터는 다른 모니커에서 반환된 비교 데이터에 대해 이진 같음을 테스트합니다. pcbData 매개 변수를 사용하면 ROT가 검색된 데이터의 끝을 찾을 수 있습니다.

구현자에 대한 참고 사항

반환하는 비교 데이터는 모니커를 고유하게 식별해야 하지만 가능한 한 짧아야 합니다. 비교 데이터에는 모니커의 내부 상태와 모니커의 CLSID에 대한 정보가 포함되어야 합니다. 예를 들어 파일 모니커의 비교 데이터에는 모니커 내에 저장된 경로 이름과 파일 모니커 구현의 CLSID가 포함됩니다. 이렇게 하면 유사한 상태 정보를 저장하지만 서로 다른 모니커 클래스의 인스턴스인 두 모니커를 구분할 수 있습니다.

모니커의 비교 데이터는 길이가 2048바이트일 수 없습니다. 복합 모니커의 경우 모든 구성 요소에 대한 비교 데이터의 총 길이는 2048바이트를 초과할 수 없습니다. 따라서 모니커가 복합 모니커 내의 구성 요소일 수 있는 경우 반환하는 비교 데이터는 2048바이트보다 훨씬 작아야 합니다.

비교 데이터가 cbMax 매개 변수에 지정된 값보다 긴 경우 오류를 반환해야 합니다. 복합 모니커의 구성 요소에서 GetComparisonData 를 호출하면 cbMax 값이 순서대로 각 모니커에 대해 더 작아집니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 objidl.h

추가 정보

IROTData