다음을 통해 공유


MB 하위 수준 UICC 액세스

개요

모바일 광대역 인터페이스 모델 수정 버전 1.0 또는 MBIM1은 호스트 디바이스와 셀룰러 데이터 모뎀 간의 OEM 및 IHV 독립적 인터페이스를 정의합니다.

MBIM1 함수는 UICC 스마트 카드 포함하며 일부 데이터 및 내부 상태에 대한 액세스를 제공합니다. 그러나 스마트 카드 MBIM 인터페이스에서 정의한 기능 이외의 추가 기능이 있을 수 있습니다. 이러한 추가 기능에는 근거리 통신을 기반으로 하는 모바일 결제 솔루션의 보안 요소 또는 전체 UICC 프로필의 원격 프로비저닝에 대한 지원이 포함됩니다.

모바일 광대역 지원 Windows 디바이스에서 MBIM 인터페이스는 RIL(무선 인터페이스 계층) 인터페이스 외에도 사용됩니다. RIL에서 제공하는 기능 중 하나는 UICC에 대한 낮은 수준의 액세스를 위한 인터페이스입니다. 이 항목에서는 MBIM 인터페이스에서 이 추가 기능을 설명하는 MBIM에 대한 Microsoft 확장 집합에 대해 설명합니다.

Microsoft 확장은 디바이스 서비스 명령 집합(설정 및 쿼리) 및 알림으로 구성됩니다. 이러한 확장에는 디바이스 서비스 스트림의 새로운 사용이 포함되지 않습니다.

MBIM 서비스 및 CID 값

서비스 이름 UUID UUID 값
Microsoft Low-Level UICC 액세스 UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367

다음 표에서는 각 CID에 대한 명령 코드와 CID가 Set, Query 또는 Event(알림) 요청을 지원하는지 여부를 지정합니다. 매개 변수, 데이터 구조 및 알림에 대한 자세한 내용은 이 항목 내에서 각 CID의 개별 섹션을 참조하세요.

CID 명령 코드 설정 쿼리 알림
MBIM_CID_MS_UICC_ATR 1 N Y N
MBIM_CID_MS_UICC_OPEN_CHANNEL 2 Y N N
MBIM_CID_MS_UICC_CLOSE_CHANNEL 3 Y N N
MBIM_CID_MS_UICC_APDU) 4 Y N N
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY 5 Y Y N
MBIM_CID_MS_UICC_RESET 6 Y Y N

상태 코드

MBIM 상태 코드는 MBIM 표준의 섹션 9.4.5에 정의되어 있습니다. 또한 다음과 같은 추가 오류 상태 코드가 정의됩니다.

상태 코드 값(16진수) Description
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

형식 Description
MBIMSubscriberReadyStateNoEsimProfile 7 카드 준비가 되었지만 사용하도록 설정된 프로필이 없습니다.

UICC 응답 및 상태

