MB PIN 操作

概要

このトピックでは、MB デバイス メモリまたは加入者識別モジュール (SIM) カードに格納されているサブスクリプション情報のアクセス制御に関連する操作について説明します。 これには、暗唱番号 (PIN) の有効化、無効化、または変更のほか、PIN または PIN ロック解除キー (PUK) を使用したロック解除が含まれます。

アーキテクチャ/フロー

PIN を有効化/無効化/ロック解除/変更するためのユーザー アクション

Flowchart illustrating user actions for enabling, disabling, unlocking, and changing PIN.

PIN1/PUK1 状態の携帯ネットワーク UX クエリ

Flowchart depicting the process of querying PIN1 and PUK1 states in cellular UX.

休止状態からの再開後の自動ロック解除

Flowchart showing the auto-unlock process after resuming from hibernation.

MBIM_CID_MS_PIN_EX

この CID の説明については、MBIM_CID_MS_PIN_EX を参照してください。

MBIM_CID_PIN_LIST

説明

このコマンドは、MB デバイスでサポートされているすべての種類の暗唱番号 (PIN) の一覧と、PIN の長さ (最小長と最大長)、PIN 形式、PIN 入力モード (有効/無効/使用不可) など PIN の種類ごとの追加情報を返します。 この CID は、関数でサポートされる各 PIN の現在のモードも指定します。 関数は、サポートしているすべての PIN を報告する必要があります。 ただし、マルチモード デバイスの PIN1 は 1 回のみ報告する必要があります。

PIN1 として報告される PIN は、PIN1 ガイドラインに準拠している必要があります。CDMA ベースのデバイスの場合、電源オン時の検証または識別機能を備えた PIN がこれに該当し、GSM ベースのデバイスの場合は、加入者識別モジュール (SIM) PIN がこれに該当します。

関数は、準備完了状態が MBIMSubscriberReadyStateInitialized に変わるか、準備完了状態が MBIMSubscriberReadyStateDeviceLocked (PIN ロック) の場合に、この情報を返すことができる必要があります。 関数は、可能な限り、この情報を他の準備完了状態でも返す必要があります。

クエリのみ

Query メッセージの InformationBuffer が空です。 MBIM_COMMAND_DONE の InformationBuffer に MBIM_PIN_LIST_INFO が含まれています。

パラメーター

Set クエリ 通知
コマンド 該当なし Empty 該当なし
回答 該当なし MBIM_PIN_LIST_INFO 該当なし

データ構造

MBIM_PIN_MODE

MBIMPinModeNotSupported 0
MBIMPinModeEnabled 1
MBIMPinModeDisabled 2

MBIM_PIN_FORMAT

MBIMPinFormatUnknown 0
MBIMPinFormatNumeric 1
MBIMPinFormatAlphaNumeric 2

MBIM_PIN_DESC

オフセット サイズ フィールド タイプ 説明
0 4 PinMode MBIM_PIN_MODE 上の MBIM_PIN_MODE 表を参照してください。 ロックが有効かどうかを表示します。 ロック状態がロックされているかロック解除されているかは表示されません。
4 4 PinFormat MBIM_PIN_FORMAT 上の MBIM_PIN_FORMAT を参照してください。
8 4 PinLengthMin UINT32 PIN の最小文字数。 デバイスでは、16 より大きい値を指定しないでください。 PIN の長さが使用できない場合は、デバイスで 0xffffffff を指定する必要があります。
12 4 PinLengthMax UINT32 PIN の最大文字数。 デバイスでは、16 より大きい値を指定しないでください。 PIN の長さが使用できない場合は、デバイスで 0xffffffff を指定する必要があります。

クエリ

InformationBuffer は null とし、InformationBufferLength は 0 とします。

回答

InformationBuffer では、次の構造体を使用する必要があります。

MBIM_PIN_LIST_INFO

