MB UICC 애플리케이션 및 파일 시스템 액세스

개요

이 항목에서는 UICC 스마트 카드 애플리케이션 및 파일 시스템에 액세스할 수 있도록 MBIM(모바일 광대역 인터페이스 모델) 인터페이스에 대한 확장을 지정합니다. MBIM에 대한 이 확장은 UICC의 ETSI TS 102 221 기술 사양 규격 애플리케이션 및 파일 시스템에 대한 논리적 액세스를 노출하며 Windows 10 버전 1903 이상에서 지원됩니다.

UICC 액세스 및 보안

UICC는 파일 시스템을 제공하고 동시에 실행할 수 있는 애플리케이션 집합을 지원합니다. 여기에는 UMTS용 USIM, CDMA용 CSIM 및 IMS용 ISIM이 포함됩니다. SIM은 이러한 애플리케이션 중 하나로 모델링할 수 있는 UICC의 레거시 부분입니다(GSM용).

ETSI TS 102 221 기술 사양의 섹션 8.1에서 다음 다이어그램은 애플리케이션 구조에 카드 예제를 보여 줍니다.

예제 UICC 애플리케이션 구조를 보여 주는 다이어그램

UICC 파일 시스템은 디렉터리 트리의 포리스트로 간주될 수 있습니다. 레거시 SIM 트리는 MF(마스터 파일)에 루팅되며 다양한 유형의 정보를 포함하는 EF(요소 파일)를 포함하는 최대 2개 수준의 하위 디렉터리(전용 파일 또는 DF)를 포함합니다. SIM은 MF에서 DF를 정의하며, 그 중 하나인 DFTelecom에는 공통 전화 번호부와 같은 여러 액세스 유형에 공통된 정보가 포함되어 있습니다. 추가 애플리케이션은 각각 자체 ADF(애플리케이션 디렉터리 파일)에 루팅된 별도의 트리로 효과적으로 구현됩니다. 각 ADF는 최대 128비트 길이의 애플리케이션 식별자에 의해 식별됩니다. 카드 루트 아래의 파일(다이어그램의 MF 아래에 있는 EFDir)에는 애플리케이션 이름과 해당 식별자가 포함됩니다. 트리(MF 또는 ADF) 내에서 DF 및 EF는 파일 ID의 경로로 식별될 수 있습니다. 여기서 파일 ID는 16비트 정수입니다.

NDIS 인터페이스 확장

UICC 애플리케이션 및 파일 시스템 액세스를 지원하도록 다음 OID가 정의되었습니다.

MBIM 서비스 및 CID 값

서비스 이름 UUID UUID 값
Microsoft Low-Level UICC 액세스 UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367
Microsoft 기본 IP 연결 확장 UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

다음 표에서는 각 CID에 대한 UUID 및 명령 코드와 CID가 Set, Query 또는 Event(알림) 요청을 지원하는지 여부를 지정합니다. 매개 변수, 데이터 구조 및 알림에 대한 자세한 내용은 이 항목 내에서 각 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_LOW_LEVEL 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 필드에서 선택한 애플리케이션을 반환해야 합니다.

매개 변수

작업(Operation) 설정 쿼리 알림
명령 적용할 수 없음 Empty 적용할 수 없음
응답 적용할 수 없음 MBIM_UICC_APP_LIST 적용할 수 없음

쿼리

MBIM_COMMAND_MSG InformationBuffer가 비어 있습니다.

설정

해당 사항 없음

응답

MBIM_COMMAND_DONE InformationBuffer에는 다음과 같은 MBIM_UICC_APP_LIST 구조가 포함되어 있습니다.

MBIM_UICC_APP_LIST(버전 1)

