Compartilhar via


Método IROTData::GetComparisonData (objidl.h)

Recupera dados de um moniker que podem ser usados para testar o moniker quanto à igualdade em relação a outro moniker.

Sintaxe

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

Parâmetros

[out] pbData

Um ponteiro para um buffer que recebe os dados de comparação.

[in] cbMax

O comprimento do buffer especificado em pbData.

[out] pcbData

Um ponteiro para uma variável que recebe o comprimento dos dados de comparação.

Retornar valor

Esse método pode retornar os valores retornados padrão E_OUTOFMEMORY e S_OK.

Comentários

O método GetComparisonData é chamado principalmente pela ROT (tabela de objetos em execução). Os dados de comparação retornados pelo método são testados quanto à igualdade binária em relação aos dados de comparação retornados por outro moniker. O parâmetro pcbData permite que o ROT localize o final dos dados recuperados.

Observações aos implementadores

Os dados de comparação retornados devem identificar exclusivamente o moniker, enquanto ainda são o mais curtos possível. Os dados de comparação devem incluir informações sobre o estado interno do moniker, bem como o CLSID do moniker. Por exemplo, os dados de comparação de um moniker de arquivo incluiriam o nome do caminho armazenado dentro do moniker, bem como o CLSID da implementação do moniker de arquivo. Isso possibilita distinguir dois monikers que armazenam informações de estado semelhantes, mas são instâncias de classes de moniker diferentes.

Os dados de comparação de um moniker não podem exceder 2.048 bytes de comprimento. Para monikers compostos, o comprimento total dos dados de comparação para todos os seus componentes não pode exceder 2048 bytes; consequentemente, se o moniker puder ser um componente dentro de um moniker composto, os dados de comparação retornados deverão ser significativamente menores que 2048 bytes.

Se os dados de comparação forem maiores que o valor especificado pelo parâmetro cbMax , você deverá retornar um erro. Observe que quando GetComparisonData é chamado nos componentes de um moniker composto, o valor de cbMax se torna menor para cada moniker em sequência.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho objidl.h

Confira também

Irotdata