オフセット サイズ フィールド タイプ 説明
0 16 PinDescPin1 MBIM_PIN_DESC PIN1 を記述する MBIM_PIN_DESC 構造体。 GSM ベースのデバイスの場合、加入者識別モジュール (SIM) PIN がこれに該当します。 CDMA ベースのデバイスの場合、電源オン時のデバイス ロックは PIN1 として報告されます。
16 16 PinDescPin2 MBIM_PIN_DESC PIN2 を記述する MBIM_PIN_DESC 構造体。 これは、特定の SIM 機能を保護する SIM PIN2 です。
32 16 PinDescDeviceSimPin MBIM_PIN_DESC デバイスから SIM-カードへの PIN を記述する MBIM_PIN_DESC 構造体。 これは、デバイスを特定の SIM にロックする PIN です。
48 16 PinDescDeviceFirstSimPin MBIM_PIN_DESC デバイスから最初の SIM-カードへの PIN を記述する MBIM_PIN_DESC 構造体。 これは、最初に挿入された SIM にデバイスをロックする PIN です。
64 16 PinDescNetworkPin MBIM_PIN_DESC ネットワーク パーソナル化 PIN を記述する MBIM_PIN_DESC 構造体。 これは、ネットワークに合わせてデバイスをカスタマイズできるようにする PIN です。 この PIN の種類の詳細については、3GPP 仕様 22.022 を参照してください。
80 16 PinDescNetworkSubsetPin MBIM_PIN_DESC ネットワーク サブセット パーソナル化 PIN を記述する MBIM_PIN_DESC 構造体。 これは、ネットワークのサブセットに合わせてデバイスをカスタマイズできるようにする PIN です。 この PIN の種類の詳細については、3GPP 仕様 22.022 を参照してください。
96 16 PinDescServiceProviderPin MBIM_PIN_DESC サービス プロバイダー (SP) パーソナル化 PIN を記述する MBIM_PIN_DESC 構造体。 これは、サービス プロバイダーに合わせてデバイスをカスタマイズできるようにする PIN です。 この PIN の種類の詳細については、3GPP 仕様 22.022 を参照してください。
112 16 PinDescCorporatePin MBIM_PIN_DESC 企業パーソナル化 PIN を記述する MBIM_PIN_DESC 構造体。 これは、特定の企業に合わせてデバイスをカスタマイズできるようにする PIN です。 この PIN の種類の詳細については、3GPP 仕様 22.022 を参照してください。
128 16 PinDescSubsidyLock MBIM_PIN_DESC キャリア ロック解除を記述する MBIM_PIN_DESC 構造体。 これは、デバイスの特定のネットワークでの動作を制限できるようにする PIN です。 この PIN の種類の詳細については、3GPP 仕様 22.022 を参照してください。
144 16 PinDescCustom MBIM_PIN_DESC カスタム PIN を記述する MBIM_PIN_DESC 構造体。 これは、ベンダーが定義したカスタム PIN の種類です。 上記の一覧には含まれていません。

状態コード

状態コード 説明
MBIM_STATUS_PIN_REQUIRED この操作を続行する前に PIN を入力する必要があるため、PIN リスト操作は失敗しました。

テスト

次のテストは、TestPin HLK テスト リストの一部として実行されます。

テスト名 説明
PinListQueryRadioOn このテストでは、無線をオンにした状態でピン リスト クエリを試みます。
PinListQueryRadioOff このテストでは、無線をオフにした状態でピン リスト クエリを試みます。
NoPinSupport このテストでは、PIN1 をサポートしていないデバイスを検証します。
PinExSetEnableDisableWithValidPin このテストでは、有効なピンを使用して PIN1 を有効または無効にします。
PinExSetDisableIncorrectPinWithValidLength このテストでは、有効な長さの間違ったピンを使用して PIN1 の有効化を試みます。
PukEnableDisableThroughIncorrectPinExDisable このテストでは、間違った PIN1 を複数回入力して PUK1 を有効にしてから、PUK1 を無効にします。
PinExSetChangeWithBothInvalidAndValidPin このテストでは、PIN1 を有効にし、すぐに PIN を変更して無効にします。
RebootTestMachineToPutPinIntoLockState このテストでは、デバイスを再起動してモデムをロック状態にし、有効な PIN エントリを求めます。
PinExSetEnterWithValidPin このテストでは、PIN コード エントリを要求するためにデバイスがロック状態であることを検証します。

TestPowerStates HLK テスト リストには、関連する 1 つのテスト (SimPinUnlockAfterHibernate) も含まれています。

ログ分析

サンプル ログ:

自動ロック解除:

462678 [0]0F3C.1280::2020-05-05 13:03:46.378805100 [Microsoft-Windows-WWAN-SVC-EVENTS][Request=0x53] Received PinInfo, status=WWAN_STATUS_SUCCESS , Type=WwanPinTypePin1  State=WwanPinStateEnter  Attempts=3, miniport={7971731f-33f9-4f1a-9718-087c12e64c5d} 
462753 [7]0F3C.2A6C::2020-05-05 13:03:46.379718400 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::maybeUnlockPin:  Attempting auto-PIN-unlock. Interface: {{7971731f-33f9-4f1a-9718-087c12e64c5d}} 
462809 [7]0F3C.2A6C::2020-05-05 13:03:46.380157500 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Error] CWwanPinSM::maybeUnlockPin: Attempt to auto-unlock PIN succeeded 

ピンの設定 (WwanPinTypePin1):