Offset 크기 필드 형식 Description
0 4 버전 Uint32 다음 구조체의 버전 번호입니다. 이 구조체의 버전 1 에 대해 이 필드를 1로 설정해야 합니다.
4 4 AppCount Uint32 이 응답에서 반환되는 UICC 애플리케이션 MBIM_UICC_APP_INFO 구조체의 수입니다.
8 4 ActiveAppIndex UINT32(0..NumApp - 1) 모뎀에서 모바일 네트워크에 등록하기 위해 선택한 애플리케이션의 인덱스입니다. 이 필드는 0AppCount - 1 사이여야 합니다. 이 응답에서 반환된 애플리케이션 배열로 인덱싱됩니다. 등록을 위해 애플리케이션을 선택하지 않은 경우 이 필드에 는 0xFFFFFFFF 포함됩니다.
12 4 AppListSize Uint32 앱 목록 데이터의 크기(바이트)입니다.
8*AppCount AppList OL_PAIR_LIST 쌍의 첫 번째 요소는 DataBuffer에 앱 정보의 오프셋이 있는 4바이트 필드입니다. 쌍의 두 번째 요소는 앱 정보의 크기가 있는 4 바이트 필드입니다.
AppListSize DataBuffer DATABUFFER AppCount * MBIM_UICC_APP_INFO 구조체의 배열입니다.

MBIM_UICC_APP_INFO

