次の方法で共有


MB UICC アプリケーションとファイル システム アクセス

概要

このトピックでは、UICC スマート カード アプリケーションとファイル システムへのアクセスを許可するモバイル ブロードバンド インターフェイス モデル (MBIM) インターフェイスの拡張機能を指定します。 MBIM に対するこの拡張機能は、UICC の ETSI TS 102 221 技術仕様に準拠したアプリケーションとファイルシステムへの論理アクセスを公開し、Windows 10 バージョン 1903 以降でサポートされています。

UICC のアクセスとセキュリティ

UICC はファイル システムを提供し、同時に実行できる一連のアプリケーションをサポートします。 これには、UMTS 用 USIM、CSIM for CDMA、および ISIM for IMS が含まれます。 SIM は UICC のレガシ部分であり、これらのアプリケーションの 1 つとしてモデル化できます (GSM の場合)。

ETSI TS 102 221 技術仕様のセクション 8.1 の次の図は、カード アプリケーション構造の例を示しています。

UICC アプリケーション構造の例を示す図。

UICC ファイル システムは、ディレクトリ ツリーのフォレストと見なすことができます。 従来の SIM ツリーはマスター ファイル (MF) に根ざしており、さまざまな種類の情報を保持する Elemental Files (EFs) を含む最大 2 つのレベルのサブディレクトリ (専用ファイルまたは DFs) が含まれています。 SIM は MF の下に DF を定義し、そのうちの 1 つである DFTelecom には、共通の電話帳などの複数のアクセスタイプに共通する情報が含まれています。 追加のアプリケーションは、それぞれ独自のアプリケーション ディレクトリ ファイル (ADF) にルート化された個別のツリーとして効果的に実装されます。 各 ADF は、最大 128 ビット長のアプリケーション識別子によって識別されます。 カード ルートの下のファイル (図の MF の下の EFDir) には、アプリケーション名と対応する識別子が含まれています。 ツリー (MF または ADF) 内では、ファイル ID が 16 ビット整数であるファイル ID のパスによって、UDF と EFs が識別される場合があります。

NDIS インターフェイス拡張機能

UICC アプリケーションとファイル システムのアクセスをサポートするために、次の OID が定義されています。

MBIM サービスと CID の値

サービス名 UUID(ユニバーサリー・ユニーク・アイデンティファイア) UUID 値
Microsoft Low-Level UICC Access UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367
マイクロソフト基本IP接続拡張機能 UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

次の表では、各 CID の UUID とコマンド コード、および CID が Set、Query、または Event (notification) 要求をサポートするかどうかを指定します。 パラメーター、データ構造、および通知の詳細については、このトピック内の各 CID の個々のセクションを参照してください。

CID UUID(ユニバーサリー・ユニーク・アイデンティファイア) コマンド コード オン クエリ 通知
MBIM_CID_MS_UICC_APP_LIST UUID_MS_UICC_LOW_LEVEL 7 N Y N
MBIM_CID_MS_UICC_FILE_STATUS UUID_MS_UICC_LOW_LEVEL 8 N Y N
MBIM_CID_MS_UICC_ACCESS_BINARY UUID_MS_UICC_LOW_LEVEL 9 Y Y N
MBIM_CID_MS_UICC_ACCESS_RECORD UUID_MS_UICC_低レベル 10 Y Y N
MBIM_CID_MS_PIN_EX UUID_BASIC_CONNECT_EXTENSIONS 14 Y Y N

MBIM_CID_MS_UICC_APP_LIST

この CID は、UICC 内のアプリケーションの一覧とその情報を取得します。 モデムの UICC が完全に初期化され、携帯電話会社に登録する準備ができたら、登録のために UICC アプリケーションを選択する必要があります。この CID を使用するクエリは、応答で使用されるMBIM_UICC_APP_LIST構造体の ActiveAppIndex フィールドで選択したアプリケーションを返す必要があります。

パラメーター

オペレーション オン クエリ 通知
コマンド 適用なし 空っぽ 適用なし
[応答] 適用なし MBIM_UICC_APP_LIST 適用なし

クエリ

MBIM_COMMAND_MSGの InformationBuffer が空です。

オン

適用されません。

