Attributi in base all'utilizzo

Questo argomento elenca gli attributi in base agli elementi del linguaggio C++ a cui si applicano.

Se un attributo precede un elemento non incluso nell'ambito dell'attributo, il blocco di attributi viene considerato come commento.

Attributo Descrizione
Attributi di modulo Si applica all'attributo module.
Attributi di interfaccia Si applica alla parola chiave C++ __interface .
Attributi di classe Si applica alla parola chiave C++.
Attributi di metodo Si applica ai metodi in una classe, una coclasse o un'interfaccia.
Attributi di parametro Si applica ai parametri di un metodo in una classe o interfaccia.
Attributi di membro dati Si applica ai membri dati in una classe, una coclasse o un'interfaccia.
Attributi Typedef, Enum, Union e Struct Si applica alle parole chiave C++.
Attributi di matrice Si applica a matrici o SAFEARRAYs.
Attributi autonomi Funziona più come una riga di codice, ma non opera su una parola chiave C++. Le istruzioni degli attributi autonomi richiedono un punto e virgola alla fine della riga.
Attributi personalizzati Consente all'utente di estendere i metadati.

Attributi di modulo

L'attributo seguente può essere applicato solo all'attributo module.

Attributo Descrizione
helpstringdll Specifica il nome della DLL da usare per eseguire la ricerca di stringhe del documento (localizzazione).

Attributi di interfaccia

Gli attributi seguenti si applicano alla parola chiave C++ interface (o __interface).

Attributo Descrizione
async_uuid Specifica l'UUID che indirizza il compilatore MIDL a definire versioni sincrone e asincrone di un'interfaccia COM.
custom Consente di definire attributi personalizzati.
dispinterface Inserisce un'interfaccia nel file con estensione idl come interfaccia di dispatch.
dual Inserisce un'interfaccia nel file con estensione idl come interfaccia doppia.
export Fa sì che una struttura di dati venga inserita nel file con estensione idl.
helpcontext Specifica un ID di contesto che consente all'utente di visualizzare informazioni su questo elemento nel file della Guida.
helpfile Imposta il nome del file della Guida per una libreria dei tipi.
helpstring Specifica una stringa di caratteri usata per descrivere l'elemento a cui viene applicata.
helpstringcontext Specifica l'ID di un argomento della Guida in un file con estensione hlp o chm.
helpstringdll Specifica il nome della DLL da usare per eseguire la ricerca di stringhe del documento (localizzazione).
hidden Indica che l'elemento esiste ma non deve essere visualizzato in un browser orientato all'utente.
library_block Inserisce un costrutto all'interno del blocco di libreria del file idl.
local Consente di usare il compilatore MIDL come generatore di intestazioni quando viene usato nell'intestazione dell'interfaccia. Se usato in una singola funzione, designa una routine locale per cui non vengono generati stub.
nonextensible Specifica che l'implementazione IDispatch include solo le proprietà e i metodi elencati nella descrizione dell'interfaccia e non può essere esteso con membri aggiuntivi in fase di esecuzione. Questo attributo è valido solo in un'interfaccia doppia .
odl Identifica un'interfaccia come interfaccia ODL (Object Description Language).
object Identifica un'interfaccia personalizzata.
oleautomation Indica che un'interfaccia è compatibile con Automazione.
pointer_default Specifica l'attributo puntatore predefinito per tutti i puntatori, ad eccezione dei puntatori di primo livello visualizzati negli elenchi di parametri.
ptr Definisce un puntatore come puntatore completo.
restricted Definisce i membri della libreria che non possono essere chiamati in modo arbitrario.
uuid Fornisce l'ID univoco per la libreria

È necessario osservare queste regole per definire un'interfaccia:

  • La convenzione di chiamata predefinita è __stdcall.

  • Se non ne viene fornito uno, viene fornito un GUID.

  • Non sono consentiti metodi di overload.

Quando non si specifica l'attributo uuid e si usa lo stesso nome di interfaccia in progetti di attributo diversi, viene generato lo stesso GUID.

Vedi anche

Attributi di C++ per COM e .NET
Attributi per gruppo
Riferimento alfabetico agli attributi