Offset 크기 필드 형식 Description
0 4 AppType 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 크기(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 크기(0..256) 애플리케이션 이름의 길이(바이트)입니다. AppNameLength는 256보다 크거나 같은 숫자를 포함할 수 있지만 이러한 경우 처음 255바이트(MBIM_MAXLENGTH_APPNAME - 1) 바이트만 데이터 버퍼에 있습니다.
20 4 NumPinKeyRefs SIZE(0..8) 애플리케이션 PIN 키 참조 수입니다. 즉, 유효한 PinKeyRef의 요소 수입니다. 가상 R-UIM의 애플리케이션에는 PIN 키 참조가 없습니다.
24 4 KeyRefOffset OFFSET DataBuffer에서 PinKeyRef의 오프셋입니다. PinKeyRef는 ETSI TS 102 221 기술 사양의 표 9.3 및 섹션 9.4.2에 정의된 대로 다양한 수준의 확인(PIN1, PIN2 및 범용 PIN에 대한 키)에 대한 애플리케이션의 PIN 키 참조를 지정하는 바이트 배열입니다. 단일 확인 카드 또는 다른 애플리케이션에 대해 다른 애플리케이션 키를 지원하지 않는 MBB 드라이버 및/또는 모뎀의 경우 PinKeyRef 필드의 첫 번째 바이트는 0X01(PIN1)이어야 하며 두 번째 바이트는 ETSI TS 102 221의 섹션 9.5.1에 설명된 대로 PIN2(0x81)여야 합니다.
28 4 KeyRefSize SIZE(0..8) PinKeyRef의 크기입니다.
32 DataBuffer DATABUFFER 단일 확인 카드 AppId, AppName 및 PinKeyRef.를 포함하는 데이터 버퍼 또는 다른 애플리케이션에 대해 다른 애플리케이션 키를 지원하지 않는 MBB 드라이버 및/또는 모뎀인 이 필드는 0x01 합니다.

MBIM_UICC_APP_TYPE

형식 Description
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

원치 않는 이벤트

해당 사항 없음

상태 코드

다음 상태 코드가 적용됩니다.

상태 코드 Description
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_FILE_STATUS

이 CID는 지정된 UICC 파일에 대한 정보를 검색합니다.

매개 변수

작업(Operation) 설정 쿼리 알림
명령 적용할 수 없음 MBIM_UICC_FILE_PATH 적용할 수 없음
응답 적용할 수 없음 MBIM_UICC_FILE_STATUS 적용할 수 없음

쿼리

MBIM_COMMAND_MSG InformationBuffer에는 대상 EF가 MBIM_UICC_FILE_PATH 구조체로 포함됩니다.

MBIM_UICC_FILE_PATH(버전 1)

Offset 크기 필드 형식 Description
0 4 버전 Uint32 다음 구조체의 버전 번호입니다. 이 구조체의 버전 1 에 대해 이 필드는 1이어야 합니다.
4 4 AppIdOffset OFFSET 이 구조체의 시작부터 애플리케이션 ID를 포함하는 버퍼까지 계산된 오프셋(바이트)입니다.
8 4 AppIdSize 크기(0..16) ETSI TS 102 221 기술 사양의 섹션 8.3에 정의된 애플리케이션 ID 크기(바이트)입니다. 2G 카드의 경우 이 필드를 0으로 설정해야 합니다.
12 4 FilePathOffset OFFSET 이 구조체의 시작부터 파일 경로가 포함된 버퍼까지 계산된 오프셋(바이트)입니다. 파일 경로는 16비트 파일 ID의 배열입니다. 첫 번째 ID는 0x7FFF 또는 0x3F00. 첫 번째 ID가 0x7FFF 경우 경로는 AppId에 의해 페이지를 매긴 애플리케이션의 ADF를 기준으로 합니다. 그렇지 않으면 MF에서 시작하는 절대 경로입니다.
16 4 FilePathSize SIZE(0..8) 파일 경로의 크기(바이트)입니다.
20 DataBuffer DATABUFFER AppId 및 FilePath를 포함하는 데이터 버퍼입니다.

설정

해당 사항 없음

응답

다음 MBIM_UICC_FILE_STATUS 구조체는 InformationBuffer에 사용됩니다.

MBIM_UICC_FILE_STATUS(버전 1)

Offset 크기 필드 형식 Description
0 4 버전 Uint32 다음 구조체의 버전 번호입니다. 이 구조체의 버전 1 에 대해 이 필드는 1이어야 합니다.
4 4 StatusWord1 UINT32(0..256) UICC 명령과 관련된 반환 매개 변수입니다.
8 4 StatusWord2 UINT32(0..256) UICC 명령과 관련된 반환 매개 변수입니다.
12 4 FileAccessibility MBIM_UICC_FILE_ACCESSIBILITY UICC 파일 접근성입니다.
16 4 FileType MBIM_UICC_FILE_TYPE UICC 파일 형식입니다.
20 4 FileStructure MBIM_UICC_FILE_STRUCTURE UICC 파일 구조입니다.
24 4 ItemCount Uint32 UICC 파일의 항목 수입니다. 투명 및 TLV 파일의 경우 1로 설정됩니다.
28 4 크기 Uint32 각 항목의 크기(바이트)입니다. 투명 또는 TLV 파일의 경우 전체 EF의 크기입니다. 레코드 기반 파일의 경우 총 레코드 수를 나타냅니다.
32 16 FileLockStatus MBIM_PIN_TYPE_EX[4] 해당 파일의 각 작업에 대한 액세스 조건(해당 순서대로 READ, UPDATE, ACTIVATE 및 DEACTIVATE)을 설명하는 형식 MBIM_PIN_TYPE_EX 배열입니다.

MBIM_UICC_FILE_ACCESSIBILITY

MBIM_UICC_FILE_ACCESSIBILITY 열거형은 이전 MBIM_UICC_FILE_STATUS 구조체에서 사용됩니다.

형식 Description
MBIMUiccFileAccessibilityUnknown 0 파일 공유 가능성을 알 수 없습니다.
MBIMUiccFileAccessibilityNotShareable 1 공유할 수 없는 파일입니다.
MBIMUiccFileAccessibilityShareable 2 공유 가능한 파일입니다.

MBIM_UICC_FILE_TYPE

MBIM_UICC_FILE_TYPE 열거형은 이전 MBIM_UICC_FILE_STATUS 구조체에서 사용됩니다.

형식 Description
MBIMUiccFileTypeUnknown 0 파일 형식을 알 수 없습니다.
MBIMUiccFileTypeWorkingEf 1 작업 EF.
MBIMUiccFileTypeInternalEf 2 내부 EF.
MBIMUiccFileTypeDfOrAdf 3 전용 파일, 다른 노드의 부모인 디렉터리입니다. DF 또는 ADF일 수 있습니다.

MBIM_UICC_FILE_STRUCTURE

MBIM_UICC_FILE_STRUCTURE 열거형은 이전 MBIM_UICC_FILE_STATUS 구조체에서 사용됩니다.

형식 Description
MBIMUiccFileStructureUnknown 0 알 수 없는 파일 구조입니다.
MBIMUiccFileStructureTransparent 1 가변 길이의 단일 레코드입니다.
MBIMUiccFileStructureCyclic 2 각각 동일한 길이의 주기적 레코드 집합입니다.
MBIMUiccFileStructureLinear 3 각각 동일한 길이의 선형 레코드 집합입니다.
MBIMUiccFileStructureBerTLV 4 태그로 액세스할 수 있는 데이터 값 집합입니다.

MBIM_PIN_TYPE_EX

MBIM_PIN_TYPE_EX 열거형은 이전 MBIM_UICC_FILE_STATUS 구조체에서 사용됩니다.

형식 Description
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 회사 개인 설정 키입니다.
MBIMPinTypeSubsidyLock 10 보조금 잠금 해제 키입니다.
MBIMPinTypePuk1 11 개인 식별 번호 1 잠금 해제 키(PUK1)입니다.
MBIMPinTypePuk2 12 개인 식별 번호 2 PUK2(잠금 해제 키)입니다.
MBIMPinTypeDeviceFirstSimPuk 13 첫 번째 SIM PIN 잠금 해제 키에 대한 디바이스입니다.
MBIMPinTypeNetworkPuk 14 네트워크 개인 설정 잠금 해제 키입니다.
MBIMPinTypeNetworkSubsetPuk 15 네트워크 하위 집합 개인 설정 잠금 해제 키입니다.
MBIMPinTypeServiceProviderPuk 16 SP(서비스 공급자) 개인 설정 잠금 해제 키입니다.
MBIMPinTypeCorporatePuk 17 회사 개인 설정 잠금 해제 키입니다.
MBIMPinTypeNev 18 NEV 키입니다.
MBIMPinTypeAdm 19 관리 키입니다.

원치 않는 이벤트

해당 사항 없음

상태 코드

다음 상태 코드가 적용됩니다.

상태 코드 Description
MBIM_STATUS_BUSY 모든 명령에 대해 정의된 기본 MBIM 상태.
MBIM_STATUS_FAILURE 모든 명령에 대해 정의된 기본 MBIM 상태.
MBIM_STATUS_SIM_NOT_INSERTED UICC가 없으므로 UICC 작업을 수행할 수 없습니다.
MBIM_STATUS_BAD_SIM UICC가 오류 상태이므로 UICC 작업을 수행할 수 없습니다.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR 파일을 공유할 수 없고 현재 다른 애플리케이션에서 액세스 중이므로 선택할 수 없습니다. SIM에서 반환하는 상태 단어는 6985입니다.

MBIM_CID_MS_UICC_ACCESS_BINARY

이 CID는 구조 형식 MBIMUiccFileStructureTransparent 또는 MBIMUiccFileStructureBerTLV를 사용하여 UICC 이진 파일에 액세스하기 위한 특정 명령을 보냅니다.

매개 변수

작업(Operation) 설정 쿼리 알림
명령 적용할 수 없음 MBIM_UICC_ACCESS_BINARY 적용할 수 없음
응답 적용할 수 없음 MBIM_UICC_RESPONSE 적용할 수 없음

쿼리

이진 파일을 읽습니다. MBIM_COMMAND_MSG InformationBuffer에는 MBIM_UICC_ACCESS_BINARY 구조체가 포함되어 있습니다. MBIM_UICC_RESPONSE 구조체는 MBIM_COMMAND_DONE InformationBuffer에 반환됩니다.

MBIM_UICC_ACCESS_BINARY(버전 1)

Offset 크기 필드 형식 Description
0 4 버전 Uint32 다음 구조체의 버전 번호입니다. 이 구조체의 버전 1 에 대해 이 필드를 1로 설정해야 합니다.
4 4 AppIdOffset OFFSET 이 구조체의 시작부터 애플리케이션 ID를 포함하는 버퍼까지의 오프셋(바이트)입니다.
8 4 AppIdSize 크기(0..16) ETSI TS 102 221 기술 사양의 섹션 8.3에 정의된 애플리케이션 ID의 크기(바이트)입니다. 2G 카드의 경우 이 필드는 0으로 설정해야 합니다.
12 4 FilePathOffset OFFSET 이 구조체의 시작 부분에서 파일 경로가 포함된 버퍼로 계산된 오프셋(바이트)입니다. 파일 경로는 16비트 파일 ID의 배열입니다. 첫 번째 ID는 0x7FFF 또는 0x3F00. 첫 번째 ID가 0x7FFF 경우 경로는 AppId로 페이지를 매긴 애플리케이션의 ADF를 기준으로 합니다. 그렇지 않으면 MF에서 시작하는 절대 경로입니다.
16 4 FilePathSize SIZE 파일 경로의 크기(바이트)입니다.
20 4 FileOffset Uint32 파일에서 읽을 때 사용할 오프셋입니다. 이 필드는 256보다 클 수 있으며 ETSI TS 102 221 기술 사양에 정의된 대로 오프셋 높음과 오프셋이 모두 낮습니다.
24 4 NumberOfBytes Uint32 읽을 바이트 수입니다. 예를 들어 클라이언트 드라이버는 이 함수를 사용하여 256바이트보다 큰 투명(이진) 파일을 읽을 수 있지만 단일 UICC 작업에서 읽거나 쓸 수 있는 최대 크기는 ETSI TS 102 221 기술 사양당 256바이트입니다. 이를 여러 APU로 분할하고 결과를 단일 응답으로 다시 보내는 것은 함수의 책임입니다.
28 4 LocalPinOffset OFFSET 이 구조체의 시작 부분에서 암호를 포함하는 버퍼로 계산된 오프셋(바이트)입니다. 이는 PIN2(로컬 PIN)이며 작업에 로컬 PIN 유효성 검사가 필요한 경우에 사용됩니다.
32 4 LocalPinSize 크기(0..16) 암호 크기(바이트)입니다.
36 4 BinaryDataOffset OFFSET 이 구조체의 시작 부분에서 명령별 데이터가 포함된 버퍼로 계산된 오프셋(바이트)입니다. 이진 데이터는 SET 작업에만 사용됩니다.
40 4 BinaryDataSize 크기(0..32768) 데이터의 크기(바이트)입니다.
44 DataBuffer DATABUFFER AppId, FilePath, LocalPin 및 BinaryData를 포함하는 데이터 버퍼입니다.

설정

해당 사항 없음

응답

다음 MBIM_UICC_RESPONSE 구조체는 InformationBuffer에 사용됩니다.

MBIM_UICC_RESPONSE(버전 1)

Offset 크기 필드 형식 Description
0 4 버전 Uint32 structurethat의 버전 번호는 다음과 같습니다. 이 구조체의 버전 1 에 대해 이 필드는 1이어야 합니다.
4 4 StatusWord1 UINT32(0..256) UICC 명령과 관련된 반환 매개 변수입니다.
8 4 StatusWord2 UINT32(0..256) UICC 명령과 관련된 반환 매개 변수입니다.
12 4 ResponseDataOffset OFFSET 이 구조체의 시작부터 응답 데이터가 포함된 버퍼까지 계산된 오프셋(바이트)입니다. 응답 데이터는 QUERY 작업에만 사용됩니다.
16 4 ResponseDataSize SIZE(0..32768) 데이터의 크기(바이트)입니다.
20 DataBuffer DATABUFFER ResponseData를 포함하는 데이터 버퍼입니다.

원치 않는 이벤트

해당 사항 없음

상태 코드

다음 상태 코드가 적용됩니다.

상태 코드 Description
MBIM_STATUS_BUSY 모든 명령에 대해 정의된 기본 MBIM 상태.
MBIM_STATUS_FAILURE 모든 명령에 대해 정의된 기본 MBIM 상태.
MBIM_STATUS_SIM_NOT_INSERTED UICC가 없으므로 UICC 작업을 수행할 수 없습니다.
MBIM_STATUS_BAD_SIM UICC가 오류 상태이므로 UICC 작업을 수행할 수 없습니다.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR 파일을 공유할 수 없고 현재 다른 애플리케이션에서 액세스 중이므로 선택할 수 없습니다. SIM에서 반환하는 상태 단어는 6985입니다.
MBIM_STATUS_PIN_FAILURE PIN 오류로 인해 작업이 실패했습니다.

MBIM_CID_MS_UICC_ACCESS_RECORD

이 CID는 구조 형식이 MBIMUiccFileStructureCyclic 또는 MBIMUIccFileStructureLinear인 UICC 선형 고정 또는 순환 파일에 액세스하기 위해 특정 명령을 보냅니다.

매개 변수

작업(Operation) 설정 쿼리 알림
명령 적용할 수 없음 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)

