Estrutura FUNCDESC (oaidl.h)
Descreve uma função.
Sintaxe
typedef struct tagFUNCDESC {
MEMBERID memid;
SCODE *lprgscode;
ELEMDESC *lprgelemdescParam;
FUNCKIND funckind;
INVOKEKIND invkind;
CALLCONV callconv;
SHORT cParams;
SHORT cParamsOpt;
SHORT oVft;
SHORT cScodes;
ELEMDESC elemdescFunc;
WORD wFuncFlags;
} FUNCDESC, *LPFUNCDESC;
Membros
memid
A ID do membro da função.
lprgscode
O código do status.
lprgelemdescParam
Descrição do elemento .
funckind
Indica o tipo de função (virtual, estático ou somente expedição).
invkind
O tipo de invocação. Indica se essa é uma função de propriedade e, em caso afirmativo, qual tipo.
callconv
A convenção de chamada.
cParams
O número total de parâmetros.
cParamsOpt
O número de parâmetros opcionais.
oVft
Para FUNC_VIRTUAL, especifica o deslocamento no VTBL.
cScodes
O número de valores retornados possíveis.
elemdescFunc
O tipo de retorno de função.
wFuncFlags
Os sinalizadores de função. Consulte FUNCFLAGS.
Comentários
O campo cParams especifica o número total de parâmetros obrigatórios e opcionais.
O campo cParamsOpt especifica a forma de parâmetros opcionais aceitos pela função, da seguinte maneira:
- Um valor 0 especifica que não há suporte para argumentos opcionais.
- Um valor de –1 especifica que o último parâmetro do método é um ponteiro para uma matriz segura de variantes. Qualquer número de argumentos variantes maiores que cParams –1 deve ser empacotado pelo chamador em uma matriz segura e passado como o parâmetro final. Essa matriz de parâmetros opcionais deve ser liberada pelo chamador depois que o controle é retornado da chamada.
- Qualquer outro número indica que os últimos n parâmetros da função são variantes e não precisam ser especificados explicitamente pelo chamador. Os parâmetros não especificados devem ser preenchidos pelo compilador ou pelo interpretador como variantes do tipo VT_ERROR com o valor DISP_E_PARAMNOTFOUND.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | oaidl.h |