對cdc mbim裝置的資訊擷取和操作

來源:互聯網
上載者:User

標籤:c#   vb.net   powershell   3g訊號強度   

筆者最近參與研發的一個產品裡使用到了cdc mbim數據機,需求方要求能夠正常在產品裡顯示mbim的訊號強度,由於該裝置是以網卡形式存在於系統中的,並不同於傳統的以串口形式接入的適配器形式,所以這裡並無法使用對串口發送AT+CSQ的方式取得訊號強度。


通過尋找MSDN,發現:win8裡增加了一個類Windows.Networking,但遺憾的是這個類只能在metro應用裡使用,而我們的產品還是傳統風格的,所以這個類是不符合需求的。

(PS:每當有問題尋找資料的時候都先想用Google,可現在,Google壓根打不開了,而百度壓根是個廢物,昨天也是頭腦抽了風,在BING裡搜尋了下,竟然找到了需要的東西。。。在這裡鄙視一下!)


BING裡尋找到時候,在MSDN上找到這麼一個mbnapi的庫,(參考:http://msdn.microsoft.com/en-us/library/windows/desktop/dd323166(v=vs.85).aspx )

可惜的是俺對C++僅懂個皮毛,還無法看懂這個說明,幸運的時強大的BING帶著我又找到了一個interop.mbnapi.dll的檔案,這個dll是將上述的mbnapi.h的檔案封裝成的。這麼一來就能夠滿足我的要求了。


也不說了,直接上代碼吧:

VB.NET的

    Private Class NetWorkAdapter        'mbnapi的說明:http://msdn.microsoft.com/en-us/library/windows/desktop/dd323166(v=vs.85).aspx         Public Function GetSignal(guid As System.Guid) As Integer            Dim mbnInfMgr As New MbnInterfaceManager            Dim infMgr As IMbnInterfaceManager = DirectCast(mbnInfMgr, IMbnInterfaceManager)            'string interfaceid = "{A9D0DFBC-C083-4EDE-B1FE-E7FC07116ACA}";            Dim interfaceid As String = guid.ToString            Try                Dim inf As IMbnInterface = infMgr.GetInterface(interfaceid)                'inf[0].InterfaceID;                'IMbnRadio radio = (IMbnRadio)inf;                Dim Signal As IMbnSignal = DirectCast(inf, IMbnSignal)                GetSignal = Signal.GetSignalStrength()            Catch ex As Exception                GetSignal = -1 '-1表明是發生了錯誤,意味著並不支援cdc mbim裝置            End Try        End Function    End Class

本來My Code是C#的,但VS裡感覺封裝COM類C#沒有VB.NET方便,所以我將C#代碼重寫成了VB.Net的,若是需要C#的請自己去找工具轉換。。。

上邊的代碼擷取訊號強度是依據本地串連的guid,在這裡附上尋找網路連接的guid的方法:

1、開啟CMD或是powershell,推薦powershell(CMD介面太小了,複製的時候太麻煩)

2、輸入getmac /v /s 127.0.0.1

3、輸出的列表就是當前系統的所有網路連接(就是在本地串連檔案夾裡顯示的),其中傳輸名稱中的guid形式的字串就是這個網路連接的guid值


好了,我就只提供這麼多,因為我們的產品裡只需要這個不需要操作,操作的話請參見api的說明文檔,我連同api檔案一起打包上傳到csdn。。。

:http://download.csdn.net/detail/robake/8320631




對cdc mbim裝置的資訊擷取和操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.