Compartilhar via


ITypeInfo

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa interface é geralmente usado para ler informações sobre objetos. Exemplo, uma ferramenta navegador objeto pode usar ITypeInfo Para extrair informações sobre as características e capacidades de objetos do tipo bibliotecas.

Digite informações interfaces servem para descrever as partes do aplicativo que pode ser chamado por clientes externos, rather than aqueles que podem ser usados internamente para compilar um aplicativo.

O ITypeInfo interface fornece acessar para o seguinte:

  • O conjunto de função descrições associado com o tipo. Para interfaces, este contém o conjunto de funções membro na interface.
  • O conjunto de dados membro descrições associado com o tipo. Para estruturas, este contém o conjunto de membros de tipo.
  • Os atributos gerais do tipo, such as se ele descreve uma estrutura, uma interface e SO on.

A descrição do tipo um IDispatch interface pode ser usado para implementar a interface.

Uma instância de ITypeInfo Fornece vários informações sobre o tipo de um objeto e é usado de diversas maneiras. Um compilador pode usar um ITypeInfo a compilação referências a membros de tipo. Um navegador interface tipo pode usá-lo para localizar informações sobre cada membro de tipo. Um IDispatch implementor pode usá-lo para fornecer delegação automática do IDispatch Chamadas para uma interface.

Tipo descrições

As informações associado com um objeto descrito por ITypeInfo Pode incluir

  • Um conjunto de funções
  • Um conjunto de dados membros
  • Vários atributos tipo

É essencialmente o mesmo que as informações descritas por um declaração de classe C++, que pode ser usado para definir as interfaces e estruturas, as well as qualquer combinação de funções e membros dados.

Interfaces além definições estrutura, a ITypeInfo interface é usado para descrever outros tipos, incluindo enumerações e aliases. Porque a interface para um arquivo C ou biblioteca é simplesmente um conjunto de funções e variável declarações, ITypeInfo Também pode ser usado para descrevê-los.

Informações tipo compreendem individual descrições tipo. Cada descrição tipo deve ter um do seguinte formulários.

Categoria Palavra-chave ODL Descrição

alias

typedef

Um alias para outro tipo.

enumeração

enum

Uma enumeração.

estrutura

estrutura

Uma estrutura.

união

união

Um item de dados único que pode ter um de uma GRUPO especificado de tipos.

módulo

módulo

Dados e funções não acessadas por meio de entradas tabela de função virtual (VTBL).

IDispatch interface

Dispinterface

IDispatch propriedades e métodos acessados através IDispatch::Invoke.

Interface OLE

interface

Funções membro OLE acessadas através de entradas VTBL.

interface dupla

Dual

Oferece suporte a ambos os VTBL ou IDispatch.

classe objeto componente

coclass

Classe um objeto componente. Especifica uma implementação de um ou mais interfaces OLE e um ou mais IDispatch Interfaces.

Observação

Todos os sinalizadores bit que não são usados especificamente devem ser definidos como zero para compatibilidade futura.

Alias

Um alias foi TypeKind = TKIND_ALIAS. Um alias é um vazio conjunto de funções, um vazio conjunto de dados membros e uma descrição tipo (localizada na TYPEATTR), que fornece o real (definição de tipotypedef) do alias.

Enumeração (instrução)

(Uma enumeraçãoenum) tem TypeKind = TKIND_ENUM. Uma enumeração é um vazio conjunto de funções e um conjunto de constante membros dados.

Estrutura (instrução)

(Uma estruturaestrutura) descrição tem TypeKind = TKIND_RECORD. Uma estrutura é um vazio conjunto de funções e um conjunto de por-membros dados instância.

União (instrução)

A união descrição tem TypeKind = TKIND_UNION. Uma união é um vazio conjunto de funções e um conjunto de por-instância dados membros, cada um deles com um deslocamento instância de zero.

Módulo (instrução)

A módulo Tem TypeKind = TKIND_MODULE. Um módulo é um conjunto de funções estáticos e um conjunto de dados estáticos membros.

Interface-compatíveis com OLE

Um interface definição foi TypeKind = TKIND_INTERFACE. Uma interface é um conjunto de funções virtuais puros e um vazio conjunto de dados membros. Se uma descrição tipo contém quaisquer funções virtuais, em seguida, o ponteiro para o VTBL é os primeiros 4 bytes da instância.

Informações de tipo totalmente descreve as funções membro no VTBL, incluindo nomes parâmetro tipos e tipos de retorno função. Ele pode herdar de não more than uma outra interface.

Com interfaces e dispinterfaces, todos os participantes devem têm nomes diferentes, exceto as funções acessador de propriedades. Para funções propriedade tenham o mesmo nome, o contexto da Ajuda e documentação seqüência de caracteres devem ser definidas somente para um das funções (porque eles definem a propriedade mesma conceitualmente).

