Compartilhar via


Método ICreateTypeInfo::AddFuncDesc (oaidl.h)

Adiciona uma descrição de função à descrição do tipo.

Sintaxe

HRESULT AddFuncDesc(
  [in] UINT     index,
  [in] FUNCDESC *pFuncDesc
);

Parâmetros

[in] index

O índice do novo FUNCDESC nas informações de tipo.

[in] pFuncDesc

Uma estrutura FUNCDESC que descreve a função. O campo bstrIDLInfo no FUNCDESC deve ser nulo.

Retornar valor

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK
Êxito.
E_INVALIDARG
Um ou mais dos argumentos não são válidos.
E_OUTOFMEMORY
Memória insuficiente para concluir a operação.
E_ACCESSDENIED
Não é possível gravar no destino.
STG_E_INSUFFICIENTMEMORY
Memória insuficiente para concluir a operação.
TYPE_E_WRONGTYPEKIND
Tipos incompatíveis.

Comentários

O índice especifica a ordem das funções dentro das informações de tipo. A primeira função tem um índice de zero. Se for especificado um índice que exceda um menor que o número de funções nas informações de tipo, um erro será retornado. Chamar essa função não passa a propriedade da estrutura FUNCDESC para ICreateTypeInfo. Portanto, o chamador ainda deve desaloque a estrutura FUNCDESC.

O campo VTBL (tabela de funções virtuais) passado do FUNCDESC será ignorado se o TYPEKIND for TKIND_MODULE ou se oVft for -1 ou 0. Esse atributo é definido quando ICreateTypeInfo::LayOut é chamado. O valor oVft será usado se o TYPEKIND for TKIND_DISPATCH e uma interface dupla ou se o TYPEKIND for TKIND_INTERFACE. Se o oVft for usado, ele deverá ser um múltiplo do sizeof(VOID *) no computador, caso contrário, a função falhará e E_INVALIDARG será retornado como HRESULT.

A função AddFuncDesc usa os campos memid (identificador de membro) passados em cada FUNCDESC para classes com TYPEKIND = TKIND_DISPATCH ou TKIND_INTERFACE. Se as IDs de membro estiverem definidas como MEMBERID_NIL, AddFuncDesc atribuirá IDs de membro às funções. Caso contrário, os campos de ID de membro dentro de cada FUNCDESC serão ignorados.

Todos os campos HREFTYPE na estrutura FUNCDESC devem ter sido produzidos pela mesma instância de ITypeInfo para a qual AddFuncDesc é chamado.

As funções do acessador get e put para a mesma propriedade devem ter o mesmo DISPID (identificador de expedição).

Requisitos

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

Confira também

Icreatetypeinfo