[応答]

MBIM_COMMAND_DONEの InformationBuffer には、次のMBIM_UICC_APP_LIST構造体が含まれています。

MBIM_UICC_APP_LIST (バージョン 1)

オフセット サイズ フィールド タイプ 説明
0 4 バージョン UINT32 次の構造体のバージョン番号。 この構造体のバージョン 1 では、このフィールドを 1 に設定する必要があります。
4 4 AppCount UINT32 この応答で返される UICC アプリケーション MBIM_UICC_APP_INFO 構造体の数。
8 4 ActiveAppIndex UINT32(0..NumApp - 1) モバイル ネットワークに登録するためにモデムによって選択されたアプリケーションのインデックス。 このフィールドは 、0 から AppCount - 1 の間である必要があります。 この応答によって返されるアプリケーションの配列にインデックスを作成します。 登録対象としてアプリケーションが選択されていない場合、このフィールドには 0xFFFFFFFFが含まれます。
12 4 AppListSize UINT32 アプリ リスト データのサイズ (バイト単位)。
8*AppCount アプリリスト OL_PAIR_LIST ペアの最初の要素は、DataBuffer のアプリ情報のオフセットを持つ 4 バイト フィールドです。 ペアの 2 番目の要素は、アプリ情報のサイズを持つ 4 バイト のフィールドです。
AppListSize (アプリリストサイズ) データバッファ DATABUFFER AppCount * MBIM_UICC_APP_INFO 構造体の配列。

MBIM_UICC_APP_INFO

オフセット サイズ フィールド タイプ 説明
0 4 アプリケーションタイプ MBIM_UICC_APP_TYPE UICC アプリケーションの種類。
4 4 AppIdOffset OFFSET データバッファー内のアプリケーション ID のオフセット。 最初の AppIdSize バイトのみが意味を持ちます。 アプリケーション ID が MBIM_MAXLENGTH_APPID バイトより長い場合、AppIdSize は実際の長さを指定しますが、このフィールドには最初のMBIM_MAXLENGTH_APPIDバイトのみが含まれます。 このフィールドは、AppType が MBIMUiccAppTypeMf、MBIMUiccAppTypeMfSIM、または MBIMUiccAppTypeMfRUIM でない場合にのみ有効です。
8 4 AppIdSize SIZE(0..16) ETSI TS 102 221 技術仕様のセクション 8.3 で定義されているアプリケーション ID のサイズ (バイト単位)。 AppIdSize には 16 より大きい数値を含めることがありますが、この場合、データバッファーには最初の 16 (MBIM_MAXLENGTH_APPID) バイトのみが含まれます。 このフィールドは、MBIMUiccAppTypeMf、MBIMUiccAppTypeMfSIM、または MBIMUiccAppTypeMfRUIM アプリの種類に対して 0 に設定されます。
12 AppNameOffset OFFSET データバッファー内のアプリケーション名のオフセット。 アプリケーションの名前を指定する UTF-8 文字列。 このフィールドの長さは AppNameLength によって指定されます。 長さがMBIM_MAXLENGTH_APPNAMEバイト以上の場合、このフィールドには名前の最初のMBIM_MAXLENGTH_APPNAME - 1 バイトが含まれます。 文字列は常に null で終了します。
16 4 AppNameLength SIZE (0..256) アプリケーション名の長さ (バイト単位)。 AppNameLength には 256 以上の数値を含む場合がありますが、このような場合は、データバッファー内に最初の 255 (MBIM_MAXLENGTH_APPNAME - 1) バイトのみが含まれます。
20 4 NumPinKeyRefs サイズ (0..8) アプリケーション PIN キー参照の数。 つまり、有効な PinKeyRef の要素の数です。 仮想 R-UIM 上のアプリケーションには、PIN キー参照がありません。
二十四 4 KeyRefOffset OFFSET DataBuffer の PinKeyRef のオフセット。 PinKeyRef は、ETSI TS 102 221 技術仕様の表 9.3 およびセクション 9.4.2 で定義されているように、さまざまな検証レベル (PIN1、PIN2、場合によってはユニバーサル PIN のキー) に対するアプリケーションの PIN キー参照を指定するバイト配列です。 シングル検証カード、または異なるアプリケーションの異なるアプリケーション キーをサポートしていない MBB ドライバーやモデムの場合、ETSI TS 102 221 のセクション 9.5.1 で説明されているように、PinKeyRef フィールドの最初のバイトは 0x01 (PIN1) で、2 番目のバイトは 0x81 (PIN2) である必要があります。
28 4 KeyRefSize サイズ (0..8) PinKeyRef のサイズ。
32 データバッファ DATABUFFER 単一検証カードの AppId、AppName、PinKeyRef を含むデータ バッファー、または異なるアプリケーションの異なるアプリケーション キーをサポートしていない MBB ドライバーやモデムのデータ バッファーは、 このフィールドを0x01する必要があります。