Offset 크기 필드 형식 Description
0 4 버전 Uint32 다음 구조체의 버전 번호입니다. 이 구조체의 버전 1에 대해 이 필드를 1 로 설정해야 합니다.
4 4 AppIdOffset OFFSET 이 구조체의 시작부터 애플리케이션 ID를 포함하는 버퍼까지의 오프셋(바이트)입니다.
8 4 AppIdSize 크기(0..16) ETSI TS 102 221 기술 사양의 섹션 8.3에 정의된 애플리케이션 ID 크기(바이트)입니다. 2G 카드의 경우 이 필드를 0으로 설정해야 합니다.
12 4 FilePathOffset OFFSET 이 구조체의 시작부터 파일 경로가 포함된 버퍼까지 계산된 오프셋(바이트)입니다. 파일 경로는 16비트 파일 ID의 배열입니다. 첫 번째 ID는 0x7FFF 또는 0x3F00. 첫 번째 ID가 0x7FFF 경우 경로는 AppId로 페이지를 매긴 애플리케이션의 ADF를 기준으로 합니다. 그렇지 않으면 MF에서 시작하는 절대 경로입니다.
16 4 FilePathSize SIZE 파일 경로의 크기(바이트)입니다.
20 4 RecordNumber UINT32(0..256) 레코드 번호입니다. 항상 절대 레코드 인덱스를 나타냅니다. 모뎀이 파일에서 여러 액세스(NEXT, PREVIOUS)를 수행할 수 있으므로 상대 레코드 액세스는 지원되지 않습니다.
24 4 LocalPinOffset OFFSET 이 구조체의 시작 부분에서 암호를 포함하는 버퍼로 계산된 오프셋(바이트)입니다. 잠금 암호는 null로 끝나는 UTF-8 10진수 문자열입니다.
28 4 LocalPinSize 크기(0..16) 암호 크기(바이트)입니다.
32 4 RecordDataOffset OFFSET 이 구조체의 시작 부분에서 명령별 데이터가 포함된 버퍼로 계산된 오프셋(바이트)입니다. 레코드 데이터는 SET 작업에만 사용됩니다.
36 4 RecordDataSize 크기(0..256) 데이터의 크기(바이트)입니다.
40 DataBuffer DATABUFFER AppId, FilePath, LocalPin 및 RecordData를 포함하는 데이터 버퍼입니다.

