Librerie COM, DCOM e Type
Component Object Model (COM) e Distributed Component Object Model (DCOM) usano chiamate di procedure remote (RPC) per consentire agli oggetti componente distribuiti di comunicare tra loro. Pertanto, un'interfaccia COM o DCOM definisce l'identità e le caratteristiche esterne di un oggetto COM. Forma i mezzi in base ai quali i client possono accedere ai metodi e ai dati di un oggetto. Con DCOM, questo accesso è possibile indipendentemente dal fatto che gli oggetti esistano nello stesso processo, processi diversi nello stesso computer o in computer diversi. Come per le interfacce client/server RPC, un oggetto COM o DCOM può esporre la sua funzionalità in diversi modi e tramite più interfacce.
Libreria dei tipi
Una libreria di tipi (con estensione tlb) è un file binario che archivia informazioni sulle proprietà e i metodi di un oggetto COM o DCOM in un modulo accessibile ad altre applicazioni in fase di esecuzione. Usando una libreria di tipi, un'applicazione o un browser può determinare quali interfacce supporta un oggetto e richiamare i metodi dell'interfaccia di un oggetto. Ciò può verificarsi anche se l'oggetto e le applicazioni client sono state scritte in diversi linguaggi di programmazione. L'ambiente di runtime COM/DCOM può anche usare una libreria di tipi per fornire un cross-apartment automatico, un processo incrociato e un marshalling tra computer per le interfacce descritte nelle librerie di tipi.
Caratteristiche di un'interfaccia
Si definiscono le caratteristiche di un'interfaccia in un file IDL (Interface Definition) e un file di configurazione dell'applicazione facoltativo (ACF):
- Il file IDL specifica le caratteristiche delle interfacce dell'applicazione sul filo, ovvero il modo in cui i dati devono essere trasmessi tra client e server o tra oggetti COM.
- Il file ACF specifica le caratteristiche dell'interfaccia, ad esempio handle di associazione, che riguardano solo l'ambiente operativo locale. Il file ACF può anche specificare come eseguire il marshalling e trasmettere una struttura di dati complessa in un formato indipendente dal computer.
Per altre informazioni sui file IDL e ACF, vedere IDL e ACF Files.
I file IDL e ACF sono script scritti in Microsoft Interface Definition Language (MIDL), ovvero l'implementazione e l'estensione Microsoft del linguaggio di definizione dell'interfaccia OSF-DCE (IDL). Le estensioni Microsoft al linguaggio IDL consentono di creare interfacce COM e librerie di tipi. Il compilatore, Midl.exe, usa questi script per generare stub e file di intestazione del linguaggio C, nonché file di libreria dei tipi.
Compilatore MIDL
A seconda del contenuto del file IDL, il compilatore MIDL genererà uno dei file seguenti.
Un file proxy/stub C-language, un file di identificatore di interfaccia, un file di dati DLL e un file di intestazione correlato per un'interfaccia COM personalizzata. Il compilatore MIDL genera questi file quando rileva l'attributo dell'oggetto in un elenco di attributi dell'interfaccia. Per informazioni più dettagliate su questi file, vedere File generati per un'interfaccia COM.
File di libreria dei tipi compilato (con estensione tlb) e file di intestazione correlati. MIDL genera questi file quando rileva un'istruzione di libreria nel file IDL. Per informazioni generali sulle librerie di tipi, vedere Contenuto di una libreria dei tipi, nella guida di riferimento del programmatore di automazione.
File stub del client e del server C/C++e file di intestazione correlati per un'interfaccia RPC. Questi file vengono generati quando sono presenti interfacce nel file IDL che non hanno l'attributo dell'oggetto . Per una panoramica dei file di stub e intestazione, vedere Procedura generale di compilazione. Per informazioni più dettagliate, vedere File generati per un'interfaccia RPC.