다음을 통해 공유


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

함수 멤버 ID입니다.

lprgscode

상태 코드입니다.

lprgelemdescParam

요소에 대한 설명입니다.

funckind

함수 유형(가상, 정적 또는 디스패치 전용)을 나타냅니다.

invkind

호출 형식입니다. 이 함수가 속성 함수인지 여부를 나타내고, 그렇다면 어떤 형식인지를 나타냅니다.

callconv

호출 규칙.

cParams

총 매개 변수 수입니다.

cParamsOpt

선택적 매개 변수의 수입니다.

oVft

FUNC_VIRTUAL VTBL의 오프셋을 지정합니다.

cScodes

가능한 반환 값의 수입니다.

elemdescFunc

함수 반환 형식입니다.

wFuncFlags

함수 플래그입니다. FUNCFLAGS를 참조하세요.

설명

cParams 필드는 필수 및 선택적 매개 변수의 총 수를 지정합니다.

cParamsOpt 필드는 다음과 같이 함수에서 허용하는 선택적 매개 변수의 형식을 지정합니다.

  • 값 0은 선택적 인수가 지원되지 않음을 지정합니다.
  • 값 –1은 메서드의 마지막 매개 변수가 안전한 변형 배열에 대한 포인터임을 지정합니다. cParams –1보다 큰 변형 인수는 호출자가 안전한 배열로 패키징하고 최종 매개 변수로 전달해야 합니다. 이 선택적 매개 변수 배열은 호출에서 컨트롤이 반환된 후 호출자가 해제해야 합니다.
  • 다른 숫자는 함수의 마지막 n 매개 변수가 변형이며 호출자가 명시적으로 지정할 필요가 없음을 나타냅니다. 지정되지 않은 매개 변수는 컴파일러 또는 인터프리터에서 형식의 변형으로 채워야 합니다VT_ERROR 값이 DISP_E_PARAMNOTFOUND.

요구 사항

요구 사항
헤더 oaidl.h