설정

해당 사항 없음

응답

MBIM_UICC_RESPONSE 구조체는 InformationBuffer에 사용됩니다.

원치 않는 이벤트

해당 사항 없음

상태 코드

다음 상태 코드를 적용할 수 있습니다.

상태 코드 Description
MBIM_STATUS_BUSY 모든 명령에 대해 정의된 기본 MBIM 상태.
MBIM_STATUS_FAILURE 모든 명령에 대해 정의된 기본 MBIM 상태.
MBIM_STATUS_SIM_NOT_INSERTED UICC가 없으므로 UICC 작업을 수행할 수 없습니다.
MBIM_STATUS_BAD_SIM UICC가 오류 상태이므로 UICC 작업을 수행할 수 없습니다.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR 파일을 공유할 수 없고 현재 다른 애플리케이션에서 액세스 중이므로 선택할 수 없습니다. SIM에서 반환한 상태 단어는 6985입니다.
MBIM_STATUS_PIN_FAILURE PIN 오류로 인해 작업이 실패했습니다.

MBIM_CID_MS_PIN_EX

이 CID는 ETSI TS 102 221 기술 사양의 섹션 9에 정의된 모든 PIN 보안 작업을 수행하는 데 사용됩니다. CID는 MBIM_CID_MS_PIN 비슷하지만 다중 앱 UICC 카드를 지원하도록 확장합니다. 단일 확인 가능 IC만 지원됩니다. 둘 이상의 애플리케이션 PIN을 지원하는 다중 확인 지원 IC는 지원되지 않습니다. 하나의 PIN(애플리케이션 PIN)이 UICC의 모든 ADF/DF 및 파일에 할당됩니다. 그러나 각 애플리케이션은 수준 2 사용자 확인 요구 사항으로 PIN2(로컬 PIN)를 지정할 수 있으므로 모든 액세스 명령에 대한 추가 유효성 검사가 필요합니다. 이 시나리오는 MBIM_CID_MS_PIN_EX 지원하는 것입니다.