MBIM_UICC_APP_TYPE

タイプ 価値 説明
MBIMUiccAppTypeUnknown 0 不明な型。
MBIMUiccAppTypeMf 1 MF をルートにしたレガシ SIM ディレクトリ。
MBIMUiccAppTypeMfSIM 2 DF_GSMにルート化されたレガシ SIM ディレクトリ。
MBIMUiccAppTypeMfRUIM 3 DF_CDMAにルート化されたレガシ SIM ディレクトリ。
MBIMUiccAppTypeUSIM 4 USIM アプリケーション。
MBIMUiccAppTypeCSIM 5 CSIM アプリケーション。
MBIMUiccAppTypeISIM 6 ISIM アプリケーション。

定数

MBIM_CID_MS_UICC_APP_INFOには、次の定数が定義されています。

const int MBIM_MAXLENGTH_APPID = 32
const int MBIM_MAXLENGTH_APPNAME = 256
const int MBIM_MAXNUM_PINREF = 8

未承諾のイベント

適用されません。

状態コード

次の状態コードが適用されます。

状態コード 説明
MBIM_STATUS_SUCCESS すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_BUSY すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_FAILURE すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_デバイス非対応 すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_SIM_NOT_INSERTED(SIMが挿入されていません) UICC が見つからないため、UICC 操作を実行できません。
MBIM_STATUS_BAD_SIM (無効なSIMカード) UICC がエラー状態であるため、UICC 操作を実行できません。
MBIM_STATUS_NOT_INITIALIZED UICC がまだ完全に初期化されていないため、UICC 操作を実行できません。

MBIM_CID_MS_UICC_FILE_STATUS

この CID は、指定された UICC ファイルに関する情報を取得します。

パラメーター

オペレーション オン クエリ 通知
コマンド 適用なし MBIM_UICC_FILE_PATH 適用なし
[応答] 適用なし MBIM_UICC_FILE_STATUS 適用なし

クエリ

MBIM_COMMAND_MSGの InformationBuffer には、MBIM_UICC_FILE_PATH構造体としてターゲット EF が含まれています。

MBIM_UICC_FILE_PATH (バージョン 1)

オフセット サイズ フィールド タイプ 説明
0 4 バージョン UINT32 次の構造体のバージョン番号。 この構造体のバージョン 1 では、このフィールドは 1 である必要があります。
4 4 AppIdOffset OFFSET この構造体の先頭からアプリケーション ID を含むバッファーまでのオフセット (バイト単位)。
8 4 AppIdSize SIZE(0..16) ETSI TS 102 221 技術仕様のセクション 8.3 で定義されているアプリケーション ID のサイズ (バイト単位)。 2G カードの場合、このフィールドはゼロ (0) に設定する必要があります。
12 4 ファイルパスオフセット OFFSET この構造体の先頭からファイル パスを含むバッファーまでのオフセット (バイト単位)。 ファイル パスは、16 ビットのファイル ID の配列です。 最初の ID は、0x7FFF または 0x3F00である必要があります。 最初の ID が 0x7FFFの場合、パスは、AppIdによって指定されたアプリケーションの ADF に対する相対パスになります。 それ以外の場合は、MF から始まる絶対パスです。
16 4 ファイルパスサイズ サイズ (0..8) ファイル パスのサイズ (バイト単位)。
20 データバッファ DATABUFFER AppId と FilePath を含むデータ バッファー。

オン

適用されません。

[応答]

