WINFORM中调用VC生成的DLL出现的问题,
调用方法时报无法找到入口,无法定位程序输入点CERT_HANDLE于动态链接库SiInterface.dll上
请问这是什么原因产生的错误,有谁可以帮我解决一下
非常感谢!

解决方案 »

  1.   

    如何在C#中使用C/C++写的DLL。举例说明:
    建立VC工程DllDemo,建立的时候选择MFC AppWizard(dll),选择Regular Dll using shared MFC Dll或者MFC Extension Dll。
    现在可以写一个函数代码,在DllDemo.cpp文件中添加这些代码。也可以使用新的文件添加代码;
    extern “C“ __declspec(dllexport) int Add(int a,int b)
    {
         AFX_MANAGE_STATE(AfxGetStaticModuleState());
         TRACE("Entering DllAdd\n");     return a+b;
    }编译工程。下面建立一个C#的WinForm程序测试DllDemo:
    启动vs.net IDE,建立新的C#工程,选择WinForm应用程序。
    在Form1.cs中添加引用:using System.Runtime.InteropServices;
    在pulic class Form1声明的开头添加代码:
    [DllImport("MotorControlDll.dll",EntryPoint="Add",ExactSpelling=false,CallingConvention=CallingConvention.Cdecl)]
    public static extern int Add(int a,int b);至于DllImport属性的用法可以察看MSDN,对于各项参数有详细的说明。最后还要记得将DllDemo生成的位于Debug文件中DllDemo.dll文件加入到C#的WinForm程序的bin目录下。
    这样就可以直接使用Add(int a,int b)函数。
      

  2.   

    因为VC的DLL不是我自己写的,是IC卡提供的几个DLL,我怎么也调用不了,
    不知道谁有做过啊
      

  3.   

    调用方法时报无法找到入口,无法定位程序输入点CERT_HANDLE于动态链接库SiInterface.dll上 
    请问这是什么原因产生的错误,有谁可以帮我解决一下 
    ======================================
    你用depends看看这个dll具体提供了哪些输出函数
      

  4.   

    depends这个工具谁有啊,可不可以发给我 [email protected]
      

  5.   

    无法加载 DLL“SiInterface.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。