MBIM_CID_MS_PIN 마찬가지로 MBIM_CID_MS_PIN_EX 디바이스는 한 번에 하나의 PIN만 보고합니다. 여러 PIN을 사용하도록 설정하고 여러 PIN을 보고할 수도 있는 경우 함수는 먼저 PIN1을 보고해야 합니다. 예를 들어 보조금 잠금 보고를 사용하도록 설정하고 SIM의 PIN1을 사용하도록 설정한 경우 PIN1이 성공적으로 확인된 후에만 후속 쿼리 요청에서 보조금 잠금 PIN을 보고해야 합니다. 빈 PIN은 MBIMPinOperationEnter와 함께 허용됩니다. 빈 PIN은 PinSize를 0으로 설정하여 지정됩니다. 이 경우 SET 명령은 QUERY와 유사하며 참조된 PIN의 상태를 반환합니다. 이는 ETSI TS 102 221 기술 사양의 섹션 11.1.9에 지정된 대로 VERIFY 명령의 동작에 완전히 맞춰집니다.

매개 변수

작업(Operation) 설정 쿼리 알림
명령 MBIM_SET_PIN_EX MBIM_PIN_APP 적용할 수 없음
응답 MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX 적용할 수 없음

쿼리

다음 MBIM_PIN_APP 구조체는 InformationBuffer에 사용됩니다.

