当API仅支持32位调用时,如何从x64应用程序调用x86 API函数。 CreateStream
的示例 <DllImport("avifil32.dll")> _
Public Shared Function AVIFileCreateStream(ByVal pfile As IntPtr, ByRef ppavi As IntPtr, ByRef ptr_streaminfo As MyAVISTREAMINFO) As Integer
End Function
场景1 :x64计算机+编译为 x86 应用程序:avifil32.dll名为 SUCCESSFULLY
方案2: x64计算机+编译为 x64 应用程序:avifil32.dll名为 WITH ERROR
问题是,应用程序也在使用x64硬件驱动程序,我需要编译为x64。使用这个avifil32.dll的任何解决方法都是绝对好的。
答案 0 :(得分:0)
您需要向解决方案添加新项目并将API移入其中。在项目属性中,您可以指定它将始终编译为x86。右键单击项目&gt;属性&gt;编译&gt;目标CPU&gt;设置为x86。此设置对于解决方案的配置(调试/发布)和平台(AnyCPU / x64 / x86)设置是唯一的。确保为您使用的任何设置。
这将允许您将主项目编译为x64,将API项目编译为x86。