我一直在试验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构建中可能缺少(或类似的)头文件。
有没有人有什么建议,因为这似乎不是32Feet的问题,关于我应该在哪里和在哪里寻找/在哪里?
-编辑
我直接创建套接字也得到了同样的结果:
Socket s=新的Socket(AddressFamily.Irda,SocketType.Stream,ProtocolType.IP);
发布于 2009-09-17 12:53:22
听起来你的目标设备根本不支持IrDA。它不像缺少头文件那么简单,它在操作系统中缺少对它的实际支持。
您必须了解,Windows CE纯粹是模块化的,因此没有“标准”操作系统。原始设备制造商可能不包括IrDA支持(这是通过将SYSGEN_IRDA变量添加到Platform Builder中的OS设计来实现的)。解决这个问题的唯一方法是去OEM那里,让他们创建一个包含它的新操作系统映像。请注意,这可能不像为原始设备制造商添加SYSGEN_IRDA那么简单。他们可能还必须做一些OAL工作,以使驱动程序支持IR收发器(缺少对它的支持将是从操作系统中省略该组件的一个原因)。
https://stackoverflow.com/questions/1438094
复制相似问题