Condividi tramite


Librerie com, DCOM e tipi

Com (Component Object Model) e Distributed Component Object Model (DCOM) usano chiamate rpc (Remote Procedure Call) 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. Costituisce il mezzo tramite cui 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 le funzionalità in diversi modi e tramite più interfacce.

Libreria dei tipi

Una libreria dei 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 dei tipi, un'applicazione o un browser può determinare quali interfacce supporta un oggetto e richiamare i metodi di interfaccia di un oggetto. Ciò può verificarsi anche se l'oggetto e le applicazioni client sono state scritte in linguaggi di programmazione diversi. L'ambiente di runtime COM/DCOM può anche usare una libreria dei tipi per fornire il marshalling automatico tra apartment, cross-process e cross-machine per le interfacce descritte nelle librerie dei tipi.

Caratteristiche di un'interfaccia

Le caratteristiche di un'interfaccia vengono definite in un file IDL (Interface Definition) e in un file di configurazione dell'applicazione (ACF) facoltativo:

  • Il file IDL specifica le caratteristiche delle interfacce dell'applicazione in transito, 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 effettuare il marshalling e trasmettere una struttura di dati complessa in un formato indipendente dal computer.

Per altre informazioni sui file IDL e ACF, vedere File IDL e ACF.

I file IDL e ACF sono script scritti in Microsoft Interface Definition Language (MIDL), ovvero l'implementazione e l'estensione Microsoft del linguaggio IDL (Interface Definition Language) di OSF-DCE. Le estensioni Microsoft per il linguaggio IDL consentono di creare interfacce COM e librerie dei 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 in linguaggio C, 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.

Un file di libreria dei tipi compilato (con estensione tlb) e un file di intestazione correlato. MIDL genera questi file quando rileva un'istruzionedella librerianel file IDL. Per informazioni generali sulle librerie dei tipi, vedere Contenuto di una libreria dei tipi, nella guida di riferimento per programmatori 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 nel file IDL sono presenti interfacce che non dispongono dell'attributooggetto. Per una panoramica dei file di stub e di intestazione, vedere Procedura di compilazione generale. Per informazioni più dettagliate, vedere File generati per un'interfaccia RPC.