InformationBuffer では、次のMBIM_UICC_FILE_STATUS構造体が使用されます。

MBIM_UICC_FILE_STATUS (バージョン 1)

オフセット サイズ フィールド タイプ 説明
0 4 バージョン UINT32 次の構造体のバージョン番号。 この構造体のバージョン 1 では、このフィールドは 1 である必要があります。
4 4 StatusWord1 UINT32(0..256) UICC コマンドに固有の戻り値パラメーター。
8 4 ステータスワード2 UINT32(0..256) UICC コマンドに固有の戻り値パラメーター。
12 4 ファイルアクセスビリティ MBIM_UICC_FILE_ACCESSIBILITY UICC ファイルのアクセシビリティ。
16 4 ファイルタイプ MBIM_UICC_FILE_TYPE UICC ファイルの種類。
20 4 FileStructure MBIM_UICC_FILE_STRUCTURE UICC ファイル構造。
二十四 4 アイテム数 UINT32 UICC ファイル内の項目の数。 透過的ファイルと TLV ファイルの場合は、1に設定されます。
28 4 サイズ UINT32 各項目のサイズ (バイト単位)。 透過的または TLV ファイルの場合、これは EF 全体のサイズです。 レコードベースのファイルの場合、これはレコードの合計数を表します。
32 16 ファイルロック状態 MBIM_PIN_TYPE_EX[4] そのファイルの各操作 (READ、UPDATE、ACTIVATE、および DEACTIVATE) のアクセス条件を記述するMBIM_PIN_TYPE_EX型の配列。

MBIM_UICC_FILE_ACCESSIBILITY(MBIMインターフェイスを介したUICCファイルのアクセス性)

MBIM_UICC_FILE_ACCESSIBILITY列挙体は、前のMBIM_UICC_FILE_STATUS構造体で使用されます。

タイプ 価値 説明
MBIMUiccFileAccessibilityUnknown 0 ファイル共有可能性が不明です。
MBIMUiccFileAccessibilityNotShareable 1 共有できないファイル。
MBIMUiccFileAccessibilityShareable 2 共有可能なファイル。

MBIM_UICC_FILE_TYPE

MBIM_UICC_FILE_TYPE列挙体は、上記のMBIM_UICC_FILE_STATUS構造体で使用されます。

タイプ 価値 説明
MBIMUiccFileTypeUnknown 0 ファイルの種類が不明です。
MBIMUiccFileTypeWorkingEf 1 作業中の EF。
MBIMUiccFileTypeInternalEf 2 内部 EF。
MBIMUiccFileTypeDfOrAdf 3 専用ファイル。他のノードの親であるディレクトリ。 DF または ADF を指定できます。

MBIM_UICC_FILE_STRUCTURE

MBIM_UICC_FILE_STRUCTURE列挙体は、上記のMBIM_UICC_FILE_STATUS構造体で使用されます。

タイプ 価値 説明
MBIMUiccFileStructureUnknown 0 不明なファイル構造。
MBIMUiccFileStructureTransparent 1 可変長の単一レコード。
MBIMUiccFileStructureCyclic 2 同じ長さのレコードの循環セット。
MBIMUiccFileStructureLinear 3 同じ長さのレコードの線形セット。
MBIMUiccFileStructureBerTLV 4 タグでアクセスできるデータ値のセット。

MBIM_PIN_TYPE_EX

MBIM_PIN_TYPE_EX列挙体は、上記のMBIM_UICC_FILE_STATUS構造体で使用されます。

