Condividi tramite


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.

Valore Significato
DISPATCH_METHOD
L'accesso al membro viene eseguito come metodo. In caso di ambiguità, è possibile impostare sia questo flag che il flag DISPATCH_PROPERTYGET.
DISPATCH_PROPERTYGET
Il membro viene recuperato come proprietà o membro dati.
DISPATCH_PROPERTYPUT
Il membro viene modificato come proprietà o membro dati.
DISPATCH_PROPERTYPUTREF
Il membro viene modificato utilizzando un'assegnazione di riferimento, anziché un'assegnazione di valore. Questo flag è valido solo quando la proprietà accetta un riferimento a un oggetto .

[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
S_OK
Operazione completata.
E_INVALIDARG
Uno o più argomenti non sono validi.
DISP_E_EXCEPTION
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

Vedi anche

Itypeinfo