Condividi tramite


Attributi IDL

In genere, gestire un file IDL è opportuno che è necessario:

  • Conoscere la struttura e la sintassi di un file idl in grado di modificarlo.

  • Basarsi su una procedura guidata, che consente lascerebbe modificare alcuni aspetti del file .idl.

A questo punto, è possibile modificare il file IDL in un file di codice sorgente utilizzando gli attributi di Visual C++ IDL. In molti casi, gli attributi di Visual C++ IDL hanno lo stesso nome degli attributi di MIDL. Quando il nome di un attributo di Visual C++ IDL e un attributo di MIDL sono uguali, significa che inserire l'attributo di Visual C++ nel file di codice sorgente restituisce un file.IDL contenente il relativo attributo dell'omonimo MIDL. Tuttavia, un attributo di Visual C++ IDL non può fornire tutte le funzionalità di un attributo MIDL.

una volta non utilizzato con Attributi COM, Gli attributi IDL consentono di definire le interfacce. Quando il codice sorgente viene compilato, gli attributi vengono utilizzati per definire il file generato con estensione .idl. Una volta utilizzato con gli attributi COM in un progetto ATL, attributi di un IDL, ad esempio coclasse, codice del test da inserire nel progetto.

si noti che idl_quote consente di utilizzare i costrutti di MIDL non sono supportati nella versione corrente di Visual C++. Questo e altri attributi come importlib e includelib consentire di utilizzare i file esistenti idl in Visual C++ corrente di un progetto.

Attributo

Descrizione

cui aggregatable

indica che un controllo può essere aggregatoe da un altro controllo.

appobject

Identifica la coclasse come oggetto applicazione, associato a un'applicazione completa EXE e indica che le funzioni e le proprietà della coclasse vengono globalmente disponibili in questa libreria dei tipi.

async_uuid

Specifica il UUID che indica al compilatore MIDL per definire sia le versioni sincrone che asincrone di un'interfaccia COM.

bindable

Indica che la proprietà supporta l'associazione dati.

call_as

Abilita una funzione non utilizzabile in modalità remota da eseguire il mapping a una funzione remota.

case

utilizzato con switch_type attributo in un'unione.

coclasse

Definizione della classe dei punti in un file idl come coclasse.

Controllo

Specifica che il tipo definito dall'utente è un controllo.

cpp_quote

Genera la stringa specificata, senza i caratteri virgoletta, nel file di intestazione generato.

defaultbind

Indica la singola proprietà, associabile che rappresenta il metodo migliore per l'oggetto.

defaultcollelem

Utilizzato per l'ottimizzazione del codice di Visual Basic.

valore predefinito

Consente la specifica di un valore predefinito per un parametro facoltativo tipizzato.

default

Indica che una personalizzata o l'interfaccia dispatch definita all'interno di una coclasse rappresenta l'interfaccia predefinita di programmazione.

defaultvtable

Definisce un'interfaccia come interfaccia vtable predefinita per un controllo.

dispinterface

Posiziona un'interfaccia nel file IDL come interfaccia dispatch.

displaybind

Indica una proprietà che deve essere visualizzati come associabile.

dual

Posiziona un'interfaccia nel file IDL come interfaccia duale.

voce

Specifica una funzione o una costante esportata in un modulo identificando il punto di ingresso nella DLL.

first_is

Specifica l'indice del primo elemento di matrice da un flusso.

helpcontext

Specifica un ID di contesto che consente di visualizzare le informazioni utente su questo elemento nel file della Guida.

file di

Imposta il nome del file della Guida per una libreria dei tipi.

helpstringcontext

Specifica l'ID di un argomento della Guida in un file CHM o di .hlp.

helpstringdll

Specifica il nome della DLL da utilizzare per eseguire la ricerca di stringhe di documento (localizzazione).

helpstring

Consente di specificare la stringa di caratteri utilizzata per descrivere l'elemento cui è associata.

hidden

Indica che l'elemento esiste ma non deve essere visualizzata in un browser orientati a tramite.

idl_module

Specifica un punto di ingresso in una DLL.

idl_quote

Consente agli attributi di utilizzo o ai costrutti IDL non sono supportati nella versione corrente di Visual C++.

id

