Compartilhar via


Método IMetaDataImport::ResolveTypeRef (rometadataapi.h)

Resolve uma referência type representada pelo token TypeRef especificado.

Sintaxe

HRESULT ResolveTypeRef(
  [in]          mdTypeRef tkTypeRef,
  [in]          REFIID    riid,
  [out]         IUnknown  **ppIScope,
  [out, retval] mdTypeDef *ptkTypeDef
);

Parâmetros

[in] tkTypeRef

O token de metadados TypeRef para o qual retornar as informações de tipo referenciadas.

[in] riid

O IID da interface a ser retornada em ppIScope. Normalmente, isso seria IID_IMetaDataImport.

[out] ppIScope

Uma interface para o escopo do módulo no qual o tipo referenciado é definido.

[out, retval] ptkTypeDef

Um ponteiro para um token TypeDef que representa o tipo referenciado.

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Importante Não use esse método se vários domínios de aplicativo forem carregados. O método não respeita os limites de domínio do aplicativo. Se várias versões de um assembly forem carregadas e contiverem o mesmo tipo com o mesmo namespace, o método retornará o escopo do módulo do primeiro tipo encontrado.
 
O método ResolveTypeRef pesquisa a definição de tipo em outros módulos. Se a definição de tipo for encontrada, ResolveTypeRef retornará uma interface para esse escopo de módulo, bem como o token TypeDef para o tipo.

Se a referência de tipo a ser resolvida tiver um escopo de resolução de AssemblyRef, o método ResolveTypeRef pesquisa uma correspondência somente nos escopos de metadados que já foram abertos com chamadas para o método IMetaDataDispenser::OpenScope ou o método IMetaDataDispenser::OpenScopeOnMemory . Isso ocorre porque ResolveTypeRef não pode determinar apenas do escopo AssemblyRef em que no disco ou no cache de assembly global o assembly está armazenado.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho rometadataapi.h

Confira também

Imetadataimport