Структура FUNCDESC (oaidl.h)
Описывает функцию.
Синтаксис
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;
Члены
memid
Идентификатор члена функции.
lprgscode
Код состояния.
lprgelemdescParam
Описание элемента.
funckind
Указывает тип функции (виртуальная, статическая или диспетчерская).
invkind
Тип вызова. Указывает, является ли эта функция свойством, и если да, то какой тип.
callconv
Соглашение о вызовах.
cParams
Общее количество параметров.
cParamsOpt
Количество необязательных параметров.
oVft
Для FUNC_VIRTUAL задает смещение в ФАЙЛЕ ПАРАМЕТРОВ.
cScodes
Количество возможных возвращаемых значений.
elemdescFunc
Возвращаемый тип функции.
wFuncFlags
Флаги функции. См . раздел FUNCFLAGS.
Комментарии
Поле cParams указывает общее количество обязательных и необязательных параметров.
В поле cParamsOpt указывается форма необязательных параметров, принимаемых функцией, следующим образом:
- Значение 0 указывает, что необязательные аргументы не поддерживаются.
- Значение –1 указывает, что последний параметр метода является указателем на безопасный массив вариантов. Любое число аргументов типа variant, превышающее cParams –1, должно быть упаковано вызывающим элементом в безопасный массив и передано в качестве окончательного параметра. Этот массив необязательных параметров должен быть освобожден вызывающим после возврата элемента управления из вызова.
- Любое другое число указывает, что последние n параметров функции являются вариантами и не должны указываться вызывающим объектом явным образом. Оставшиеся параметры должны быть заполнены компилятором или интерпретатором как варианты типа VT_ERROR со значением DISP_E_PARAMNOTFOUND.
Требования
Требование | Значение |
---|---|
Заголовок | oaidl.h |