MBIM_PIN_APP(버전 1)

Offset 크기 필드 형식 Description
0 4 버전 Uint32 다음 구조체의 버전 번호입니다. 이 구조체의 버전 1 에 대해 이 필드를 1로 설정해야 합니다.
4 4 AppIdOffset OFFSET 이 구조체의 시작부터 애플리케이션 ID를 포함하는 버퍼까지의 오프셋(바이트)입니다.
8 4 AppIdSize 크기(0..16) ETSI TS 102 221 기술 사양의 섹션 8.3에 정의된 애플리케이션 ID의 크기(바이트)입니다. 2G 카드의 경우 이 필드는 0으로 설정해야 합니다.
12 DataBuffer DATABUFFER ETSI TS 102 221 기술 사양에 정의된 AppId입니다.

설정

다음 MBIM_SET_PIN_EX 구조체는 InformationBuffer에 사용됩니다.

MBIM_SET_PIN_EX

Offset 크기 필드 형식 Description
0 4 PinType MBIM_PIN_TYPE_EX PIN 유형입니다. 이 항목의 MBIM_PIN_TYPE_EX 표를 참조하세요.
4 4 PinOperation MBIM_PIN_OPERATION PIN 작업입니다. MBIM 1.0을 참조하세요.
8 4 PinOffset OFFSET 이 구조체의 시작 부분에서 작업을 수행할 PIN 값을 나타내는 문자열 PIN 또는 PIN 설정을 사용하거나 사용하지 않도록 설정하는 데 필요한 PIN 값으로 계산된 오프셋(바이트)입니다. 이 필드는 PinOperation의 모든 값에 적용됩니다.
12 4 PinSize 크기(0..32) PIN에 사용되는 크기(바이트)입니다.
16 4 NewPinOffset OFFSET PinTypeMBIMPinTypePuk1 또는 PinTypeMBIMPinTypePuk2의 경우 PinOperation이 MBIMPinOperationChange 또는 MBIMPinOperationEnter일 때 설정할 새 PIN 값을 나타내는 NewPin 문자열로 이 구조의 시작 부분에서 계산된 오프셋(바이트)입니다.
20 4 NewPinSize 크기(0..32) NewPin에 사용되는 크기(바이트)입니다.
24 4 AppIdOffset OFFSET 이 구조체의 시작 부분에서 애플리케이션 ID를 포함하는 버퍼로 계산된 오프셋(바이트)입니다.
28 4 AppIdSize 크기(0..16) ETSI TS 102 221 기술 사양의 섹션 8.3에 정의된 애플리케이션 ID의 크기(바이트)입니다. 2G 카드의 경우 이 필드는 0으로 설정해야 합니다.
32 DataBuffer DATABUFFER Pin, NewPin 및 AppId를 포함하는 데이터 버퍼입니다.