Interface IDispatch

Eles incluem os objetos (TypeKind = TKIND_DISPATCH) que suporte o IDispatch interface com uma especificação dos métodos e distribuir dados membros (such as propriedades) com suporte por meio do objeto a Chamar implementação. Todos os membros do Dispinterface devem têm identificações diferentes, Except for as funções acessador de propriedades.

Interface dupla

Interfaces duplos têm dois descrições tipo diferente para a mesma interface.

  • A descrição tipo TKIND_INTERFACE descreve a interface como um padrão interface OLE Component Object Model (COM).
  • A descrição tipo TKIND_DISPATCH descreve a interface como um padrão interface de distribuição.

O LCID e retval Parâmetros e o HRESULT retornam tipos são removidos, e o tipo de retorno do membro é especificado para ser o mesmo tipo como o retval parâmetro.

Por padrão, a enumeração TYPEKIND para uma interface dupla é TKIND_INTERFACE. Ferramentas que BIND a interfaces deve verificar o tipo sinalizadores para TYPEFLAG_FDUAL.

Se este sinalizador for definido, a descrição tipo TKIND_DISPATCH será disponível por um chamar para ITypeInfo::GetRefTypeOfImplType Com um índice de – 1, seguido por um chamar para ITypeInfo::GetRefTypeInfo.

Classes de objeto componente

Esses objetos coclass (TypeKind = TKIND_COCLASS) suporte um conjunto de interfaces implementadas, que podem ser de TKIND_INTERFACE ou TKIND_DISPATCH.

Métodos

A seguinte tabela mostra os métodos para esta interface no ordem alfabética. Como todas as interfaces COM, essa interface herda os métodos para a IUnknown interface.

Método Descrição

ITypeInfo::AddressOfMember

Este método recupera os endereços de funções estáticas ou variáveis, tais como aquelas definidas em um dynamic-link library (DLL).

ITypeInfo::CreateInstance

Esse método cria uma nova instância de um tipo que descreve uma classe objeto componente (coclass).

ITypeInfo::GetContainingTypeLib

Este método recupera dois de biblioteca de tipos que contém uma descrição tipo específico e o índice de descrição de tipo de biblioteca de tipo.

ITypeInfo::GetDllEntry

Este método recupera uma descrição ou especificação de uma ponto de entrada para uma função em um dynamic-link library (DLL).

ITypeInfo::GetDocumentation

Este método recupera o seqüência de caracteres documentação, nome do completo arquivo da Ajuda Nome e caminho e o identificador de contexto para o tópico da Ajuda para uma descrição tipo especificado.

ITypeInfo::GetFuncDesc

Este método recupera o FUNCDESC estrutura que contém informações sobre uma função especificada.

ITypeInfo::GetIDsOfNames

Este método mapeia entre os nomes e identificadores de membros e parâmetros.

ITypeInfo::GetImplTypeFlags

Este método recupera o IMPLTYPEFLAGS Para uma interface.

ITypeInfo::GetMops

Este método recupera informações empacotamento.

ITypeInfo::GetNames

Este método recupera a variável com o identificador especificado membro, ou o nome dos nomes de função e parâmetro correspondente para o identificador função especificada.

ITypeInfo::GetRefTypeInfo

Este método recupera as descrições tipo relacionado por uma descrição tipo especificado.

ITypeInfo::GetRefTypeOfImplType

Este método recupera a descrição tipo de interface implementada tipos para uma classe de objeto componente (coclass) ou uma interface herdada.

ITypeInfo::GetTypeAttr

Este método recupera uma TYPEATTR estrutura que contém os atributos descrição tipo.

ITypeInfo::GetTypeComp

Este método recupera o ITypeComp interface para a descrição tipo, que permite que um compilador cliente para BIND a membros da descrição de tipo.

ITypeInfo::GetVarDesc

Este método recupera uma VARDESC estrutura que descreve a variável especificada.

ITypeInfo::Invoke

Este método chama um método ou acessa uma propriedade de um objeto que implementa a interface indicada por descrição de tipo.

ITypeInfo::ReleaseFuncDesc

Esse método libera um FUNCDESC Anteriormente retornado por GetFuncDesc.

ITypeInfo::ReleaseTypeAttr

Esse método libera um TYPEATTR Anteriormente retornado por GetTypeAttr.

ITypeInfo::ReleaseVarDesc

Esse método libera um VARDESC Anteriormente retornado por GetVarDesc.

Requisitos

Header oaidl.h, oaidl.idl
Library oleaut32.lib, uuid.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Automation Interfaces
FUNCDESC
IDispatch
IDispatch::Invoke
IMPLTYPEFLAGS
IUnknown
VARDESC