Personalizzazione di wrapper standard

In questo argomento vengono descritte le procedure a cui attenersi per personalizzare i Runtime Callable Wrapper e i COM Callable Wrapper standard.

Runtime Callable Wrapper

Quando un client .NET attiva un oggetto COM, il runtime genera un'istanza del Runtime Callable Wrapper (RCW) per effettuare il wrapping del tipo COM. Come illustrato nella figura che segue, il runtime genera l'RWC utilizzando i metadati ottenuti dall'importazione di una libreria dei tipi COM. Il wrapper effettua il marshalling dei dati secondo le regole stabilite dal servizio di marshalling di interoperabilità.

Generazione dell'RCW e chiamate al metodo

Personalizzazione di wrapper standard

È possibile personalizzare un RCW in due modi diversi. Se si è in condizione di modificare l'origine del linguaggio di definizione dell'interfaccia (IDL, Interface Definition Language), si potrà applicare attributi ai file della libreria dei tipi e importare la libreria dei tipi. In alternativa, è possibile applicare attributi specifici dell'interoperabilità ai tipi importati e generare un nuovo assembly. Il supporto per la personalizzazione degli RCW standard è limitato da questi attributi. Per istruzioni, vedere Procedura: personalizzare Runtime Callable Wrapper.

COM Callable Wrapper

I COM Callable Wrapper (CCW) espongono gli oggetti .NET Framework a COM. Quando si compila un progetto gestito in una DLL di assembly, verranno automaticamente creati i metadati necessari per descrivere tutti i tipi dell'assembly. Il runtime utilizza tali metadati per generare un CCW ogni volta che un client COM attiva un oggetto gestito.

Per personalizzare un CCW, applicare attributi specifici dell'interoperabilità al proprio codice sorgente gestito e compilare tale origine in un assembly, come illustrato nella figura che segue. In questo esempio Tlbexp.exe converte i tipi gestiti in COM.

Generazione di un CCW e chiamate al metodo

Personalizzazione di wrapper standard

L'applicazione di attributi al codice consente di alterare l'interfaccia e il marshalling dei dati secondo quanto permesso dal servizio di marshalling di interoperabilità. È ad esempio possibile controllare il formato dei dati passati come argomento a un metodo. È anche possibile determinare quali tipi di un assembly esporre a COM.

Vedere anche

Attività

Procedura: personalizzare Runtime Callable Wrapper

Riferimenti

Tlbimp.exe (utilità di importazione della libreria dei tipi)

Ildasm.exe (disassemblatore MSIL)

Concetti

Wrapper COM

Runtime Callable Wrapper

COM Callable Wrapper

Applicazione di attributi di interoperabilità

Altre risorse

Riepilogo della conversione da libreria dei tipi ad assembly

Riepilogo della conversione da assembly a libreria dei tipi