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.

Wert Bedeutung
DISPATCH_METHOD
Auf den Member wird als Methode zugegriffen. Bei Mehrdeutigkeit kann sowohl dieses Flag als auch das DISPATCH_PROPERTYGET-Flag festgelegt werden.
DISPATCH_PROPERTYGET
Der Member wird als Eigenschaft oder Datenmember abgerufen.
DISPATCH_PROPERTYPUT
Das Element wird als Eigenschaft oder Datenmember geändert.
DISPATCH_PROPERTYPUTREF
Das Element wird mithilfe einer Verweiszuweisung anstelle einer Wertzuweisung geändert. Dieses Flag ist nur gültig, wenn die -Eigenschaft einen Verweis auf ein -Objekt akzeptiert.

[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
S_OK
Erfolg.
E_INVALIDARG
Mindestens eines der Argumente ist ungültig.
DISP_E_EXCEPTION
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

Weitere Informationen

Itypeinfo