我在该类中有一个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)
这可能是您的问题,以下步骤可能会有所帮助。
此问题是 URLMON.dll 已知问题的神秘表现。KB945701 - http://support.microsoft.com/default.aspx?scid=kb;EN-US;945701
我们执行了以下修复,解决了该问题:
注意 如果 FEATURE_IGNORE_ZONES_INITIALIZATION_FAILURE_KB945701 子项不存在,则必须手动创建它
https://forums.iis.net/t/1148764.aspx?灾难性+失败+异常+来自+HRESULT+0x8000FFFF+E_UNEXPECTED+
| 归档时间: |
|
| 查看次数: |
402 次 |
| 最近记录: |