структура WWAN_CONTEXT_STATE (wwan.h)
Структура WWAN_CONTEXT_STATE представляет состояние контекста протокола данных пакетов (PDP) устройства в МБ.
Синтаксис
typedef struct _WWAN_CONTEXT_STATE {
ULONG uNwError;
ULONG ConnectionId;
WWAN_ACTIVATION_STATE ActivationState;
WWAN_VOICE_CALL_STATE VoiceCallState;
WWAN_IP_TYPE IPType;
WWAN_CONNECTION_MEDIA ConnectionMedia;
WCHAR AccessString[WWAN_ACCESSSTRING_LEN];
WWAN_SINGLE_NSSAI Snssai;
ULONG FoundMatchingConnectionId;
WWAN_OFFSET_SIZE_ELEMENT TrafficParameters;
} WWAN_CONTEXT_STATE, *PWWAN_CONTEXT_STATE;
Члены
uNwError
Ошибка, зависят от сети. В следующей таблице показаны значения сбоя подключения, как описано в спецификации 3GPP TS 24.008,спецификации.
Код причины 3GPP 24.008 | Интерпретация кода причины |
---|---|
8. Оператор определил запрет | Служба данных пакетов блокируется оператором. |
26. Недостаточно ресурсов | Контекст нельзя активировать из-за нехватки ресурсов в сети. |
27. Отсутствует или неизвестное имя точки доступа (APN) | В запросе активации нет APN или неизвестного APN. |
29, 30, 31 — сбой проверки подлинности пользователя | Неправильное имя пользователя или пароль, указанные в запросе на активацию. |
32. Параметр службы не поддерживается | СЛУЖБА JSON не поддерживается сетью. |
33. Запрошенный параметр службы не подписан | Запрошенная служба (JSON) не подписана пользователем. |
34. Параметр службы временно не упорядочен | Служба данных пакетов временно не упорядочена. Пользователь должен повторить попытку позже. |
43 — контекст неизвестного протокола данных пакетов (PDP) | В запросе активации нет APN или неизвестного APN. |
ConnectionId
Служба МБ задает значение для этого члена во время запроса на подключение с помощью OID_WWAN_CONNECT. Драйверы мини-порта должны скопировать это значение и использовать его при уведомлении службы МБ о последующих изменениях состояния подключения.
ActivationState
Текущее состояние активации устройства.
VoiceCallState
Текущее состояние голосового вызова устройства.
IPType
Значение из перечисления WWAN_IP_TYPE, указывающее тип IP-адреса.
ConnectionMedia
Тип носителя для установленного контекста или сеанса.
AccessString[WWAN_ACCESSSTRING_LEN]
Выбранный APN/DNN для установленного контекста или сеанса.
Snssai
Структура WWAN_SINGLE_NSSAI, представляющая одну информацию о помощи по выбору среза сети (NSSAI).
FoundMatchingConnectionId
Допустимо только в том случае, если состояние WWAN_STATUS_SESSION_ALREADY_EXISTS.
TrafficParameters
Структура WWAN_OFFSET_SIZE_ELEMENT. Допустимо только в том случае, если состояние WWAN_STATUS_DESSOCIATION_NEEDED_FOR_APPLICATION. Первые 4 байта — это смещение к DataBuffer, содержащее необработанные данные MBIM_TLV_TYPE_TRAFFIC_PARAMETERS в байтах, вычисляемое с начала WWAN_SET_CONTEXT_STATE. Второй 4 байт — это размер необработанных данных MBIM_TLV_TYPE_TRAFFIC_PARAMETERS в байтах.
Замечания
Задать запросы OID, а также события состояния без опрошенного состояния используют элемент uNwError. Если нет определенной сети ошибки или не известной ошибки конкретной сети, драйверы мини-порта должны задать для этого члена значение 0.
Ниже приведены рекомендации по возврату ошибки конкретной сети в разных сценариях:
- Если запрос набора завершается сбоем, драйверы минипорта должны вернуть код ошибки конкретной сети. В этом случае драйвер минипорта должен задать uStatus член структуры NDIS_WWAN_CONTEXT_STATE WWAN_STATUS_FAILURE или более конкретную ошибку, например WWAN_STAUS_INVALID_ACCESS_STRING или WWAN_STATUS_INVALID_USER_NAME_PWD, и задать элемент uNwError в код ошибки конкретной сети.
- Всякий раз, когда состояние активации контекста устройства изменяется из-за деактивации контекста, инициированного сетью, то события состояния, инициируемые сетью, должны включать в себя ошибку, связанную с сетью. В этом случае драйвер минипорта должен задать для элемента uStatus член структуры NDIS_WWAN_CONTEXT_STATE WWAN_STATUS_SUCCESS и задать элемент uNwError в коде ошибки конкретной сети.
В случае ответа на NDIS_WWAN_SET_CONTEXT_STATE используйте этот элемент для предоставления дополнительных кодов ошибок, возвращаемых сетью.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows 8 и более поздних версиях Windows. |
заголовка | wwan.h (include Wwan.h) |