使用32Feet Library的WindowsCE IrDA AddressFamilyNotSupported Exception

时间:2009-09-17 10:54:06

标签: c# compact-framework windows-ce

我一直在试验32Feet库,通过编写一个小型演示应用程序,支持使用C#和.NetCF来使用IrDA。

在WindowsCE 4.2设备上,此应用程序运行正常,但是当我在WinCE 5设备上尝试时,我在调用时遇到套接字异常:

new IrDAClient() 

例外是10047:AddressFamilyNotSupported。

我已经完成了一些谷歌搜索,出现的是这个帖子http://www.dotnetmonster.com/Uwe/Forum.aspx/dotnet-compact-framework/16047/IrDAClient-SocketException-ErrorCode-10047的多个帖子,这似乎表明WinCE 5版本中的头文件可能会丢失(或类似的东西)。 / p>

有没有人有任何建议,因为这似乎不是32Feet的问题,我应该在哪里寻找/在什么?

--- ---编辑

我也直接创建套接字:

Socket s = new Socket(AddressFamily.Irda,SocketType.Stream,ProtocolType.IP);

1 个答案:

答案 0 :(得分:0)

听起来您的目标设备不支持IrDA。它不像缺少的头文件那么简单,它缺少在操作系统中对它的实际支持。

您必须了解Windows CE是纯模块化的,因此没有“标准”操作系统。 OEM可能不包括IrDA支持(通过将SYSGEN_IRDA变量添加到Platform Builder中的OS Design来完成)。解决此问题的唯一方法是转到OEM并要求他们创建包含它的新操作系统映像。请注意,它可能不仅仅是为OEM添加SYSGEN_IRDA。他们可能还需要做一些OAL工作才能让驱动程序支持IR收发器(缺乏对它的支持将是从操作系统中省略该组件的原因)。