Metodo ICreateTypeInfo::AddFuncDesc (oaidl.h)

Aggiunge una descrizione della funzione alla descrizione del tipo.

Sintassi

HRESULT AddFuncDesc(
  [in] UINT     index,
  [in] FUNCDESC *pFuncDesc
);

Parametri

[in] index

Indice del nuovo FUNCDESC nelle informazioni sul tipo.

[in] pFuncDesc

Struttura FUNCDESC che descrive la funzione. Il campo bstrIDLInfo nel FUNCDESC deve essere null.

Valore restituito

Questo metodo può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Operazione completata.
E_INVALIDARG
Uno o più argomenti non sono validi.
E_OUTOFMEMORY
Memoria insufficiente per completare l'operazione.
E_ACCESSDENIED
Impossibile scrivere nella destinazione.
STG_E_INSUFFICIENTMEMORY
Memoria insufficiente per completare l'operazione.
TYPE_E_WRONGTYPEKIND
Tipo non corrispondente.

Commenti

L'indice specifica l'ordine delle funzioni all'interno delle informazioni sul tipo. La prima funzione ha un indice pari a zero. Se viene specificato un indice che supera un numero inferiore al numero di funzioni nelle informazioni sul tipo, viene restituito un errore. La chiamata a questa funzione non passa la proprietà della struttura FUNCDESC a ICreateTypeInfo. Pertanto, il chiamante deve comunque deassegnare la struttura FUNCDESC.

Il campo della tabella delle funzioni virtuali passata (VTBL) (oVft) del FUNCDESC viene ignorato se typeKIND è TKIND_MODULE o se oVft è -1 o 0. Questo attributo viene impostato quando viene chiamato ICreateTypeInfo::LayOut . Il valore oVft viene usato se TYPEKIND è TKIND_DISPATCH e un'interfaccia doppia o se TYPEKIND è TKIND_INTERFACE. Se viene usato oVft, deve essere un multiplo delle dimensioniof(VOID *) nel computer, in caso contrario, la funzione ha esito negativo e E_INVALIDARG viene restituita come HRESULT.

La funzione AddFuncDesc usa i campi dell'identificatore membro passato (memid) all'interno di ogni FUNCDESC per le classi con TYPEKIND = TKIND_DISPATCH o TKIND_INTERFACE. Se gli ID membro sono impostati su MEMBERID_NIL, AddFuncDesc assegna id membro alle funzioni. In caso contrario, i campi ID membro all'interno di ogni FUNCDESC vengono ignorati.

Qualsiasi campo HREFTYPE nella struttura FUNCDESC deve essere stato prodotto dalla stessa istanza di ITypeInfo per cui viene chiamato AddFuncDesc .

Le funzioni di accesso get e put per la stessa proprietà devono avere lo stesso identificatore di invio (DISPID).

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione oaidl.h

Vedi anche

ICreateTypeInfo