タイプ 価値 説明
MBIMPinTypeNone 0 PIN の入力が保留されていません。
MBIMPinTypeCustom 1 PIN の種類はカスタム型であり、この列挙体に記載されている他の PIN の種類はありません。
MBIMPinTypePin1 2 PIN1 キー。
MBIMPinTypePin2 3 PIN2 キー。
MBIMPinTypeDeviceSimPin 4 SIM キーへのデバイス。
MBIMPinTypeDeviceFirstSimPin 5 非常に最初の SIM キーへのデバイス。
MBIMPinTypeNetworkPin 6 ネットワーク パーソナル化キー。
MBIMPinTypeNetworkSubsetPin 7 ネットワーク サブセットのパーソナル化キー。
MBIMPinTypeServiceProviderPin 8 サービス プロバイダー (SP) パーソナル化キー。
MBIMPinTypeCorporatePin 9 企業のパーソナル化キー。
MBIMPinTypeサブシディーロック 10 補助ロック解除キー。
MBIMPinTypePuk1 11 個人識別番号 1 ロック解除キー (PUK1)。
MBIMPinTypePuk2 12 個人識別番号 2 ロック解除キー (PUK2)。
MBIMPinTypeDeviceFirstSimPuk 13 非常に最初のSIM PINロック解除キーへのデバイス。
MBIMPinTypeNetworkPuk 14 ネットワーク パーソナル化のロック解除キー。
MBIMPinTypeNetworkSubsetPuk 15 ネットワーク サブセットのパーソナル化ロック解除キー。
MBIMPinTypeServiceProviderPuk 16 サービス プロバイダー (SP) パーソナル化ロック解除キー。
MBIMPinTypeCorporatePuk 十七 企業のパーソナル化ロック解除キー。
MBIMPinTypeNev 18 NEV キー。
MBIMPinTypeAdm 19 管理キー。

未承諾のイベント

適用されません。

状態コード

次の状態コードが適用されます。

状態コード 説明
MBIM_STATUS_BUSY すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_FAILURE すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_SIM_NOT_INSERTED(SIMが挿入されていません) UICC が見つからないため、UICC 操作を実行できません。
MBIM_STATUS_BAD_SIM (無効なSIMカード) UICC がエラー状態であるため、UICC 操作を実行できません。
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR ファイルは共有可能ではなく、現在別のアプリケーションからアクセスされているため、選択できません。 SIM によって返されるステータス ワードは 6985 です。

MBIM_CID_MS_UICC_ACCESS_BINARY

この CID は、構造体の種類 が MBIMUiccFileStructureTransparent または MBIMUiccFileStructureBerTLV である UICC バイナリ ファイルにアクセスするための特定のコマンドを送信します。

パラメーター

オペレーション オン クエリ 通知
コマンド 適用なし MBIM_UICC_ACCESS_BINARY 適用なし
[応答] 適用なし MBIM_UICC_RESPONSE 適用なし

クエリ

バイナリ ファイルを読み取ります。 MBIM_COMMAND_MSGの InformationBuffer には、MBIM_UICC_ACCESS_BINARY構造体が含まれています。 MBIM_COMMAND_DONEの InformationBuffer にMBIM_UICC_RESPONSE構造体が返されます。

MBIM_UICC_ACCESS_BINARY (バージョン 1)

オフセット サイズ フィールド タイプ 説明
0 4 バージョン UINT32 次の構造体のバージョン番号。 この構造体のバージョン 1 では、このフィールドを 1 に設定する必要があります。
4 4 AppIdOffset OFFSET この構造体の先頭からアプリケーション ID を含むバッファーまでのオフセット (バイト単位)。
8 4 AppIdSize SIZE(0..16) ETSI TS 102 221 技術仕様のセクション 8.3 で定義されているアプリケーション ID のサイズ (バイト単位)。 2G カードの場合、このフィールドはゼロ (0) に設定する必要があります。
12 4 ファイルパスオフセット OFFSET この構造体の先頭からファイル パスを含むバッファーまでのオフセット (バイト単位)。 ファイル パスは、16 ビットのファイル ID の配列です。 最初の ID は、0x7FFF または 0x3F00である必要があります。 最初の ID が 0x7FFFの場合、パスは、AppIdによって指定されたアプリケーションの ADF に対する相対パスになります。 それ以外の場合は、MF から始まる絶対パスです。
16 4 ファイルパスサイズ サイズ ファイル パスのサイズ (バイト単位)。
20 4 FileOffset UINT32 ファイルから読み取るときに使用するオフセット。 このフィールドは 256 より大きくすることができ、ETSI TS 102 221 技術仕様で定義されているオフセット高とオフセット低の両方を組み合わせています。
二十四 4 NumberOfBytes UINT32 読み取るバイト数。 たとえば、クライアント ドライバーは、この関数を使用して、256 バイトを超える透過的な (バイナリ) ファイルを読み取ることができますが、1 つの UICC 操作で読み取りまたは書き込むことができる最大量は、ETSI TS 102 221 技術仕様あたり 256 バイトです。 これを複数の APDU に分割し、1 つの応答で結果を返すのが関数の役割です。
28 4 ローカルピンオフセット OFFSET この構造体の先頭からパスワードを含むバッファーまでのオフセット (バイト単位)。 これはローカル PIN (PIN2) であり、操作でローカル PIN 検証が必要な場合に使用されます。
32 4 LocalPinSize SIZE(0..16) パスワードのサイズ (バイト単位)。
36 4 BinaryDataOffset OFFSET この構造体の先頭からコマンド固有のデータを含むバッファーまでのオフセット (バイト単位)。 バイナリ データは、SET 操作にのみ使用されます。
40 4 バイナリデータサイズ SIZE (0..32768) データのサイズ (バイト単位)。
44 データバッファ DATABUFFER AppId、FilePath、LocalPin、BinaryData を含むデータ バッファー。

