ITypeInfo::Invoke 메서드(oaidl.h)
메서드를 호출하거나 개체의 속성에 액세스하여 형식 설명에서 설명한 인터페이스를 구현합니다.
구문
HRESULT Invoke(
[in] PVOID pvInstance,
[in] MEMBERID memid,
[in] WORD wFlags,
[in, out] DISPPARAMS *pDispParams,
[out] VARIANT *pVarResult,
[out] EXCEPINFO *pExcepInfo,
[out] UINT *puArgErr
);
매개 변수
[in] pvInstance
이 형식 설명에 설명된 인터페이스의 instance.
[in] memid
인터페이스 멤버입니다.
[in] wFlags
Invoke 호출의 컨텍스트를 설명하는 플래그입니다.
[in, out] pDispParams
인수 배열, 명명된 인수에 대한 DISPID 배열 및 각 배열의 요소 수입니다.
[out] pVarResult
결과입니다. 호출자가 결과를 기대하지 않는 경우 null이어야 합니다. wFlags가 DISPATCH_PROPERTYPUT 또는 DISPATCH_PROPERTYPUTREF 지정하면 pVarResultis는 무시됩니다.
[out] pExcepInfo
DISP_E_EXCEPTION 반환되는 경우에만 채워지는 예외 정보 구조체입니다. 입력 시 pExcepInfo가 null이면 HRESULT 오류만 반환됩니다.
[out] puArgErr
Invoke가 DISP_E_TYPEMISMATCH 반환하는 경우 puArgErr 는 잘못된 형식의 인수의 인덱스( rgvarg 내)를 나타냅니다. 둘 이상의 인수가 오류를 반환하는 경우 puArgErr 는 오류가 있는 첫 번째 인수만 나타냅니다. pDispParams->rgvarg의 인수는 역순으로 나타나므로 첫 번째 인수는 배열에서 가장 높은 인덱스를 갖는 인수입니다. 이 매개 변수는 null일 수 없습니다.
반환 값
반환 코드 | 설명 |
---|---|
|
성공. |
|
하나 이상의 인수가 잘못되었습니다. |
|
호출되는 멤버가 HRESULT 오류를 반환했습니다. 멤버가 IErrorInfo를 구현하는 경우 오류 개체에서 세부 정보를 사용할 수 있습니다. 그렇지 않으면 pExcepInfo 매개 변수에 세부 정보가 포함됩니다. |
IDispatch::Invoke 오류도 반환될 수 있습니다.
설명
ITypeInfo::Invoke 함수를 사용하여 개체의 멤버에 액세스하거나 이 형식 설명에 설명된 인터페이스를 구현하는 메서드를 호출합니다. IDispatch 인터페이스를 지원하는 개체의 경우 Invoke를 사용하여 IDispatch::Invoke를 구현할 수 있습니다.
ITypeInfo::Invoke는 클래스의 instance 대한 포인터를 사용합니다. 그렇지 않으면 해당 매개 변수는 ITypeInfo::Invoke가 refiid 및 lcid 매개 변수를 생략한다는 점을 제외하고 IDispatch::Invoke와 동일합니다. 호출되면 ITypeInfo::Invoke는 지정된 instance IDispatch::Invoke 매개 변수에 설명된 작업을 수행합니다.
VTBL 인터페이스 멤버의 경우 ITypeInfo::Invoke 는 형식 정보의 LCID를 lcid 특성으로 태그가 지정된 매개 변수에 전달하고 반환된 값을 retval 특성에 전달합니다.
형식 설명이 다른 형식 설명에서 상속되는 경우 이 함수는 기본 형식 설명을 재귀하여 요청된 멤버 ID가 있는 항목을 찾습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | oaidl.h |