UICC는 문자 기반 또는 레코드 기반 인터페이스 또는 둘 다를 구현할 수 있습니다. 특정 메커니즘은 다르지만 UICC는 두 개의 상태 바이트(SW1 및 SW2)와 응답(비어 있을 수 있음)으로 각 명령에 응답합니다. 일반적인 성공 상태 90 00으로 표시됩니다. 그러나 UICC가 카드 애플리케이션 도구 키트를 지원하고 UICC가 자동 관리 명령을 터미널에 보내려는 경우 성공적인 반환은 91 XX(XX가 다른 경우)의 상태 표시됩니다. MBIM 함수 또는 터미널은 다른 UICC 작업 중에 수신된 자동 관리 명령(UICC로 FETCH 보내기, 자동 관리 명령 처리 또는 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는 나머지 바이트 수이거나 256바이트 이상이 남아 있는 경우 00입니다. 모뎀은 모든 데이터가 수신될 때까지 동일한 클래스 바이트를 사용하여 GET RESPONSE를 반복적으로 실행해야 합니다. 최종 상태 단어 90 00으로 표시됩니다. 시퀀스는 특정 논리 채널 내에서 중단되지 않아야 합니다. 추가 APU는 모뎀에서 처리되어야 하며 호스트에 투명해야 합니다. 호스트에서 처리되는 경우 다른 APDU가 APDU 시퀀스 중에 카드 비동기적으로 참조할 수 있다는 보장은 없습니다.

IHVRIL과 비교

IHVRIL 사양의 섹션 5.2.3.3.10~5.2.3.3.14는 이 사양의 기반이 되는 유사한 인터페이스를 정의합니다. 몇 가지 차이점은 다음과 같습니다.

  • RIL 인터페이스는 보안 메시징을 지정하는 방법을 제공하지 않습니다. APTU를 교환하는 MBIM 명령은 이를 명시적 매개 변수로 지정합니다.
  • RIL 인터페이스는 APDU 내에서 클래스 바이트의 해석을 명확하게 정의하지 않습니다. MBIM 사양은 호스트에서 보낸 클래스 바이트가 있어야 하지만 사용되지 않는다고 명시하고 대신 MBIM 함수가 이 바이트를 생성합니다.
  • RIL 인터페이스는 별도의 함수를 사용하여 그룹의 모든 UICC 채널을 닫는 반면, MBIM 인터페이스는 단일 CID에 대한 변형 인수를 사용하여 이를 수행합니다.
  • MBIM 오류 상태 및 UICC 상태(SW1 SW2) 간의 관계는 RIL 오류와 UICC 상태 간의 관계보다 더 명확하게 정의됩니다.
  • MBIM 인터페이스는 새 논리 채널을 할당하지 못한 경우와 지정된 애플리케이션 선택 실패를 구분합니다.
  • MBIM 인터페이스를 사용하면 모뎀 터미널 기능 개체를 카드 보낼 수 있습니다.

MBIM_CID_MS_UICC_ATR

ATR(다시 설정에 대한 답변)은 재설정이 수행된 후 UICC에서 보낸 첫 번째 바이트 문자열입니다. 지원하는 논리 채널 수와 같은 카드 기능을 설명합니다. MBIM 함수는 UICC에서 수신될 때 ATR을 저장해야 합니다. 이후에 호스트는 MBIM_CID_MS_UICC_ATR 명령을 사용하여 ATR을 검색할 수 있습니다.

매개 변수

Type 설정 쿼리 알림
명령 해당 없음 Empty 해당 없음
응답 해당 없음 MBIM_MS_ATR_INFO 해당 없음

쿼리

쿼리 메시지의 InformationBuffer가 비어 있습니다.

설정

해당 사항 없음

응답

MBIM_COMMAND_DONE InformationBuffer에는 이 함수에 연결된 UICC에 대한 재설정 답변을 설명하는 다음 MBIM_MS_ATR_INFO 구조가 포함되어 있습니다.

MBIM_MS_ATR_INFO

Offset 크기 필드 형식 Description
0 4 AtrSize SIZE(0..33) AtrData의 길이입니다.
4 4 AtrOffset OFFSET 이 구조체의 시작 부분에서 ATR 데이터가 포함된 AtrData 라는 바이트 배열로 계산된 오프셋(바이트)입니다.
8 AtrSize DataBuffer DATABUFFER AtrData 바이트 배열입니다.

원치 않는 이벤트

해당 사항 없음

상태 코드

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

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

호스트는 MBIM_CID_MS_UICC_OPEN_CHANNEL 명령을 사용하여 함수가 UICC 카드 새 논리 채널을 열고 지정된 UICC 애플리케이션(해당 애플리케이션 ID로 지정됨)을 선택하도록 요청합니다.

함수는 UICC 명령 시퀀스를 사용하여 이 MBIM 명령을 구현합니다.

  1. 함수는 ETSI TS 102 221 기술 사양의 섹션 11.1.17에 설명된 대로 MANAGE CHANNEL 명령을 UICC로 보내 새 논리 채널을 만듭니다. 이 명령이 실패하면 함수는 SW1 SW2를 사용하여 MBIM_STATUS_MS_NO_LOGICAL_CHANNELS 상태 반환하고 추가 작업을 수행하지 않습니다.
  2. MANAGE CHANNEL 명령이 성공하면 UICC는 새 논리 채널의 채널 번호를 함수에 보고합니다. 함수는 ETSI TS 102 221 기술 사양의 섹션 11.1.1에 설명된 대로 P1 = 04인 SELECT [by name] 명령을 보냅니다. 이 작업이 실패하면 함수는 논리 채널을 닫기 위해 UICC에 MANAGE CHANNEL 명령을 보내고 SELECT에서 SW1 SW2가 있는 MBIM_STATUS_MS_SELECT_FAILED 상태 반환합니다.
  3. SELECT 명령이 성공하면 함수는 향후 참조를 위해 호스트에서 지정한 논리 채널 번호와 채널 그룹을 기록합니다. 그런 다음 SELECT에서 논리 채널 번호, SW1 SW2 및 SELECT에서 호스트로 응답을 반환합니다.

매개 변수

작업(Operation) 설정 쿼리 알림
명령 MBIM_MS_SET_UICC_OPEN_CHANNEL 해당 없음 해당 없음
응답 MBIM_MS_UICC_OPEN_CHANNEL_INFO 해당 없음 해당 없음

쿼리

해당 사항 없음

설정

MBIM_COMMAND_MSG InformationBuffer에는 다음과 같은 MBIM_MS_SET_UICC_OPEN_CHANNEL 구조가 포함됩니다.

MBIM_MS_SET_UICC_OPEN_CHANNEL

Offset 크기 필드 형식 Description
0 4 AppIdSize SIZE(0..32) 애플리케이션 ID(AppId)의 크기입니다.
4 4 AppIdOffset OFFSET 이 구조체의 시작 부분에서 계산된 바이트 단위 오프셋으로, APPId를 SELECTed로 정의하는 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

Offset 크기 필드 형식 Description
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 응답 바이트 배열 데이터입니다.

명령이 MBIM_STATUS_MS_NO_LOGICAL_CHANNELS 반환하는 경우 상태 필드에는 MANAGE CHANNEL 명령의 UICC 상태 단어 SW1 및 SW2가 포함되어야 하며 나머지 필드는 0이 됩니다. 명령이 MBIM_STATUS_MS_SELECT_FAILED 반환하는 경우 상태 필드에 SELECT 명령의 UICC 상태 단어 SW1 및 SW2가 포함되어야 하며 나머지 필드는 0이 됩니다. 다른 상태 경우 InformationBuffer는 비어 있어야 합니다.

원치 않는 이벤트

해당 사항 없음

상태 코드

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

상태 코드 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_STATUS_MS_NO_LOGICAL_CHANNELS 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 이 채널을 열었는지 여부를 검사 합니다. 그렇다면 채널을 닫고, MBIM_STATUS_SUCCESS 상태 반환하고, MANAGE CHANNEL에서 SW1 SW2를 반환하려면 UICC에 MANAGE CHANNEL 명령을 보내야 합니다. 그렇지 않은 경우 아무 작업도 수행하지 않고 MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL 실패 상태 반환해야 합니다.

호스트가 채널 그룹을 지정하는 경우 함수는 해당 채널 그룹과 함께 열린 논리 채널을 결정하고 이러한 각 채널에 대해 UICC에 MANAGE CHANNEL 명령을 보냅니다. 마지막 관리 채널의 SW1 SW2를 사용하여 MBIM_STATUS_SUCCESS 상태 반환합니다. 채널이 닫혀 있지 않으면 90 00을 반환합니다.

매개 변수

작업(Operation) 설정 쿼리 알림
명령 MBIM_MS_SET_UICC_CLOSE_CHANNEL 해당 없음 해당 없음
응답 MBIM_MS_UICC_CLOSE_CHANNEL_INFO 해당 없음 해당 없음

쿼리

해당 사항 없음

설정

MBIM_COMMAND_MSG InformationBuffer에는 다음과 같은 MBIM_MS_SET_UICC_CLOSE_CHANNEL 구조가 포함됩니다.

MBIM_MS_SET_UICC_CLOSE_CHANNEL

Offset 크기 필드 형식 Description
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

Offset 크기 필드 형식 Description
0 4 상태 BYTE[2] 이 명령을 대신하여 함수가 실행한 마지막 MANAGE CHANNEL의 SW1 및 SW2입니다.

원치 않는 이벤트

해당 사항 없음

상태 코드

상태 코드 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_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 표준의 첫 번째 상호 운용성 정의에 정의된 클래스 바이트 값 또는 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로 보내기 전에 함수는 형식에 따라 호스트의 첫 번째 바이트를 새 클래스 바이트( ISO/IEC 7816-4:2013 표준 의 섹션 4 또는 ETSI TS 102 221 기술 사양의 섹션 10.1.1에 정의된 대로 인코딩됨)로 바꿉니다. 채널 및 호스트에서 지정한 SecureMessaging 값:

Byte 클래스 Description
0X 7816-4 interindustry, 1 <= channel <= 3, 적절한 경우 낮은 니블의 보안을 인코딩합니다.
4X 7816-4 interindustry, 4 <= channel <= 19, 보안 메시징 없음
6X 7816-4 interindustry, 4 <= channel <= 19, secure(헤더가 인증되지 않음)
8X 102 221 확장, 1<= 채널 <= 3, 관련이 있는 경우 낮은 니블에서 보안 인코딩
CX 102 221 확장, 4 <= 채널 <= 19, 보안 메시징 없음
EX 102 221 확장, 4 <= 채널 <= 19, 보안(헤더 인증되지 않음)

함수는 UICC에서 호스트로 상태, SW1 SW2 및 응답을 반환해야 합니다.

매개 변수

작업(Operation) 설정 쿼리 알림
명령 MBIM_MS_SET_UICC_APDU 해당 없음 해당 없음
응답 MBIM_MS_UICC_APDU_INFO 해당 없음 해당 없음

쿼리

해당 사항 없음

설정

MBIM_COMMAND_MSG InformationBuffer에는 다음과 같은 MBIM_MS_SET_UICC_APDU 구조가 포함됩니다.

MBIM_MS_SET_UICC_APDU

Offset 크기 필드 형식 Description
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 명령 바이트 배열입니다.

MBIM_MS_SET_UICC_APDU 구조는 다음 MBIM_MS_UICC_SECURE_MESSAGING 및 MBIM_MS_UICC_CLASS_BYTE_TYPE 데이터 구조를 사용합니다.

MBIM_MS_UICC_SECURE_MESSAGING
형식 Description
MBIMMsUiccSecureMessagingNone 0 보안 메시징이 없습니다.
MBIMMsUiccSecureMessagingNoHdrAuth 1 보안 메시징, 명령 헤더가 인증되지 않았습니다.
MBIM_MS_UICC_CLASS_BYTE_TYPE
형식 Description
MBIMMsUiccInterindustry 0 ISO 7816-4의 첫 번째 interindustry 정의에 따라 정의됩니다.
MBIMMsUiccExtended 1 ETSI 102 221의 확장된 정의에 따라 정의됩니다.

응답

MBIM_COMMAND_DONE InformationBuffer에는 다음과 같은 MBIM_MS_UICC_APDU_INFO 구조가 포함됩니다.

MBIM_MS_UICC_APDU_INFO

Offset 크기 필드 형식 Description
0 4 상태 BYTE[2] SW1 및 SW2는 명령에서 생성된 단어를 상태.
4 4 ResponseLength SIZE 응답 길이(바이트)입니다.
8 4 ResponseOffset OFFSET 이 구조체의 시작 부분에서 SELECT의 응답을 포함하는 Response 라는 바이트 배열로 계산된 오프셋(바이트)입니다.
12 - DataBuffer DATABUFFER 응답 바이트 배열입니다.

원치 않는 이벤트

해당 사항 없음

상태 코드

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

상태 코드 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_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에 지정된 터미널 기능 APDU는 첫 번째 애플리케이션을 선택하기 전에 카드 보내야 합니다(지원되는 경우). 따라서 호스트는 터미널 기능 APDU를 직접 보낼 수 없지만 모뎀에 의해 영구적으로 저장되는 하나 이상의 터미널 기능 개체를 포함하는 MBIM_CID_MS_UICC_TERMINAL_CAPABILITY 명령을 보냅니다. 다음 카드 삽입 또는 다시 설정에서 ATR 이후 모뎀은 MF를 선택하고 터미널 기능이 지원되는지 여부를 검사. 이 경우 모뎀은 MBIM_CID_MS_UICC_TERMINAL_CAPABILITY 명령으로 지정된 정보와 모뎀 생성 정보를 사용하여 터미널 기능 APDU를 보냅니다.

매개 변수

작업(Operation) 설정 쿼리 알림
명령 MBIM_MS_SET_UICC_TERMINAL_CAPABILITY Empty 해당 없음
응답 해당 없음 MBIM_MS_TERMINAL_CAPABILITY_INFO 해당 없음

쿼리

InformationBuffer는 null이고 InformationBufferLength는 0이어야 합니다.

설정

MBIM_COMMAND_MSG InformationBuffer에는 다음과 같은 MBIM_MS_SET_UICC_TERMINAL_CAPABILITY 구조가 포함됩니다.

MBIM_MS_SET_UICC_TERMINAL_CAPABILITY

Offset 크기 필드 형식 Description
0 4 ElementCount Uint32 터미널 기능 개체의 요소 수입니다.
4 8*EC CapabilityList OL_PAIR_LIST 각 터미널 기능 개체 TLV에 대한 오프셋 길이 쌍 목록입니다.
4+8*EC - DataBuffer DATABUFFER 실제 터미널 기능 개체 TV의 바이트 배열입니다.

응답

응답에는 모뎀에 마지막으로 보낸 터미널 기능 개체가 있는 정확한 SET 명령이 포함됩니다. 따라서 MBIM_MS_TERMINAL_CAPABILITY_INFO MBIM_MS_SET_UICC_TERMINAL_CAPABILITY 동일합니다.

MBIM_MS_TERMINAL_CAPABILITY_INFO

Offset 크기 필드 형식 Description
0 4 ElementCount Uint32 터미널 기능 개체의 요소 수입니다.
4 8*EC CapabilityList OL_PAIR_LIST 각 터미널 기능 개체 TLV에 대한 오프셋 길이 쌍 목록입니다.
4+8*EC - DataBuffer DATABUFFER 실제 터미널 기능 개체 TV의 바이트 배열입니다.

원치 않는 이벤트

해당 사항 없음

상태 코드

상태 코드 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_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 파일 시스템이 없는 경우에도). 함수는 카드 APU를 보내지 않으며 호스트와 UICC 간의 통신을 방해하지 않습니다.