オン

適用されません。

[応答]

InformationBuffer では、次のMBIM_UICC_RESPONSE構造体が使用されます。

MBIM_UICC_RESPONSE (バージョン 1)

オフセット サイズ フィールド タイプ 説明
0 4 バージョン UINT32 次の構造体のバージョン番号。 この構造体のバージョン 1 では、このフィールドは 1 である必要があります。
4 4 StatusWord1 UINT32(0..256) UICC コマンドに固有の戻り値パラメーター。
8 4 ステータスワード2 UINT32(0..256) UICC コマンドに固有の戻り値パラメーター。
12 4 ResponseDataOffset (レスポンスデータオフセット) OFFSET この構造体の先頭から応答データを含むバッファーまでのオフセット (バイト単位)。 応答データは、QUERY 操作にのみ使用されます。
16 4 レスポンスデータサイズ SIZE (0..32768) データのサイズ (バイト単位)。
20 データバッファ DATABUFFER ResponseData を含むデータ バッファー。

未承諾のイベント

適用されません。

状態コード

次の状態コードが適用されます。

状態コード 説明
MBIM_STATUS_BUSY すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_FAILURE すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_SIM_NOT_INSERTED(SIMが挿入されていません) UICC が見つからないため、UICC 操作を実行できません。
MBIM_STATUS_BAD_SIM (無効なSIMカード) UICC がエラー状態であるため、UICC 操作を実行できません。
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR ファイルは共有可能ではなく、現在別のアプリケーションからアクセスされているため、選択できません。 SIM によって返されるステータス ワードは 6985 です。
MBIM_ステータス_PIN_失敗 PIN エラーが原因で操作に失敗しました。

MBIM_CID_MS_UICC_ACCESS_RECORD

この CID は、構造体の種類 が MBIMUiccFileStructureCyclic または MBIMUIccFileStructureLinear である UICC 線形固定ファイルまたは循環ファイルにアクセスするための特定のコマンドを送信します。

パラメーター

オペレーション オン クエリ 通知
コマンド 適用なし MBIM_UICC_ACCESS_RECORD 適用なし
[応答] 適用なし MBIM_UICC_RESPONSE 適用なし

クエリ

レコードの内容を読み取ります。 MBIM_COMMAND_MSGの InformationBuffer には、次のMBIM_UICC_ACCESS_RECORD構造体が含まれています。 MBIM_UICC_RESPONSEは、MBIM_COMMAND_DONEの InformationBuffer で返されます。

MBIM_UICC_ACCESS_RECORD (バージョン 1)

