COleDispatchDriver::InvokeHelper

Ruft die Objektmethode oder eigenschaft angegeben durch dwDispID, im Kontext auf, der von wFlags angegeben wird.

void AFX_CDECL InvokeHelper(
   DISPID dwDispID,
   WORD wFlags,
   VARTYPE vtRet,
   void* pvRet,
   const BYTE* pbParamInfo,
   ... 
);

Parameter

  • dwDispID
    Identifiziert die aufzurufenden Methode oder Eigenschaft.

  • wFlags
    Flags, die den Kontext des Aufrufs zu IDispatch::Invoke beschreiben..Eine Liste der möglichen Werten, finden Sie im wFlags-Parameter in IDispatch::Invoke in Windows SDK.

  • vtRet
    Gibt den Typ des Rückgabewerts an.Für mögliche Werte finden Sie in den Hinweisen.

  • pvRet
    Adresse der Variablen, die den Eigenschaftswert oder den Rückgabewert empfängt.Sie muss dem Typ entsprechen, der von vtRet angegeben wird.

  • pbParamInfo
    Zeiger auf eine auf NULL endende Zeichenfolge von Bytes die Typen der Parameter nach pbParamInfo angibt.

  • ...
    Variable Liste von Parametern, von Typen in pbParamInfo angegeben.

Hinweise

Der pbParamInfo-Parameter gibt die Typen der Parameter an, die an die Methode oder die Eigenschaft übergeben werden.Die variable Liste mit Argumenten wird durch ... in der Syntaxdeklaration dargestellt.

Mögliche Werte für das vtRet-Argument werden aus der Enumeration VARENUM entnommen.Folgende Werte sind möglich:

Symbol

Rückgabetyp

VT_EMPTY

void

VT_I2

short

VT_I4

long

VT_R4

float

VT_R8

double

VT_CY

CY

VT_DATE

DATE

VT_BSTR

BSTR

VT_DISPATCH

LPDISPATCH

VT_ERROR

SCODE

VT_BOOL

BOOL

VT_VARIANT

VARIANT

VT_UNKNOWN

LPUNKNOWN

Das pbParamInfo-Argument ist eine durch Leerzeichen getrennte Liste von VTS_ Konstanten.Eine oder mehrere dieser Werte, getrennt durch Leerzeichen (nicht durch Kommas), gibt die Parameterliste der Funktion an.Mögliche Werte werden mit dem EVENT_CUSTOM-Makro aufgeführt.

Diese Funktion konvertiert die Parameter zu VARIANTARG-Werten, wird die IDispatch::Invoke-Methode auf.Wenn der Aufruf Invoke fehlschlägt, löst diese Funktion eine Ausnahme aus.Wenn SCODE (Statuscode zurückgegeben) durch IDispatch::InvokeDISP_E_EXCEPTION ist, löst diese Funktion ein COleException-Objekt; andernfalls löst es COleDispatchException aus.

Weitere Informationen finden Sie unter VARIANTARG, Implementing the IDispatch Interface, IDispatch::Invoke und Struktur von COM-Fehlercodes in Windows SDK.

Beispiel

Im Beispiel für COleDispatchDriver::CreateDispatch.

Anforderungen

Header: afxdisp.h

Siehe auch

Referenz

COleDispatchDriver-Klasse

Hierarchien-Diagramm

COleExceptions-Klasse

COleDispatchExceptions-Klasse