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