Ho bisogno di integrare un codice legacy a 32 bit, per il quale non ho il codice sorgente, in un progetto in modo tale che possa essere chiamato da un assembly .NET a 64 bit. Il codice originale è implementato come un oggetto COM a 32 bit in una DLL. Windows non consente chiamate dirette da oggetti da 64 a 32 bit, quindi sono alla ricerca di ispirazione su come affrontare questa situazione.Interop da 64 a 32 bit - come?
Come si può accedere a un oggetto COM a 32 bit legacy da un assembly .NET a 64 bit?
AGGIORNAMENTO: Abbiamo scoperto che il componente COM era a sua volta un wrapper attorno ad ANSI C, su cui è stata creata l'origine originale. Siamo stati in grado di compilarlo in Visual Studio come una dll nativa a 64 bit e importarla in .NET - mi spiace spostare i goalposts!
Commento, poiché non l'ho fatto, ma è necessario assicurarsi di eseguire l'oggetto COM come server out-of-process. Se lo si carica come in-process, verrà eseguito come 64-bit, che fallirà. –