호스트가 MBIMMsUICCPassThroughDisable 통과 작업을 지정하는 경우 함수는 UICC를 다시 설정하고 UICC 전원이 켜지면 UICC를 일반 Telecom UICC로 처리하고 UICC에 Telecom UICC 파일 시스템이 존재할 것으로 예상합니다.

호스트가 통과 상태 확인하기 위해 함수를 쿼리할 때 함수가 MBIMMsUICCPassThroughEnabled 상태 응답하는 경우 통과 모드가 사용하도록 설정되어 있음을 의미합니다. 함수가 MBIMMsUICCPassThroughDisabled 상태 응답하는 경우 통과 모드가 비활성화됨을 의미합니다.

매개 변수

Type 설정 쿼리 알림
명령 MBIM_MS_SET_UICC_RESET Empty 해당 없음
응답 MBIM_MS_UICC_RESET_INFO MBIM_MS_UICC_RESET_INFO 해당 없음

쿼리

InformationBuffer는 null이고 InformationBufferLength 는 0이어야 합니다.

설정

MBIM_SET_MS_UICC_RESET

MBIM_SET_MS_UICC_RESET 구조체에는 호스트에서 지정한 통과 작업이 포함됩니다.

Offset 크기 필드 형식 Description
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 함수의 통과 상태 포함됩니다.

Offset 크기 필드 형식 Description
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

원치 않는 이벤트

해당 사항 없음

상태 코드

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