Frage

Ich bin mit dem VirtualBox api, dass Anwendungen COM auf Fenster. Wenn Sie ein 64-Bit-OS haben es die 64-Bit-Version installieren und die COM-Schnittstellen werden auf 64-Bit-Clients zugänglich sein, aber nicht auf 32-Bit-Einsen. Ich habe gehört, dass dies eine COM-Beschränkung ist, aber ich habe Möglichkeiten auf „veröffentlichen“ 32-Bit-Schnittstellen auf der Registrierung verwenden DLL32, können diesen COM-Server so 64-Bit-Prozesse nennen, aber ich kann die inversen nicht finden, 64 Bit Schnittstellen von 32 Bit Prozessen zugreifen.

Wenn ich nicht sehr klar Ich glaube, diese Person etwas erreichen will ähnlich: http://www.codeproject.com/Forums/1648/COM.aspx?fid=1648&df=90&mpp=25&sort=Position&select=1702805&tid=1702805

War es hilfreich?

Lösung

Im Prozess Thunk wird immer nur nur von höherer Bitness arbeitet einen senken, nicht den umgekehrt. Wenn Win32 herauskommt, kann ein 32-Bit-Prozess einen 16-Bit-DLL Thunk, aber es gab einfach keine Möglichkeit, ein 32-Bit-DLL in einen 16-Bit-Prozess thunked werden könnten. Dasselbe ist nun wahr, ein 32-Bit-DLL in einen 64-Bit-Prozess thunked werden können, aber es gibt keine Möglichkeit, ein 64-Bit-DLL in einen 32-Bit-Prozess thunked werden können (mit Ausnahme des WOW64 Emulator DLLs . Wow64.dll, wow64Win.dll und Wow64Cpu.dll)

Wenn Sie eine 64-Bit-COM In-Process-DLL laden möchten, müssen Sie eine Out-of-Process-64-Bit-Loader und Ihre 32-Bit-Anwendung kann mit dem geladenen kommunizieren und die erforderlichen Parameter für den Aufruf übergeben, und erhalten Sie das Ergebnis.

Für Out-of-Process-64-Bit-COM lokalen Servern müssen Sie die 32-Bit-Proxy-DLLs finden Sie unter Interprocess Communication zwischen 32-Bit- und 64-Bit-Anwendungen .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top