問題タブ [mobile-broadband-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Windows7モバイルブロードバンドAPI-例外なくクラッシュ
次のコードは、例外なく終了する前に終了します。
この行がクラッシュを引き起こしているようです-
なぜこれが発生するのでしょうか。モバイルブロードバンドAPI内で実際に何が起こっているのかを確認する方法はありますか?
c# - モバイルブロードバンドAPI:「ピンが必要です」という例外がありますが、ピンが設定されています
モバイルブロードバンドAPIを起動して実行しようとしています。ここにある手順を使用して、C#から使用しています。
問題があります。モデムデバイスがロックされている場合(つまり、PINが必要な場合)、プログラムでPINを設定して接続を継続したいのですが、後者は「PINが必要です」で失敗します。 PINを正しく設定しました。
モバイルブロードバンドAPIはIMbnPin
、ピンを設定するためのインターフェイスを提供しますが、これは非同期操作であるため、操作が完了したことを通知するOnEnterComplete
イベント(インターフェイスの一部)に登録する必要があります。IMbnPinEvents
これで十分だと思いましたが、そうではないようです。
以下のクラスは、問題を示す最小限の自己完結型のサンプルです。次のようなコンソールアプリケーションで使用できます。
(コンパイルするにはInterop dllも必要です。これはここにあります)
テストクラスには、EnterメソッドとOnEnterCompleteメソッドを調整するためのManualResetEventフィールドが含まれています。
Testメソッドでは、IMbnPinEventsをサブスクライブし、IMbnPinをインスタンス化し、(非同期)Enter
メソッドを呼び出し、呼び出しManualResetEvent.WaitOne
て現在のスレッドをブロックします。OnEnterCompleteでは、ピンが正しく設定されていることを確認してManualResetEvent
から、Testメソッドが実行を継続するように信号を送ることができます。その後すぐにTryToGetConnectionState()
通話を続けると、例外E_MBN_PIN_REQUIRED(0x80548210)が発生します。Console.ReadLine()を使用して「十分長く」待つと、すべてが正常に機能します。そのため、別のイベントを待つ必要があるように見えますが、どのイベントを見つけることができません。
何か案は?私は何が欠けていますか?
ip - LTEモデムが接続されているときにWindowsがIP接続を開くのを妨げるものは何ですか?
LTEモデムを接続すると、LTEネットワークへの接続プロセスの一部として、シグナリングトラフィックを伝送するためのデフォルトのEPSベアラが設定されます。このデフォルトのベアラは、トラフィックのシグナリングに適したトラフィックフローテンプレートを使用したIP接続です。この仕様では、ネットワークがデフォルトのEPSベアラのTFTを変更して、データを伝送できるようにすることもできます(TS 24.301 6.4.1.1、最後の文)。
したがって、ネットワークがデータを伝送するようにデフォルトのEPSベアラーを設定している場合(専用のEPSベアラーを作成していない場合)、私のテストでは、Windowsで接続を設定するまで、インターネット上での閲覧は許可されないことが示されています。従来の方法。たとえば、Win7ではモバイルブロードバンドAPI接続機能と呼ばれます。
ここに質問があります:適切なサービス品質のIP接続がすでに開いている場合、インターネットブラウジングを許可するためにWindowsはまだ何をしなければなりませんか?
助けてくれてありがとう。
c# - IConnectPoint Unadvise を使用して通知の受信を正しく登録解除する方法は?
Mobile Broadband APIのドキュメントには、次のように書かれています。
次の手順では、通知を登録する方法について説明します。
1. IMbnInterfaceManager > オブジェクトで QueryInterface を呼び出して、IConnectionPointContainer インターフェイスを取得します。
2.返されたインターフェイスで FindConnectionPoint を呼び出し、IID_IMbnPinEvents を riid に渡します。
3. 返された接続ポイントで Advise を呼び出し、IMbnPinEvents を pUnk に実装する > オブジェクト上の IUnknown インターフェイスへのポインターを渡します。通知は、手順 2 で返された接続ポイントで Unadvise を呼び出すことによって終了できます。
最初の 3 つの手順を実行するコードがいくつかあり、MBN イベントに正常に登録されます。ただし、これらのイベントの受信から一時的に登録を解除する必要があります。
そのため、COM 例外で終了した最初の試行を 2 回行った後、次のコードを試しました (try/catch ブロックを使用)。
このコードを実行すると、MBN からエラーや例外が発生しません。ただし、イベント ハンドラーは登録解除されません。ログ ファイルで、MBN イベントが到着して処理されていることを確認できます。
私が欠けているものを誰か教えてもらえますか?ありがとうございました。
c# - C# 読み取り Windows モバイル ブロードバンド接続プロパティ
まず、背景は次のとおりです。
現在、完全な Windows 7 タブレットで実行されている Windows フォーム アプリケーション (C#、.NET Framework 3.5 で記述) があり、データ接続に使用される 3G モジュールが組み込まれています。データ接続は、Windows で通常のモバイル ブロードバンド接続として構成され (したがって、Windows が接続自体を管理します)、接続は [コントロール パネル] > [ネットワークとインターネット] > [ネットワーク接続] に表示され、正常に動作します。アプリケーションは、私たちのウェブサービスでインターネット。将来のある時点で、別のデバイス (完全な Windows 8 ベースのタブレット) に移行する予定です。
次に、このモバイル ブロードバンド接続の接続状態を読み取る必要があります。つまり、信号強度とキャリア名 (Vodafone UK など) を取得します。Windows 7 SDK のモバイル ブロードバンド API 部分を使用してこれを行う方法を見つけました (こことここを参照)。ただし、Windows 8 では動作しないか、少なくともここにあるデバイス。
.NET フレームワークを使用してモバイル ブロードバンド接続のプロパティを読み取る一般的な方法はありますか?
または、現在使用している Windows 7 のようなモバイル ブロードバンド API を含む Windows 8 SDK を知っている人はいますか?
前もって感謝します。
更新 - これはさまざまな Win 7 / Win 8 デバイスで動作するようになりました。Lenovo デバイスでさえ正常に動作しています。回答として、メインビットのサンプルコード (接続ステータスの読み取り、接続の構成、SIM ステータスの確認) を投稿します。コードは少し長すぎて質問に入ることができず、うっとうしいです。
c# - Windows 8 Mobilebroadband CarrierControlSchema のブランディングによる NetworkFlyout のロゴの変更
CarrierControlSchema を介して DeviceMetaDataFile を介して設定されているネットワーク フライアウトのロゴを変更しようとしました。現在、動作中のプロビジョニング XML ファイルがあり、ブランド タグを追加しました。
名前の変更は問題ありません。変更はすぐに表示されます。しかし、ロゴを定義するためにいくつかの方法を試しましたが、私のロゴはまったく変更されていません.
今私は持っています:
この例では、すべて赤色で塗りつぶされたプレーンな 32x32 の png 画像を使用しようとしました。
私を助けて、私が間違っていることを教えてください。
どうもありがとうございました。
c# - C# を使用したモバイル ブロードバンド API Windows 7 および Windows 8 で苦労しています。何をインストールすればよいかわかりません。
モバイル ブロードバンド API を制御する必要があるアプリケーションがあります。
デバイスに API を正しくインストールするのに苦労しています。
私はこのドキュメントの指示に従っています:
手順をこのstackoverflowの説明と組み合わせようとしています
C# 読み取り Windows モバイル ブロードバンド接続プロパティ
Visual Studio から V7.0/lib の mbnapi.tlb への参照を配置することができました。obj/debug フォルダーに interop.mbnapi.tlb が自動的に作成されます。
「SIMが挿入され、動作/アクティベートされていることを確認」しようとすると。=>私のコードは次の行でクラッシュします
Windows 8で実行すると、mbnInfMgrInterface == null
ドキュメントの要件に記載されているように、Windows 8に同じSDKをインストールしようとしましたが、SDKはWindows 7のみを対象としています...
実行して、Windows 8にmbnapiを登録しようとしました
運がない…
これを機能させるにはどうすればよいですか?
誰もこれについて経験がありますか?
編集。Windows 7(私の開発マシン)では、「デバイスの準備ができていません」というメッセージが表示されます。モバイルブロードバンドがないため、これは正常だと思います.Windows 8ではありますが、モバイルインターフェイスマネージャーはnullです= > mbnInfMgrInterface == null。
ありがとうございました、