546408 [3]0F3C.1240::2020/05/02-09:18:09.178460200 [Microsoft-Windows-WWAN-SVC-EVENTS][Request=0x6C] Sent SET PinAction, Type=2(WwanPinTypePin1), Operation=0(WwanPinOperationEnter), miniport={7971731f-33f9-4f1a-9718-087c12e64c5d}, ErrorCode=3407873(WIN=The request will be completed later by NDIS status indication.)
546425 [1]3DB0.12EC::2020/05/02-09:18:09.178564700 [Microsoft.Windows.CellCore.MBBSettingsUX]{"meta":{"provider":"Microsoft.Windows.CellCore.MBBSettingsUX","event":"MBCategory::_SetPinAction. WwanSetInterface succeeded","time":"2020-05-02T16:18:09.1785647Z","cpu":1,"pid":15792,"tid":4844,"channel":11,"level":4}}
546644 [2]0F3C.39E4::2020/05/02-09:18:09.426362600 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::processPinActionResponse: SetPin rsp rcvd (result:0x0) PIN Info (state:1, type:3, attemptsRemaining:3) IsPin1Blocked 0
546645 [2]0F3C.39E4::2020/05/02-09:18:09.426364800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::maybeCapturePin: Capturing PIN for PIN ENTER/ENABLE operation Interface: {{7971731f-33f9-4f1a-9718-087c12e64c5d}}
546688 [7]3B64.2A80::2020/05/02-09:18:09.426727000 [MbaeApiLogging]{"NotificationCode":"WwanMsmEventTypePinActionComplete: Success","AdapterID":"{7971731f-33f9-4f1a-9718-087c12e64c5d}","NotificationSize":24,"meta":{"provider":"MbaeApiLogging","event":"CWwanTranslator::ProcessWwanNotification","time":"2020-05-02T16:18:09.4267270Z","cpu":7,"pid":15204,"tid":10880,"channel":11,"level":5}}
546702 [0]3B64.242C::2020/05/02-09:18:09.426762000 [Microsoft.Windows.CellCore.MBBSettingsUX]{"meta":{"provider":"Microsoft.Windows.CellCore.MBBSettingsUX","event":"MBMediaManager::ProcessWwanNotification WwanMsmEventTypePinActionComplete","time":"2020-05-02T16:18:09.4267620Z","cpu":0,"pid":15204,"tid":9260,"channel":11,"level":4}}
546710 [7]0F3C.1208::2020/05/02-09:18:09.426809700 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] _PublishSebNotification: Event Source=WwanNotificationSourceMsm, Code=WwanMsmEventTypePinActionComplete
547064 [2]3DB0.1194::2020/05/02-09:18:09.427921200 [MbaeApiLogging]{"NotificationCode":"WwanMsmEventTypePinActionComplete: Success","AdapterID":"{7971731f-33f9-4f1a-9718-087c12e64c5d}","NotificationSize":24,"meta":{"provider":"MbaeApiLogging","event":"CWwanTranslator::ProcessWwanNotification","time":"2020-05-02T16:18:09.4279212Z","cpu":2,"pid":15792,"tid":4500,"channel":11,"level":5}}
547106 [2]3DB0.0B38::2020/05/02-09:18:09.428040100 [Microsoft.Windows.CellCore.MBBSettingsUX]{"meta":{"provider":"Microsoft.Windows.CellCore.MBBSettingsUX","event":"MBMediaManager::ProcessWwanNotification WwanMsmEventTypePinActionComplete","time":"2020-05-02T16:18:09.4280401Z","cpu":2,"pid":15792,"tid":2872,"channel":11,"level":4}}

ピン リスト:

465632 [4]0F3C.47F4::2020-05-05 13:03:46.395488200 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: PIN1 (mode:1, format:1, pinlnmin:4, pinlnmax:8) 
465633 [4]0F3C.47F4::2020-05-05 13:03:46.395489800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: PIN2 (mode:1, format:1, pinlnmin:4, pinlnmax:8) 
465634 [4]0F3C.47F4::2020-05-05 13:03:46.395491400 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: DEVSIMPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465635 [4]0F3C.47F4::2020-05-05 13:03:46.395492800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: DEVFIRSTSIMPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465636 [4]0F3C.47F4::2020-05-05 13:03:46.395494200 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: NWPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465637 [4]0F3C.47F4::2020-05-05 13:03:46.395495800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: NWSUBSETPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465641 [5]0F3C.47F4::2020-05-05 13:03:46.395510100 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: SVCPROVIDERPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465643 [5]0F3C.47F4::2020-05-05 13:03:46.395513700 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: CORPORATEPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465644 [5]0F3C.47F4::2020-05-05 13:03:46.395515200 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: SUBSIDYLOCK (mode:0, format:0, pinlnmin:0, pinlnmax:0) 

WinRT API

MobileBroadbandPin クラス

参照

OID_WWAN_PIN_EX2

OID_WWAN_PIN_LIST

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

PIN 操作の詳細については、OID_WWAN_PIN を参照してください。