ITypeInfo::Invoke-Methode (oaidl.h)
Ruft eine Methode auf bzw. greift auf die Eigenschaft eines Objekts zu, die bzw. das die von der Typenbeschreibung beschriebene Schnittstelle implementiert.
Syntax
HRESULT Invoke(
[in] PVOID pvInstance,
[in] MEMBERID memid,
[in] WORD wFlags,
[in, out] DISPPARAMS *pDispParams,
[out] VARIANT *pVarResult,
[out] EXCEPINFO *pExcepInfo,
[out] UINT *puArgErr
);
Parameter
[in] pvInstance
Eine instance der Schnittstelle, die in dieser Typbeschreibung beschrieben wird.
[in] memid
Der Schnittstellenmember.
[in] wFlags
Flags, die den Kontext des Invoke-Aufrufs beschreiben.
[in, out] pDispParams
Ein Array von Argumenten, ein Array von DISPIDs für benannte Argumente und die Anzahl der Elemente in jedem Array.
[out] pVarResult
Das Ergebnis. Sollte NULL sein, wenn der Aufrufer kein Ergebnis erwartet. Wenn wFlags DISPATCH_PROPERTYPUT oder DISPATCH_PROPERTYPUTREF angibt, wird pVarResultis ignoriert.
[out] pExcepInfo
Eine Ausnahmeinformationsstruktur, die nur ausgefüllt wird, wenn DISP_E_EXCEPTION zurückgegeben wird. Wenn pExcepInfo bei der Eingabe NULL ist, wird nur ein HRESULT-Fehler zurückgegeben.
[out] puArgErr
Wenn Invoke DISP_E_TYPEMISMATCH zurückgibt, gibt puArgErr den Index (innerhalb von rgvarg) des Arguments mit einem falschen Typ an. Wenn mehr als ein Argument einen Fehler zurückgibt, gibt puArgErr nur das erste Argument mit einem Fehler an. Argumente in pDispParams->rgvarg werden in umgekehrter Reihenfolge angezeigt, sodass das erste Argument das mit dem höchsten Index im Array ist. Dieser Parameter darf nicht NULL sein.
Rückgabewert
Rückgabecode | Beschreibung |
---|---|
|
Erfolg. |
|
Mindestens eines der Argumente ist ungültig. |
|
Der aufgerufene Member hat einen Fehler HRESULT zurückgegeben. Wenn der Member IErrorInfo implementiert, sind Details im Fehlerobjekt verfügbar. Andernfalls enthält der pExcepInfo-Parameter Details. |
Jeder der IDispatch::Invoke-Fehler kann auch zurückgegeben werden.
Hinweise
Verwenden Sie die Funktion ITypeInfo::Invoke , um auf ein Element eines Objekts zuzugreifen, oder rufen Sie eine Methode auf, die die in dieser Typbeschreibung beschriebene Schnittstelle implementiert. Für Objekte, die die IDispatch-Schnittstelle unterstützen, können Sie Invoke verwenden, um IDispatch::Invoke zu implementieren.
ITypeInfo::Invoke verwendet einen Zeiger auf eine instance der -Klasse. Andernfalls sind die Parameter mit IDispatch::Invoke identisch, mit der Ausnahme, dass ITypeInfo::Invoke die Parameter refiid und lcid auslässt. Wenn ITypeInfo::Invoke aufgerufen wird, führt die aktionen aus, die von den IDispatch::Invoke-Parametern für die angegebene instance beschrieben werden.
Für Elemente der VTBL-Schnittstelle übergibt ITypeInfo::Invoke die LCID der Typinformationen in Parameter, die mit dem lcid-Attribut gekennzeichnet sind, und den zurückgegebenen Wert an das retval-Attribut.
Wenn die Typbeschreibung von einer anderen Typbeschreibung erbt, wird diese Funktion in der Basistypbeschreibung wiederholt, um das Element mit der angeforderten Member-ID zu finden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | oaidl.h |