小编Dol*_*olu的帖子

如何将值传递给此方法?

我在该类中有一个dll以下方法

 [MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
    bool SetIPAddress([MarshalAs(UnmanagedType.BStr)] ref string lpszIPAddress, int dwPortNumber, int dwPassWord);
Run Code Online (Sandbox Code Playgroud)

如何将值传递给此方法:

public FP_CLOCKLib._DFP_CLOCK   ff = new FP_CLOCKLib.FP_CLOCK();
Run Code Online (Sandbox Code Playgroud)

从C#访问OCX库时,拒绝创建类似“灾难性故障”的实例

bool status = ff.SetIPAddress(ref ip, 5005, 0);
Run Code Online (Sandbox Code Playgroud)

它抛出错误

System.Runtime.InteropServices.COMException(0x8000FFFF):灾难性故障(来自HRESULT的异常:0x8000FFFF(E_UNEXPECTED))位于System.RuntimeType.ForwardCallToInvokeMember(String memberName,BindingFlags标志,对象目标,Int32 [] aWrapperTypes,MessageDatab_gDataData)中。 FP_CLOCKClass.SetIPAddress(String&lpszIPAddress,Int32 dwPortNumber,Int32 dwPassWord)

c# asp.net

5
推荐指数
1
解决办法
402
查看次数

标签 统计

asp.net ×1

c# ×1