2012-02-06 31 views
0

當通過調用GetAllNetworkInterfaces():OpenNetCf自衛隊沒有返回所有適配器

INetworkInterface[] rgni = WirelessZeroConfigNetworkInterface.GetAllNetworkInterfaces(); 

我只取回一個單一適配器後,RNDISFN1,具有鏈路本地地址(169.254 ....) 。
我懷疑發生了什麼不好的事情導致所有的適配器不能在數組中填充;在調試器下,當我斷火的功能,我看到:

A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll 
A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll 
A first chance exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll 
A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in CSharpSample.exe 
A first chance exception of type 'System.MissingMethodException' occurred in OpenNETCF.Net.dll 
A first chance exception of type 'OpenNETCF.Net.NetworkInformation.NetworkInformationException' occurred in OpenNETCF.Net.dll 

需要明確的是,這樣做的最終目標是讓無線配置文件的列表,並有在它們之間切換的能力。

現在,有沒有人看到GetAllNetworkInterfaces()不返回所有適配器的情況?我在Windows Mobile 6下使用版本OpenNetCF SDF v2.3。

+1

這是什麼類型的硬件?如果* not *通過ActiveSync連接時運行相同的代碼,結果如何改變? – ctacke 2012-02-06 19:26:14

+0

克里斯 - 好點; ActiveSync禁用了收音機。如果我強行打開收音機,我會在列表中看到適配器。可悲的是,OpenNetCF(以及我相信,Win API的),看到這個適配器爲以太網;我無法將它投射到WirelessZeroConfigNetworkInterface或WirelessNetworkInterface。 – 2012-02-06 19:37:10

+0

@Chris:這是在Socket Mobile 650上運行的。關於我的次要評論(爲什麼我將它看作以太網),我還沒有將最新的Socket服務包應用到本機。之後,適配器可能會將自己宣傳爲WZC。 – 2012-02-06 19:45:16

回答

3

事實上,您看到單個適配器(並且可以通過名稱得知)表明您處於搖籃狀態。 ActiveSync在其所有榮耀中關閉了所有其他無線電,因此不會出現其他無線電。在沒有託管的情況下運行代碼,您可能會看到您的WiFi(以及其他任何適配器)出現。