سؤال

أنا أستخدم واجهة برمجة تطبيقات VirtualBox التي تستخدم COM على Windows. إذا كان لديك نظام تشغيل 64 بت ، فسيتم تثبيت إصدار 64 بت وستكون واجهات COM متاحة لعملاء 64 بت ولكن ليس إلى 32 بت. قيل لي إن هذا قيود كوم لكنني رأيت طرق لاستخدام DLL32 "لنشر" واجهات 32 بت على السجل ، يمكن لعمليات 64 بت استدعاء هذه الخوادم COM ، لكن لا يمكنني العثور على العكس ، حيث وصلت إلى 64 بت من واجهات من 32 بت.

إذا لم أكن واضحًا جدًا ، أعتقد أن هذا الشخص يريد تحقيق شيء مشابه: http://www.codeproject.com/forums/1648/com.aspx؟fid=1648&df=90&mpp=25&sort=position&select=1702805&tid=1702805

هل كانت مفيدة؟

المحلول

تحت المعالجة الصيد لن يعمل دائمًا إلا فقط من العودة العليا إلى الخفض ، وليس العكس. عندما خرجت Win32 ، يمكن لعملية 32 بتات أن تتمكن من الحصول على DLL 16 بت ، ولكن لم يكن هناك أي وسيلة يمكن أن يتم إدخال DLL 32 بت في عملية 16 بت. نفس الشيء صحيح الآن ، يمكن أن يتم وضع DLL 32 بت في عملية 64 بت ، ولكن لا توجد وسيلة يمكن أن يتم إدخال DLL 64 بت في عملية 32 بت (باستثناء WOW64 المحاكي DLLS: wow64.dll ، wow64win.dll و wow64cpu.dll).

إذا كنت ترغب في تحميل COM 64 بت في العملية ، فستحتاج .

للاطلاع على خوادم محلية 64 بت 64 بت ، ستحتاج التواصل بين التطبيقات بين 32 بت و 64 بت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top