Specifica un DISPID per una funzione membro (una proprietà o un metodo, in un'interfaccia o dispinterface).

iid_is

Specifica l'IID dell'interfaccia COM a cui fa riferimento un puntatore a interfaccia.

immediatebind

Indica che il database verrà avvisati immediatamente di tutte le modifiche a una proprietà di un oggetto con associazione a dati.

importlib

Rende i tipi che sono già stati compilati in un'altra libreria dei tipi disponibile nella libreria dei tipi creata.

import

Specifica un altro IDL, .odl, o file di intestazione contenente le definizioni che si desidera fare riferimento nel file principale IDL.

importare

Specifica uno o più file di intestazione da includere nel file generato con estensione .idl.

includelib

Genera un file con estensione h o IDL da includere nel file generato con estensione .idl.

in

Indica che un parametro deve essere passato dalla routine chiamante alla routine chiamata.

last_is

Specifica l'indice dell'ultimo elemento di matrice da un flusso.

LCID

Consente di passare un identificatore delle impostazioni locali a una funzione.

length_is

Specifica il numero di elementi di matrice da un flusso.

concesso in licenza

Indica che la coclasse a cui è applicato è concesso in licenza e deve essere creata un'istanza utilizzando IClassFactory2.

local

Consente di utilizzare il compilatore MIDL come generatore di intestazione una volta utilizzato nell'intestazione dell'interfaccia. Quando viene utilizzato in una singola funzione, definisce una routine locale per il quale non stub viene generato.

max_is

definisce il valore massimo per un indice valido di matrice.

modulo

Definisce il blocco di libreria nel file IDL.

ms_union

Controllare l'allineamento della rappresentazione dei dati della rete di unioni nonencapsulated.

no_injected_text

Impedisce il compilatore di inserire il codice riportato di seguito all'utilizzo dell'attributo.

nonbrowsable

Indica che un membro di interfaccia non deve essere visualizzato in un Visualizzatore proprietà.

attribuire la non creabilità

Definisce un oggetto che non è possibile creare un'istanza propria.

non estensibile

specifica che IDispatch l'implementazione include solo le proprietà e i metodi elencati nella descrizione dell'interfaccia e non può essere estesa con i membri aggiuntivi in fase di esecuzione.

object

identifica un'interfaccia personalizzata; sinonimo con l'attributo personalizzato.

odl

identifica un'interfaccia come interfaccia (ODL) di ODL.

oleautomation

Indica che un'interfaccia è compatibile con l'automazione.

facoltativo

specifica un parametro facoltativo per una funzione membro.

out

Identifica i parametri del puntatore restituiti dalla routine chiamata alla routine chiamante (dal server al client).

pointer_default

Specifica l'attributo predefinito del puntatore per tutti i puntatori a eccezione dei puntatori di livello superiore che vengono visualizzati gli elenchi di parametri.

pragma

Genera la stringa specificata, senza i caratteri virgoletta, nel file generato con estensione .idl.

progid

specifica il ProgID per un oggetto COM.

propget

Specifica una funzione di accesso della proprietà (get).

propputref

Specifica una funzione di impostazione delle proprietà contenente un riferimento anziché un valore.

set

Specifica una funzione di impostazione delle proprietà.

stampante

definisce un puntatore come puntatore completo.

public

Garantisce che un typedef entrerà nella libreria dei tipi anche se non viene fatto riferimento nel file IDL.

intervallo

Specifica un intervallo di valori validi per gli argomenti o i campi i cui valori vengono impostati in fase di esecuzione.

readonly

Non consente l'assegnazione a una variabile.

ref

Identifica un puntatore di riferimento.

requestedit

indica che la proprietà supporta OnRequestEdit notifica.

restricted

Specifica che una raccolta, o il membro del modulo, di interfaccia, o di interfaccia dispatch non può essere chiamato in modo arbitrario.

retval

Definisce il parametro che riceve il valore restituito del membro.

size_is

Specifica la dimensione della memoria allocata per i puntatori con dimensioni, puntatori con dimensioni a puntatori con dimensioni e naturale o matrici multidimensionali.

source

Indica che un membro di una classe, una proprietà, o del metodo è un'origine eventi.

string

indica che l'unidimensionale char, wchar_t, bytein caso contrario, la matrice equivale al puntatore a una matrice deve essere considerato come stringa.

switch_is

Specifica l'espressione o identificatore che agisce come un'unione discriminante che seleziona un'unione.

switch_type

Identifica il tipo della variabile utilizzata come un'unione discriminante.

transmit_as

Indica al compilatore di associare un tipo interno, che le applicazioni client e server modifica, con un tipo di trasmissione.

uidefault

Indica che i membri di informazioni sul tipo è il membro predefinito per la visualizzazione nell'interfaccia utente.

univoco

specifica un puntatore univoco.

usesgetlasterror

Indica al chiamante che se c " è un errore durante la chiamata alla funzione, il chiamante può quindi chiamare GetLastError per recuperare il codice di errore.

uuid

Specifica l'ID univoco per una classe o l'interfaccia.

v1_enum

Ordina che il tipo enumerato specificato sia trasmesse come entità a 32 bit, anziché il valore predefinito di 16 bit.

vararg

Specifica che la funzione accetta un numero variabile di argomenti.

vi_progid

Specifica un form dell'versione-indipendente del ProgID.

wire_marshal

Specifica un tipo di dati che verrà utilizzato per la trasmissione anziché un tipo di dati specifico dell'applicazione.

Vedere anche

Concetti

Limiti degli attributi [redirect]

Altre risorse

Attributi per gruppo