Metodo ITypeInfo::Invoke (oaidl.h)
Richiama un metodo o accede a una proprietà di un oggetto, che implementa l'interfaccia descritta dalla descrizione del tipo.
Sintassi
HRESULT Invoke(
[in] PVOID pvInstance,
[in] MEMBERID memid,
[in] WORD wFlags,
[in, out] DISPPARAMS *pDispParams,
[out] VARIANT *pVarResult,
[out] EXCEPINFO *pExcepInfo,
[out] UINT *puArgErr
);
Parametri
[in] pvInstance
Istanza dell'interfaccia descritta da questa descrizione del tipo.
[in] memid
Membro dell'interfaccia.
[in] wFlags
Flag che descrivono il contesto della chiamata Invoke.
[in, out] pDispParams
Matrice di argomenti, matrice di DISPID per gli argomenti denominati e conteggi del numero di elementi in ogni matrice.
[out] pVarResult
Risultato. Deve essere Null se il chiamante non prevede alcun risultato. Se wFlags specifica DISPATCH_PROPERTYPUT o DISPATCH_PROPERTYPUTREF, pVarResultis viene ignorato.
[out] pExcepInfo
Struttura delle informazioni sulle eccezioni, compilata solo se viene restituito DISP_E_EXCEPTION. Se pExcepInfo è Null nell'input, verrà restituito solo un errore HRESULT.
[out] puArgErr
Se Invoke restituisce DISP_E_TYPEMISMATCH, puArgErr indica l'indice (all'interno di rgvarg) dell'argomento con tipo non corretto. Se più argomenti restituiscono un errore, puArgErr indica solo il primo argomento con un errore. Gli argomenti in pDispParams->rgvarg vengono visualizzati in ordine inverso, pertanto il primo argomento è quello con l'indice più alto nella matrice. Questo parametro non può essere null.
Valore restituito
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Uno o più argomenti non sono validi. |
|
Il membro richiamato ha restituito un errore HRESULT. Se il membro implementa IErrorInfo, i dettagli sono disponibili nell'oggetto error. In caso contrario, il parametro pExcepInfo contiene dettagli. |
Possono essere restituiti anche gli errori IDispatch::Invoke .
Commenti
Usare la funzione ITypeInfo::Invoke per accedere a un membro di un oggetto o richiamare un metodo che implementa l'interfaccia descritta da questa descrizione del tipo. Per gli oggetti che supportano l'interfaccia IDispatch , è possibile usare Invoke per implementare IDispatch::Invoke.
ITypeInfo::Invoke accetta un puntatore a un'istanza della classe . In caso contrario, i parametri sono uguali a IDispatch::Invoke, ad eccezione del fatto che ITypeInfo::Invoke omette i parametri refiid e lcid . Quando viene chiamato, ITypeInfo::Invoke esegue le azioni descritte dai parametri IDispatch::Invoke nell'istanza specificata.
Per i membri dell'interfaccia VTBL, ITypeInfo::Invoke passa l'LCID delle informazioni sul tipo in parametri contrassegnati con l'attributo lcid e il valore restituito nell'attributo retval.
Se la descrizione del tipo eredita da un'altra descrizione del tipo, questa funzione si ripete nella descrizione del tipo di base per trovare l'elemento con l'ID membro richiesto.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | oaidl.h |