응답

다음 MBIM_PIN_INFO_EX 구조체는 InformationBuffer에 사용됩니다.

Offset 크기 필드 형식 Description
0 4 PinType MBIM_PIN_TYPE_EX PIN 유형입니다. 이 항목의 MBIM_PIN_TYPE_EX 표를 참조하세요.
4 4 PinState MBIM_PIN_STATE PIN 상태입니다. MBIM 1.0을 참조하세요.
8 4 RemainingAttempts Uint32 enter, enable 또는 disable와 같은 PIN 관련 작업에 대한 나머지 시도 횟수입니다. 이 정보를 지원하지 않는 디바이스는 이 멤버를 0xFFFFFFFF 설정해야 합니다.

원치 않는 이벤트

해당 사항 없음

상태 코드

다음 상태 코드가 적용됩니다.

상태 코드 Description
MBIM_STATUS_BUSY 모든 명령에 대해 정의된 기본 MBIM 상태.
MBIM_STATUS_FAILURE 모든 명령에 대해 정의된 기본 MBIM 상태.
MBIM_STATUS_SIM_NOT_INSERTED UICC가 없으므로 UICC 작업을 수행할 수 없습니다.
MBIM_STATUS_BAD_SIM UICC가 오류 상태이므로 UICC 작업을 수행할 수 없습니다.
MBIM_STATUS_PIN_DISABLED PIN을 사용하지 않도록 설정하여 작업이 실패했습니다.
MBIM_STATUS_PIN_REQUIRED 계속하려면 PIN을 입력해야 하므로 작업이 실패했습니다.
MBIM_STATUS_NO_DEVICE_SUPPORT 해당 PIN 형식의 SET가 디바이스에서 지원되지 않으므로 작업이 실패했습니다.