オフセット サイズ フィールド タイプ 説明
0 4 バージョン UINT32 次の構造体のバージョン番号。 この構造体のバージョン 1 では、このフィールドを 1 に設定する必要があります。
4 4 AppIdOffset OFFSET この構造体の先頭からアプリケーション ID を含むバッファーまでのオフセット (バイト単位)。
8 4 AppIdSize SIZE(0..16) ETSI TS 102 221 技術仕様のセクション 8.3 で定義されているアプリケーション ID のサイズ (バイト単位)。 2G カードの場合、このフィールドはゼロ (0) に設定する必要があります。
12 4 ファイルパスオフセット OFFSET この構造体の先頭からファイル パスを含むバッファーまでのオフセット (バイト単位)。 ファイル パスは、16 ビットのファイル ID の配列です。 最初の ID は、0x7FFF または 0x3F00である必要があります。 最初の ID が 0x7FFFの場合、パスは、AppIdによって指定されたアプリケーションの ADF に対する相対パスになります。 それ以外の場合は、MF から始まる絶対パスです。
16 4 ファイルパスサイズ サイズ ファイル パスのサイズ (バイト単位)。
20 4 レコード番号 UINT32(0..256) レコード番号。 これは、常に絶対レコード インデックスを表します。 モデムはファイル (NEXT、PREVIOUS) で複数のアクセスを実行できるため、相対レコード アクセスはサポートされていません。
二十四 4 ローカルピンオフセット OFFSET この構造体の先頭からパスワードを含むバッファーまでのオフセット (バイト単位)。 ロック パスワードは、10 進数の NULL で終わる UTF-8 文字列です。
28 4 LocalPinSize SIZE(0..16) パスワードのサイズ (バイト単位)。
32 4 RecordDataOffset OFFSET この構造体の先頭からコマンド固有のデータを含むバッファーまでのオフセット (バイト単位)。 レコード データは、SET 操作にのみ使用されます。
36 4 RecordDataSize SIZE (0..256) データのサイズ (バイト単位)。
40 データバッファ DATABUFFER AppId、FilePath、LocalPin、RecordData を含むデータ バッファー。

オン

適用されません。

[応答]

InformationBuffer では、MBIM_UICC_RESPONSE構造体が使用されます。

未承諾のイベント

適用されません。

状態コード

次の状態コードが適用されます。

状態コード 説明
MBIM_STATUS_BUSY すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_FAILURE すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_SIM_NOT_INSERTED(SIMが挿入されていません) UICC が見つからないため、UICC 操作を実行できません。
MBIM_STATUS_BAD_SIM (無効なSIMカード) UICC がエラー状態であるため、UICC 操作を実行できません。
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR ファイルは共有可能ではなく、現在別のアプリケーションからアクセスされているため、選択できません。 SIM によって返されるステータス ワードは 6985 です。
MBIM_ステータス_PIN_失敗 PIN エラーが原因で操作に失敗しました。

MBIM_CID_MS_PIN_EX

この CID は、 ETSI TS 102 221 技術仕様のセクション 9 で定義されているすべての PIN セキュリティ操作を実行するために使用されます。 CID はMBIM_CID_MS_PINに似ていますが、マルチアプリ UICC カードをサポートするように拡張します。 単一検証対応の UIC のみがサポートされています。 複数のアプリケーション PIN をサポートするマルチ検証対応の UICC はサポートされていません。 1 つのアプリケーション PIN (PIN1) が UICC 上のすべての ADFs/DFs およびファイルに割り当てられます。 ただし、各アプリケーションでは、レベル 2 のユーザー検証要件としてローカル PIN (PIN2) を指定できるため、すべてのアクセス コマンドに対して追加の検証が必要になります。 このシナリオでは、MBIM_CID_MS_PIN_EXがサポートします。

MBIM_CID_MS_PINと同様に、MBIM_CID_MS_PIN_EXデバイスでは一度に 1 つの PIN のみが報告されます。 複数の PIN が有効になっていて、複数の PIN もレポートする場合、関数は最初に PIN1 を報告する必要があります。 たとえば、補助ロック レポートが有効になっていて、SIM の PIN1 が有効になっている場合、補助ロック PIN は、PIN1 が正常に検証された後にのみ、後続のクエリ要求で報告する必要があります。 MBIMPinOperationEnter と共に空の PIN を使用できます。 PinSize を 0 に設定すると、空の PIN が指定されます。 この場合、SET コマンドは QUERY に似ていて、参照されている PIN の状態を返します。 これは、ETSI TS 102 221 技術仕様のセクション 11.1.9 で指定されている VERIFY コマンドの動作に完全に対応しています。

パラメーター

オペレーション オン クエリ 通知
コマンド MBIM_SET_PIN_EX MBIM_PIN_APP 適用なし
[応答] MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX 適用なし

