在WinForm中使用Dll

时间:2018-04-11 07:23:07

标签: winforms dll

我正在尝试在winForm中使用DLL NI4882。 dll中有命名空间" NationalInstruments.NI4882.Internal;"一个类存在的地方" GpidDll"这是内部和密封的类。

  

这是类" GpidDll"的代码片段。在NI4882 DLL中

 [SuppressUnmanagedCodeSecurity]
    internal sealed class GpibDll
    {
       [DllImport("ni4882.dll", EntryPoint="ibfind",CallingConvention=CallingConvention.StdCall)]
       private static extern IntPtr _ibfind(string udname);


       public static GpibHandle ibfind(string udname);
    }

现在我想从winform调用ibfind。但是我收到错误"当我使用

时无法找到入口点"
  

[的DllImport(@" C:\项目\ NationalInstruments.NI4882.dll&#34 ;,   EntryPoint =" ibfind",CallingConvention = CallingConvention.StdCall)]

     

private static extern IntPtr _ibfind(string udname);

调用功能

public void ibfind_Ext(string udname, ref IntPtr ud)
{
    ud = _ibfind(udname);
}

我还想到了其他选项,比如创建GpidDll的对象然后调用ibfind,但由于访问说明符(内部),因为我的项目在不同的命名空间中,所以我不能这样做。

0 个答案:

没有答案