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 |
---|---|
|
Êxito. |
|
Um ou mais dos argumentos não são válidos. |
|
Memória insuficiente para concluir a operação. |
|
Não é possível gravar no destino. |
|
Memória insuficiente para concluir a operação. |
|
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 |