クエリ

InformationBuffer では、次のMBIM_PIN_APP構造体が使用されます。

MBIM_PIN_APP (バージョン 1)

オフセット サイズ フィールド タイプ 説明
0 4 バージョン UINT32 次の構造体のバージョン番号。 この構造体のバージョン 1 では、このフィールドを 1 に設定する必要があります。
4 4 AppIdOffset OFFSET この構造体の先頭からアプリケーション ID を含むバッファーまでのオフセット (バイト単位)。
8 4 AppIdSize SIZE(0..16) ETSI TS 102 221 技術仕様のセクション 8.3 で定義されているアプリケーション ID のサイズ (バイト単位)。 2G カードの場合、このフィールドはゼロ (0) に設定する必要があります。
12 データバッファ DATABUFFER ETSI TS 102 221 技術仕様で定義されている AppId。

オン

InformationBuffer では、次のMBIM_SET_PIN_EX構造体が使用されます。

MBIM_SET_PIN_EX

オフセット サイズ フィールド タイプ 説明
0 4 PinType MBIM_PIN_TYPE_EX PIN の種類。 このトピックのMBIM_PIN_TYPE_EX表を参照してください。
4 4 PinOperation MBIM_PIN_OPERATION PINオペレーション。 MBIM 1.0 を参照してください。
8 4 ピンオフセット OFFSET この構造体の先頭から、アクションの実行に使用する PIN 値を表す文字列 PIN、または PIN 設定を有効または無効にするために必要な PIN 値までのオフセット (バイト単位)。 このフィールドは 、PinOperation のすべての値に適用されます。
12 4 ピンサイズ サイズ (0..32) PIN に使用されるサイズ (バイト単位)。
16 4 NewPinOffset OFFSET PinTypeMBIMPinTypePuk1 または PinTypeMBIMPinTypePuk2PinOperation が MBIMPinOperationChange または MBIMPinOperationEnter のときに設定する新しい PIN 値を表す NewPin 文字列への、この構造体の先頭から計算されたオフセット (バイト単位)。
20 4 NewPinSize SIZE (0..32) NewPin に使用されるサイズ (バイト単位)。
二十四 4 AppIdOffset OFFSET この構造体の先頭からアプリケーション ID を含むバッファーまでのオフセット (バイト単位)。
28 4 AppIdSize SIZE(0..16) ETSI TS 102 221 技術仕様のセクション 8.3 で定義されているアプリケーション ID のサイズ (バイト単位)。 2G カードの場合、このフィールドはゼロ (0) に設定する必要があります。
32 データバッファ DATABUFFER Pin、NewPin、AppId を含むデータ バッファー。

[応答]

InformationBuffer では、次のMBIM_PIN_INFO_EX構造体が使用されます。

オフセット サイズ フィールド タイプ 説明
0 4 PinType MBIM_PIN_TYPE_EX PIN の種類。 このトピックのMBIM_PIN_TYPE_EX表を参照してください。
4 4 PinState MBIM_PIN_STATE PIN の状態。 MBIM 1.0 を参照してください。
8 4 残りの試行回数 UINT32 入力、有効化、無効化など、PIN 関連の操作に対する残りの試行回数。 この情報をサポートしていないデバイスでは、このメンバーを 0xFFFFFFFF に設定する必要があります。

未承諾のイベント

適用されません。

状態コード

次の状態コードが適用されます。

状態コード 説明
MBIM_STATUS_BUSY すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_FAILURE すべてのコマンドで定義されている基本的な MBIM 状態。
MBIM_STATUS_SIM_NOT_INSERTED(SIMが挿入されていません) UICC が見つからないため、UICC 操作を実行できません。
MBIM_STATUS_BAD_SIM (無効なSIMカード) UICC がエラー状態であるため、UICC 操作を実行できません。
MBIM_STATUS_PIN_DISABLED PIN が無効になっているため、操作に失敗しました。
MBIM_STATUS_PIN_REQUIRED (PINが必要です) 続行するには PIN を入力する必要があるため、操作に失敗しました。
MBIM_STATUS_デバイス非対応 対応する PIN の種類の SET がデバイスでサポートされていないため、操作が失敗しました。