COleDispatchDriver::InvokeHelper
Chiama il metodo o la proprietà dell'oggetto specificato da dwDispID, nel contesto specificato da wFlags.
void AFX_CDECL InvokeHelper(
DISPID dwDispID,
WORD wFlags,
VARTYPE vtRet,
void* pvRet,
const BYTE* pbParamInfo,
...
);
Parametri
dwDispID
Identifica il metodo o la proprietà da richiamare.wFlags
Flag che descrivono il contesto di chiamata a IDispatch::Invoke. . Per un elenco di valori possibili, vedere il parametro wFlags in IDispatch::Invoke in Windows SDK.vtRet
Specifica il tipo di valore restituito. Per i valori possibili, vedere la sezione relativa alle osservazioni.pvRet
L'indirizzo di una variabile che riceverà il valore della proprietà o il valore restituito. Deve corrispondere al tipo specificato da vtRet.pbParamInfo
Puntatore a una stringa con terminazione null di byte che specifica i tipi dei parametri dopo pbParamInfo....
Elenco di parametri variabile, i tipi specificati in pbParamInfo.
Note
Il parametro pbParamInfo specifica i tipi dei parametri passati al metodo o la proprietà. L'elenco di argomenti variabile è rappresentato da ... nella dichiarazione di sintassi.
I valori possibili per l'argomento vtRet derivano dall'enumerazione VARENUM. I valori possibili sono i seguenti:
Simbolo |
Tipo restituito |
---|---|
VT_EMPTY |
void |
VT_I2 |
short |
VT_I4 |
long |
VT_R4 |
float |
VT_R8 |
double |
VT_CY |
Il CY |
VT_DATE |
DATE |
VT_BSTR |
BSTR |
VT_DISPATCH |
LPDISPATCH |
VT_ERROR |
SCODE |
VT_BOOL |
BOOL |
VT_VARIANT |
VARIANT |
VT_UNKNOWN |
LPUNKNOWN |
L'argomento pbParamInfo è quella che richiede un elenco separato di costanti VTS_. Uno o più di questi valori, separati da spazi (non virgole, specificare l'elenco di parametri di funzione. i valori possibili sono elencati con la macro EVENT_CUSTOM.
Questa funzione converta i parametri ai valori VARIANTARG, quindi richiama il metodo IDispatch::Invoke. Se la chiamata a Invoke non riesce, la funzione genera un'eccezione. Se SCODE (codice di stato) restituito da IDispatch::Invoke è DISP_E_EXCEPTION, genera di questa funzione un oggetto COleException ; altrimenti generato COleDispatchException.
Per ulteriori informazioni, vedere VARIANTARG, Implementing the IDispatch Interface, IDispatch::Invokee Struttura dei codici di errore COM in Windows SDK.
Esempio
Vedere l'esempio relativo COleDispatchDriver::CreateDispatch.
Requisiti
Header: afxdisp.h