MB 低レベル UICC アクセス
概要
モバイル ブロードバンド インターフェイス モデル リビジョン 1.0 (MBIM1) では、ホスト デバイスと携帯電話データ モデム間の OEM および IHV に依存しないインターフェイスを定義します。
MBIM1 機能には UICC スマート カードが含まれており、そのデータと内部状態の一部にアクセスできます。 ただし、スマート カードには、MBIM インターフェイスで定義されている機能を超える追加機能が含まれる場合があります。 これらの追加機能には、近距離通信に基づくモバイル支払いソリューションのセキュア要素のサポートや、UICC プロファイル全体のリモート プロビジョニングのサポートが含まれます。
モバイル ブロードバンド対応 Windows デバイスでは、無線インターフェイス レイヤー (RIL) インターフェイスに加えて、MBIM インターフェイスが使用されます。 RIL が提供する機能の 1 つは、UICC への低レベル アクセスのためのインターフェイスです。 このトピックでは、MBIM インターフェイスでのこの追加機能について説明する、MBIM への一連の Microsoft 拡張機能について説明します。
Microsoft 拡張機能は、一連のデバイス サービス コマンド (Set と Query の両方) と通知で構成されます。 これらの拡張機能には、デバイス サービス ストリームの新しい使用は含まれません。
MBIM サービスと CID 値
[サービス名] | UUID | UUID 値 |
---|---|---|
Microsoft 低レベル UICC アクセス | UUID_MS_UICC_LOW_LEVEL | C2F6588E-F037-4BC9-8665-F4D44BD09367 |
次のテーブルでは、各 CID のコマンド コード、および CID が Set、Query、または Event (通知) 要求をサポートするかどうかを特定しています。 パラメーター、データ構造、および通知の詳細については、このトピック内の CID ごとの個別セクションを参照してください。
CID | コマンド コード | Set | クエリ | Notify |
---|---|---|---|---|
MBIM_CID_MS_UICC_ATR | 1 | N | 年 | N |
MBIM_CID_MS_UICC_OPEN_CHANNEL | 2 | 年 | N | N |
MBIM_CID_MS_UICC_CLOSE_CHANNEL | 3 | 年 | N | N |
MBIM_CID_MS_UICC_APDU) | 4 | 年 | N | N |
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY | 5 | 年 | 年 | N |
MBIM_CID_MS_UICC_RESET | 6 | 年 | 年 | N |
状態コード
MBIM ステータス コードは、MBIM 標準のセクション 9.4.5 で定義されています。 さらに、次の追加のエラー状態コードが定義されています。
状態コード | 値 (16進数) | 説明 |
---|---|---|
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS | 87430001 | 論理チャンネルが UICC で使用できないため、論理チャンネルが正常に開かれませんでした (論理チャンネルがサポートされていないか、すべてのチャンネルが使用中です)。 |
MBIM_STATUS_MS_SELECT_FAILED | 87430002 | SELECT が失敗したため、論理チャンネルを開けませんでした。 |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | 87430003 | 論理チャンネル番号が無効です (MBIM_CID_MS_UICC_OPEN_CHANNEL によって開かれませんでした)。 |
MBIM_SUBSCRIBER_READY_STATE
Type | 値 | 説明 |
---|---|---|
MBIMSubscriberReadyStateNoEsimProfile | 7 | カードは準備ができていますが、有効なプロファイルはありません。 |
UICC の応答と状態
UICC は、文字ベースまたはレコードベースのインターフェイス、またはその両方を実装する場合があります。 特別のメカニズムは異なりますが、結果として、UICC は 2 つの状態バイト (SW1 と SW2 という名前) と応答 (空の場合があります) で各コマンドに応答します。 通常の成功状態は 90 00 で示されます。 ただし、UICC がカード アプリケーション ツールキットをサポートしていて、UICC がプロアクティブ コマンドをターミナルに送信する場合、正常な返し値は状態 91 XX (XX が異なります) で示されます。 MBIM 機能やターミナルは、他の UICC オペレーション中に受信したプロアクティブ コマンド (FETCH を UICC に送信する、プロアクティブ コマンドを処理する、または MBIM_CID_STK_PAC によりホストに送信する) を処理するのと同じように、このプロアクティブ コマンドを処理します。 MBIM ホストは、MBIM_CID_MS_UICC_OPEN_CHANNEL や MBIM_CID_MS_UICC_APDU を送信する場合、90 00 と 91 XX の両方を通常の状態と見なします。
コマンドは、256 バイトを超える応答を返せる必要があります。 このメカニズムは、ISO/IEC 7816-4:2013 標準のセクション 5.1.3 で説明されています。 この場合、カードは 90 00 ではなく 61 XX の SW1 SW2 ステータス ワードを返します。XX は残りバイトの数か、00 (残りが 256 バイト以上の場合) です。 モデムは、すべてのデータが受信されるまで、同じクラス バイトを持つ GET RESPONSE を繰り返し発行する必要があります。 これは、最終状態ワード 90 00 で示されます。 シーケンスは、特定の論理チャンネル内で中断されない必要があります。 追加の APDU はモデムで処理され、ホストに透過的となります。 ホストで処理される場合、APDU のシーケンス中に他の APDU がカードを非同期的に参照できる保証はありません。
IHVRIL との比較
IHVRIL 仕様のセクション 5.2.3.3.10 から 5.2.3.3.14 では、この仕様が基づく同様のインターフェイスが定義されています。 相違点には以下が含まれます。
- RIL インターフェイスは、セキュアなメッセージングを指定する方法を提供しません。 APDU を交換する MBIM コマンドは、これを明示的なパラメーターとして指定します。
- RIL インターフェイスは、APDU 内のクラス バイトの解釈を明確に定義しません。 MBIM 仕様では、ホストから送信されるクラス バイトが存在する必要があるものの使用されないことが示されています (代わりに、MBIM 機能がこのバイトを構築します)。
- RIL インターフェイスは別の機能を使用してグループ内のすべての UICC チャンネルを閉じますが、MBIM インターフェイスでは、1 つの CID に対するバリアント引数でこれを実現します。
- MBIM エラー状態と UICC 状態 (SW1 SW2) の関係は、RIL エラーと UICC 状態の関係よりも明確に定義されています。
- MBIM インターフェイスは、新しい論理チャンネルの割り当てエラーと、指定したアプリケーションを SELECT するエラーを区別します。
- MBIM インターフェイスを使用すると、カードに送信すべきモデム ターミナル機能オブジェクトの送信が許可されます。
MBIM_CID_MS_UICC_ATR
初期応答情報 (ATR) は、リセットが実行された後に UICC によって送信されるバイトの最初の文字列です。 サポートする論理チャンネルの数など、カードの機能について伝えます。 MBIM 機能は、UICC から受信したときに ATR を保存する必要があります。 その後、ホストは MBIM_CID_MS_UICC_ATR コマンドを使用して ATR を取得できます。
パラメーター
Type | Set | クエリ | 通知 |
---|---|---|---|
コマンド | 適用なし | Empty | 適用なし |
回答 | 適用なし | MBIM_MS_ATR_INFO | 適用なし |
クエリ
Query メッセージの InformationBuffer が空です。
Set
該当なし。
回答
MBIM_COMMAND_DONE の InformationBuffer には、この機能にアタッチされている UICC のリセットへの答えを伝える次の MBIM_MS_ATR_INFO 構造体が含まれています。
MBIM_MS_ATR_INFO
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | AtrSize | SIZE(0..33) | AtrData の長さ。 |
4 | 4 | AtrOffset | OFFSET | この構造体の始まりから計算された、ATR データを含む AtrData というバイト配列へのオフセット (バイト単位)。 |
8 | AtrSize | DataBuffer | DATABUFFER | AtrData バイト配列。 |
無承諾イベント
該当なし。
状態コード
次の状態コードが適用されます。
状態コード | 説明 |
---|---|
MBIM_STATUS_SUCCESS | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_BUSY | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_FAILURE | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_NO_DEVICE_SUPPORT | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_SIM_NOT_INSERTED | UICC が見つからないため、UICC オペレーションを実行できません。 |
MBIM_STATUS_BAD_SIM | UICC がエラー状態であるため、UICC オペレーションを実行できません。 |
MBIM_STATUS_NOT_INITIALIZED | UICC がまだ完全に初期化されていないため、UICC オペレーションを実行できません。 |
MBIM_CID_MS_UICC_OPEN_CHANNEL
ホストは、MBIM_CID_MS_UICC_OPEN_CHANNEL コマンドを使用して、機能により UICC カードで新しい論理チャンネルが開かれ、指定された UICC アプリケーション (アプリケーション ID で指定) を選択するように要求します。
機能は、一連の UICC コマンドを使用して、この MBIM コマンドを実行します。
- この機能は、ETSI TS 102 221 技術仕様のセクション 11.1.17 で説明されているように、MANAGE CHANNEL コマンドを UICC に送信して、新しい論理チャンネルを作成します。 このコマンドが失敗した場合、機能は SW1 SW2 で MBIM_STATUS_MS_NO_LOGICAL_CHANNELS 状態を返し、それ以上のアクションを実行しません。
- MANAGE CHANNEL コマンドが成功すると、UICC は新しい論理チャンネルのチャンネル番号を機能に報告します。 機能は、ETSI TS 102 221 技術仕様のセクション 11.1.1 で説明されているように、P1 = 04 の SELECT [by name] コマンドを送信します。 このオペレーションが失敗した場合、機能は論理チャンネルを閉じるため MANAGE CHANNEL コマンドを UICC に送信し、SW1 SW2 でMBIM_STATUS_MS_Standard Edition LECT_FAILED 状態を SELECT から返します。
- SELECT コマンドが成功した場合、機能は、将来参照するためにホストによって指定された論理チャンネル番号とチャンネル グループを記録します。 その後、論理チャンネル番号、SELECT からの SW1 SW2、および SELECT からホストへの応答が返されます。
パラメーター
操作 | Set | クエリ | 通知 |
---|---|---|---|
コマンド | MBIM_MS_SET_UICC_OPEN_CHANNEL | 適用なし | 適用なし |
回答 | MBIM_MS_UICC_OPEN_CHANNEL_INFO | 適用なし | 適用なし |
クエリ
該当なし。
Set
MBIM_COMMAND_MSG の InformationBuffer には、次の MBIM_MS_Standard Edition T_UICC_OPEN_CHANNEL 構造体が含まれています。
MBIM_MS_SET_UICC_OPEN_CHANNEL
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | AppIdSize | SIZE(0..32) | アプリケーション ID (AppId) のサイズ。 |
4 | 4 | AppIdOffset | OFFSET | この構造体の始まりから計算された、SELECT されるべき AppId を定義する AppId というバイト配列へのオフセット (バイト単位)。 |
8 | 4 | SelectP2Arg | UINT32(0..255) | SELECT コマンドへの P2 引数。 |
12 | 4 | ChannelGroup | UINT32 | このチャンネルのチャンネル グループを識別するタグ値。 |
16 | AppIdSize | DataBuffer | DATABUFFER | AppId バイト配列。 |
回答
MBIM_COMMAND_DONE の InformationBuffer には、次の MBIM_MS_UICC_OPEN_CHANNEL_INFO 構造体が含まれています。
MBIM_MS_UICC_OPEN_CHANNEL_INFO
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | 状態 | BYTE[2] | SW1 と SW2 (そのバイト順)。 詳細については、このテーブルの下にある注意書きを参照してください。 |
4 | 4 | チャネル | UINT32(0..19) | 論理チャンネル識別子。 このメンバーが 0 の場合、オペレーションは失敗しました。 |
8 | 4 | ResponseLength | SIZE (0..256) | 応答の長さ (バイト単位)。 |
12 | 4 | ResponseOffset | OFFSET | この構造体の始まりから計算された、SELECT からの応答を含む Response というバイト配列へのオフセット (バイト単位)。 |
16 | - | DataBuffer | DATABUFFER | Response バイト配列データ。 |
コマンドが MBIM_STATUS_MS_NO_LOGICAL_CHANNELS を返す場合、STATUS フィールドには MANAGE CHANNEL コマンドからの UICC 状況ワード SW1 および SW2 が含まれ、残りのフィールドはゼロになります。 コマンドが MBIM_STATUS_MS_SELECT_FAILED を返す場合、STATUS フィールドには SELECT コマンドからの UICC 状況ワード SW1 および SW2 が含まれ、残りのフィールドはゼロになります。 その他の状態の場合、InformationBuffer は空になります。
無承諾イベント
該当なし。
状態コード
次の状態コードが適用されます。
状態コード | 説明 |
---|---|
MBIM_STATUS_SUCCESS | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_BUSY | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_FAILURE | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_NO_DEVICE_SUPPORT | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_SIM_NOT_INSERTED | UICC が見つからないため、UICC オペレーションを実行できません。 |
MBIM_STATUS_BAD_SIM | UICC がエラー状態であるため、UICC オペレーションを実行できません。 |
MBIM_STATUS_NOT_INITIALIZED | UICC がまだ完全に初期化されていないため、UICC オペレーションを実行できません。 |
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS | 論理チャンネルは、UICC で使用できないため、正常に開かれませんでした (論理チャンネルが UICC でサポートされていないか、すべてが使用中)。 |
MBIM_STATUS_MS_SELECT_FAILED | SELECT が失敗したため、論理チャンネルを開けませんでした。 |
MBIM_CID_MS_UICC_CLOSE_CHANNEL
ホストは MBIM_CID_MS_UICC_CLOSE_CHANNEL を機能に送信して、UICC 上の論理チャンネルを閉じます。 ホストはチャンネル番号を指定することも、チャンネル グループを指定することもできます。
ホストがチャンネル番号を指定する場合、機能は、このチャンネルが以前の MBIM_CID_MS_UICC_OPEN_CHANNEL によって開かれたかどうかをチェックします。 その場合、MANAGE CHANNEL コマンドを UICC に送信してチャンネルを閉じ、MBIM_STATUS_SUCCESS の状態を返し、MANAGE CHANNEL から SW1 SW2 を返すことになります。 そうでない場合は、アクションを実行せず、MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL エラー状態を返します。
ホストがチャンネル グループを指定する場合、機能は、そのチャンネル グループで開かれた論理チャンネル (もしあれば) を決定し、そのようなチャンネルごとに MANAGE CHANNEL コマンドを UICC に送信します。 最後の MANAGE CHANNEL の SW1 SW2 で MBIM_STATUS_SUCCESS の状態を返します。 閉じたチャンネルがない場合は、90 00 を返します。
パラメーター
操作 | Set | クエリ | 通知 |
---|---|---|---|
コマンド | MBIM_MS_SET_UICC_CLOSE_CHANNEL | 適用なし | 適用なし |
回答 | MBIM_MS_UICC_CLOSE_CHANNEL_INFO | 適用なし | 適用なし |
クエリ
該当なし。
Set
MBIM_COMMAND_MSG の InformationBuffer には、次の MBIM_MS_SET_UICC_CLOSE_CHANNEL 構造体が含まれています。
MBIM_MS_SET_UICC_CLOSE_CHANNEL
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | チャネル | UINT32(0..19) | 0 以外の場合は、閉じるチャンネルを指定します。 0 の場合は、ChannelGroup に関連付けられているチャンネルを閉じるよう指定します。 |
4 | 4 | ChannelGroup | UINT32 | Channel が 0 の場合、これはタグ値を指定し、このタグを持つすべてのチャンネルが閉じられます。 Channel が 0 以外の場合、このフィールドは無視されます。 |
回答
MBIM_COMMAND_DONE の InformationBuffer には、次の MBIM_MS_UICC_CLOSE_CHANNEL_INFO 構造体が含まれています。
MBIM_MS_UICC_CLOSE_CHANNEL_INFO
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | 状態 | BYTE[2] | このコマンドの代わりに機能によって実行された最後の MANAGE CHANNEL の SW1 および SW2。 |
無承諾イベント
該当なし。
状態コード
状態コード | 説明 |
---|---|
MBIM_STATUS_SUCCESS | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_BUSY | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_FAILURE | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_NO_DEVICE_SUPPORT | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_SIM_NOT_INSERTED | UICC が見つからないため、UICC オペレーションを実行できません。 |
MBIM_STATUS_BAD_SIM | UICC がエラー状態であるため、UICC オペレーションを実行できません。 |
MBIM_STATUS_NOT_INITIALIZED | UICC がまだ完全に初期化されていないため、UICC オペレーションを実行できません。 |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | 論理チャンネル番号が無効です (MBIM_CID_MS_UICC_OPEN_CHANNEL で開かれていませんでした)。 |
MBIM_CID_MS_UICC_APDU
ホストは、MBIM_CID_MS_UICC_APDU を使用して、コマンド APDU を UICC 上の指定された論理チャンネルに送信し、応答を受信します。 MBIM 機能は、論理チャンネルが以前に MBIM_CID_MS_UICC_OPEN_CHANNEL で開かれていたことを確かめ、そうでない場合は状態 MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL で失敗することになります。
ホストは、完全な APDU を機能に送信する必要があります。 APDU は、ISO/IEC 7816-4:2013 標準のセクション 4 の最初の産業間定義、または ETSI TS 102 221 技術仕様のセクション 10.1.1 の拡張定義で定義されたクラス バイト値で送信できます。 APDU は、セキュアなメッセージングなしで、またはセキュアなメッセージングを使用して送信できます。 コマンド ヘッダーが認証されていません。 ホストは、APDU と共に、クラス バイトの型、論理チャンネル番号、セキュアなメッセージングなどを指定します。
コマンド APDU の最初のバイトは、ISO/IEC 7816-4:2013 標準のセクション 4 または ETSI TS 102 221 技術仕様のセクション 10.1.1 で定義されるようにコーディングされたクラス バイトです。 ホストは、0X、4X、6X、8X、CX、または EX クラス バイトを送信できます。 ただし、機能は、このバイトを UICC に直接渡しません。 代わりに、APDU を UICC に送信する前に機能は、ホストからの最初のバイトを、ホストで指定された Type、Channel、SecureMessaging 値に基づく 新しいクラス バイト (ISO/IEC 7816-4:2013 標準のセクション 4 または ETSI TS 102 221 技術仕様のセクション 10.1.1 で定義されるようにエンコードされたもの) と置き換えます。
バイト クラス | 説明 |
---|---|
0X | 7816-4 産業間、1 <= チャンネル <= 3 は、関連する場合に低ニブルでセキュリティをエンコードします。 |
4X | 7816-4 産業間、4 <= チャンネル <= 19、セキュアなメッセージングなし |
6X | 7816-4 産業間、4 <= チャンネル <= 19、セキュア (ヘッダーが非認証) |
8X | 102 221 拡張、1 <= チャンネル <= 3 は、関連する場合に低ニブルでセキュリティをエンコードします。 |
CX | 102 221 拡張、4 <= チャンネル <= 19、セキュアなメッセージングなし |
EX | 102 221 拡張、4 <= チャンネル <= 19、セキュア (ヘッダーが認証されていません) |
この機能は、UICC からホストに状態 SW1 SW2 と応答を返します。
パラメーター
操作 | Set | クエリ | 通知 |
---|---|---|---|
コマンド | MBIM_MS_SET_UICC_APDU | 適用なし | 適用なし |
回答 | MBIM_MS_UICC_APDU_INFO | 適用なし | 適用なし |
クエリ
該当なし。
Set
MBIM_COMMAND_MSG の InformationBuffer には、次の MBIM_MS_SET_UICC_APDU 構造体が含まれています。
MBIM_MS_SET_UICC_APDU
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | チャネル | UINT32(1..19) | APDU を送信するチャンネルを指定します。 |
4 | 4 | SecureMessaging | MBIM_MS_UICC_SECURE_MESSAGING | セキュアなメッセージングを使用して APDU を交換するかどうかを指定します。 |
8 | 4 | Type | MBIM_MS_UICC_CLASS_BYTE_TYPE | クラス バイト型の定義を指定します。 |
12 | 4 | CommandSize | UINT32(0..261) | コマンドの長さ (バイト単位)。 |
16 | 4 | CommandOffset | OFFSET | この構造体の始まりから計算された、APDU データを含む Command というバイト配列へのオフセット (バイト単位)。 |
20 | - | DataBuffer | DATABUFFER | Command バイト配列。 |
MBIM_MS_SET_UICC_APDU 構造体では、次の MBIM_MS_UICC_SECURE_MESSAGING と MBIM_MS_UICC_CLASS_BYTE_TYPE のデータ構造が使用されます。
MBIM_MS_UICC_SECURE_MESSAGING
Type | 値 | 説明 |
---|---|---|
MBIMMsUiccSecureMessagingNone | 0 | セキュアなメッセージングはありません。 |
MBIMMsUiccSecureMessagingNoHdrAuth | 1 | セキュアなメッセージング、コマンド ヘッダーは非認証。 |
MBIM_MS_UICC_CLASS_BYTE_TYPE
Type | 値 | 説明 |
---|---|---|
MBIMMsUiccInterindustry | 0 | ISO 7816-4 の最初の産業間定義に従って定義。 |
MBIMMsUiccExtended | 1 | ETSI 102 221 の拡張定義に従って定義。 |
回答
MBIM_COMMAND_DONE の InformationBuffer には、次の MBIM_MS_UICC_APDU_INFO 構造体が含まれています。
MBIM_MS_UICC_APDU_INFO
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | 状態 | BYTE[2] | コマンドの結果の SW1 および SW2 状態ワード。 |
4 | 4 | ResponseLength | SIZE | 応答の長さ (バイト単位)。 |
8 | 4 | ResponseOffset | OFFSET | この構造体の始まりから計算された、SELECT からの応答を含む Response というバイト配列へのオフセット (バイト単位)。 |
12 | - | DataBuffer | DATABUFFER | Response バイト配列。 |
無承諾イベント
該当なし。
状態コード
次の状態コードが適用されます。
状態コード | 説明 |
---|---|
MBIM_STATUS_SUCCESS | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_BUSY | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_FAILURE | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_NO_DEVICE_SUPPORT | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_SIM_NOT_INSERTED | UICC が見つからないため、UICC オペレーションを実行できません。 |
MBIM_STATUS_BAD_SIM | UICC がエラー状態であるため、UICC オペレーションを実行できません。 |
MBIM_STATUS_NOT_INITIALIZED | UICC がまだ完全に初期化されていないため、UICC オペレーションを実行できません。 |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | 論理チャンネル番号が無効です (MBIM_CID_MS_UICC_OPEN_CHANNEL で開かれていませんでした)。 |
この機能は、APDU を UICC に送信できる場合、SW1 SW2 ステータス ワードと UICC からの応答 (もしあれば) と共に MBIM_STATUS_SUCCESS を返します。 ホストは、状態 (SW1 SW2) を調べて、APDU コマンドが UICC で成功したかどうか、または失敗した理由を判別する必要があります。
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY
ホストは、MBIM_CID_MS_UICC_TERMINAL_CAPABILITY を送信して、ホストの機能についてモデムに通知します。 ETSI TS 102 221 技術仕様のセクション 11.1.19 で指定された TERMINAL CAPABILITY APDU は、最初のアプリケーションが選択される前にカードに送信される必要があります (サポートされている場合)。 したがって、同ホストは TERMINAL CAPABILITY APDU を直接送信することはできませんが、モデムによって永続的に保管される 1 つ以上の端末機能オブジェクトを含む MBIM_CID_MS_UICC_TERMINAL_CAPABILITY コマンドを送信します。 ATR 後、次のカードの挿入またはリセット時に、モデムは MF を SELECT し、TERMINAL CAPABILITY がサポートされているかどうかをチェックします。 その場合、モデムは、MBIM_CID_MS_UICC_TERMINAL_CAPABILITY コマンドで指定された情報とモデムで生成された情報とともに TERMINAL CAPABILITY APDU を送信します。
パラメーター
操作 | Set | クエリ | 通知 |
---|---|---|---|
コマンド | MBIM_MS_SET_UICC_TERMINAL_CAPABILITY | Empty | 適用なし |
回答 | 適用なし | MBIM_MS_TERMINAL_CAPABILITY_INFO | 適用なし |
クエリ
InformationBuffer は null となり、InformationBufferLength は 0 となります。
Set
MBIM_COMMAND_MSG の InformationBuffer には、次の MBIM_MS_SET_UICC_TERMINAL_CAPABILITY 構造体が含まれています。
MBIM_MS_SET_UICC_TERMINAL_CAPABILITY
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | ElementCount | UINT32 | ターミナル機能オブジェクトの要素数。 |
4 | 8*EC | CapabilityList OL_PAIR_LIST | 各ターミナル機能オブジェクト TLV のオフセット長ペア リスト。 | |
4+8*EC | - | DataBuffer | DATABUFFER | 実際のターミナル機能オブジェクト TLV のバイト配列。 |
回答
応答には、モデムに最後に送信されたターミナル機能オブジェクトとともに正確な SET コマンドが含まれます。 したがって、MBIM_MS_TERMINAL_CAPABILITY_INFO は MBIM_MS_SET_UICC_TERMINAL_CAPABILITY と同じです。
MBIM_MS_TERMINAL_CAPABILITY_INFO
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | ElementCount | UINT32 | ターミナル機能オブジェクトの要素数。 |
4 | 8*EC | CapabilityList OL_PAIR_LIST | 各ターミナル機能オブジェクト TLV のオフセット長ペア リスト。 | |
4+8*EC | - | DataBuffer | DATABUFFER | 実際のターミナル機能オブジェクト TLV のバイト配列。 |
無承諾イベント
該当なし。
状態コード
状態コード | 説明 |
---|---|
MBIM_STATUS_SUCCESS | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_BUSY | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_FAILURE | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_NO_DEVICE_SUPPORT | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_SIM_NOT_INSERTED | UICC が見つからないため、UICC オペレーションを実行できません。 |
MBIM_STATUS_BAD_SIM | UICC がエラー状態であるため、UICC オペレーションを実行できません。 |
MBIM_STATUS_NOT_INITIALIZED | UICC がまだ完全に初期化されていないため、UICC オペレーションを実行できません。 |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | 論理チャンネル番号が無効です (MBIM_CID_MS_UICC_OPEN_CHANNEL で開かれていませんでした)。 |
MBIM_CID_MS_UICC_RESET
ホストは MBIM_CID_MS_UICC_RESET を MBIM 機能に送信して UICC をリセットするか、機能のパススルー状態をクエリします。
ホストは、UICC を機能がリセットするように要求するときに、パススルー アクションを指定します。
ホストが MBIMMsUICCPassThroughEnable パススルー アクションを指定した場合、機能は UICC をリセットし、UICC の電源が入ると、UICC をホストと UICC の間の通信を可能にするパススルー モードであるかのように扱います (UICC に Telecom UICC ファイル システムがない場合でも)。 機能は APDU をカードに送信せず、ホストと UICC の間の通信に干渉することはありません。
ホストが MBIMMsUICCPassThroughDisable パススルー アクションを指定した場合、機能は UICC をリセットし、UICC の電源が入ると、UICC を通常の Telecom UICC として扱い、Telecom UICC ファイル システムが UICC に存在するものとします。
ホストが機能にクエリを行ってパススルー状態を判断するとき、機能が MBIMMsUICCPassThroughEnabled 状態で応答した場合、それはパススルー モードが有効であることを意味します。 機能が MBIMMsUICCPassThroughDisabled 状態で応答する場合、それはパススルー モードが無効になっていることを意味します。
パラメーター
Type | Set | クエリ | 通知 |
---|---|---|---|
コマンド | MBIM_MS_SET_UICC_RESET | Empty | 適用なし |
回答 | MBIM_MS_UICC_RESET_INFO | MBIM_MS_UICC_RESET_INFO | 適用なし |
クエリ
InformationBuffer は null となり、InformationBufferLength は 0 となります。
Set
MBIM_SET_MS_UICC_RESET
MBIM_SET_MS_UICC_RESET 構造体には、ホストによって指定されたパススルー アクションが含まれています。
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | PassThroughAction | MBIM_MS_UICC_PASSTHROUGH_ACTION | 詳細については、「MBIM_MS_UICC_PASSTHROUGH_ACTION」を参照してください。 |
MBIM_MS_UICC_PASSTHROUGH_ACTION
MBIM_MS_UICC_PASSTHROUGH_ACTION リストは、ホストが MBIM 機能に指定できるパススルー アクションのタイプを定義します。
型 | 値 |
---|---|
MBIMMsUiccPassThroughDisable | 0 |
MBIMMsUiccPassThroughEnable | 1 |
回答
MBIM_MS_UICC_RESET_INFO
MBIM_MS_UICC_RESET_INFO 構造体には、MBIM 機能のパススルー状態が含まれています。
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | PassThroughStatus | MBIM_MS_UICC_PASSTHROUGH_STATUS | 詳細については、「MBIM_MS_UICC_PASSTHROUGH_STATUS」を参照してください。 |
MBIM_MS_UICC_PASSTHROUGH_STATUS
MBIM_MS_UICC_PASSTHROUGH_STATUS リストは、MBIM 機能がホストに指定するパススルー状態のタイプを定義します。
型 | 値 |
---|---|
MBIMMsUiccPassThroughDisabled | 0 |
MBIMMsUiccPassThroughEnabled | 1 |
無承諾イベント
該当なし。
状態コード
状態コード | 説明 |
---|---|
MBIM_STATUS_SUCCESS | すべてのコマンドにおいて定義される基本的な MBIM 状態。 |
MBIM_STATUS_BUSY | デバイスがビジー状態です。 |
MBIM_STATUS_FAILURE | 操作が失敗しました。 |
MBIM_STATUS_NO_DEVICE_SUPPORT | デバイスはこのオペレーションをサポートしていません。 |
OID_WWAN_UICC_RESET
MBIM_CID_MS_UICC_RESET に相当する NDIS は OID_WWAN_UICC_RESET です。