我正在尝试在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,但由于访问说明符(内部),因为我的项目在不同的命名空间中,所以我不能这样做。