Поделиться через


структура WWAN_REGISTRATION_STATE (wwan.h)

Структура WWAN_REGISTRATION_STATE представляет состояние регистрации устройства в МБ.

Синтаксис

typedef struct _WWAN_REGISTRATION_STATE {
  ULONG               uNwError;
  WWAN_REGISTER_STATE RegisterState;
  WWAN_REGISTER_MODE  RegisterMode;
  WCHAR               ProviderId[WWAN_PROVIDERID_LEN];
  WCHAR               ProviderName[WWAN_PROVIDERNAME_LEN];
  WCHAR               RoamingText[WWAN_ROAMTEXT_LEN];
  DWORD               WwanRegFlags;
  WWAN_CELLULAR_CLASS CurrentCellularClass;
  ULONG               PreferredDataClasses;
} WWAN_REGISTRATION_STATE, *PWWAN_REGISTRATION_STATE;

Члены

uNwError

Сетевая ошибка в случае сбоя регистрации. Дополнительные сведения об этом участнике см. в следующем разделе "Примечания".

RegisterState

Состояние регистрации устройства. Список определенных значений см. в разделе WWAN_REGISTER_STATE.

Значение WwanRegisterStatePartner указывает, что устройство находится в роуминге у предпочтительного поставщика партнерской сети, а значение WwanRegisterStateRoaming указывает, что устройство находится в роуминге. Если партнерская характеристика состояния роуминга недоступна, драйвер мини-порта должен сообщить о WwanRegisterStateRoaming.

RegisterMode

Режим регистрации устройства. Список определенных значений см. в разделе WWAN_REGISTER_MODE.

ProviderId[WWAN_PROVIDERID_LEN]

Строка, завершающаяся значением NULL (0–9), представляющая удостоверение поставщика сети.

Для сетей на основе GSM эта строка представляет собой объединение трехзначного мобильного кода страны (MCC) и двух или трехзначного кода мобильной сети (MNC). Операторы на основе GSM могут иметь более одного MNC и, следовательно, более одного ProviderId .

Для сетей на основе CDMA эта строка представляет собой пятизначный идентификатор системы (SID). Как правило, оператор на основе CDMA имеет несколько идентификаторов безопасности. Как правило, перевозчик имеет один sid для каждого рынка, который, как правило, географически разделен в пределах страны по нормативным актам, таким как городские статистические области (MSA) в США Америки. Драйверы минипортов устройств на основе CDMA должны указывать WWAN_CDMA_DEFAULT_PROVIDER_ID, если эти сведения недоступны.

При обработке запроса и состоянии регистрации в режиме автоматической регистрации этот элемент содержит идентификатор поставщика, с которым в настоящее время связано устройство (если применимо). Если состояние регистрации находится в режиме регистрации вручную, этот член содержит идентификатор поставщика, с которым устройство запрашивается для регистрации (даже если поставщик недоступен).

При обработке запроса набора и состоянии регистрации в ручном режиме он содержит идентификатор поставщика, выбранный службой MB для устройства, с которым нужно зарегистрировать устройство. Если состояние регистрации находится в режиме автоматической регистрации, этот параметр игнорируется.

Поставщики CDMA 1xRTT должны иметь значение WWAN_CDMA_DEFAULT_PROVIDER_ID, если идентификатор поставщика недоступен.

ProviderName[WWAN_PROVIDERNAME_LEN]

Строка, завершающаяся значением NULL, представляющая имя поставщика сети. Этот элемент ограничен не более WWAN_PROVIDERNAME_LEN символами.

Для сетей на основе GSM, если предпочтительное представление инициалогов страны и имени мобильной сети (PPCI&N) длиннее двадцати символов, драйвер мини-порта должен сократить имя сети.

Этот элемент игнорируется, когда служба MB задает список предпочтительных поставщиков.

Драйверы мини-порта должны указывать строку NULL для устройств, у которых нет этой информации.

RoamingText[WWAN_ROAMTEXT_LEN]

Строка, завершающаяся значением NULL, информирующая пользователя о том, что устройство находится в роуминге. Этот элемент ограничен не более WWAN_ROAMTEXT_LEN символами.

Этот текст должен предоставлять пользователю дополнительные сведения, если состояние регистрации — WwanRegisterStatePartner или WwanRegisterStateRoaming. Этот член является необязательным.

WwanRegFlags

Флаги регистрации.

Значение Значение
WWAN_REG_FLAGS_NONE Флаги регистрации отсутствуют.
WWAN_REG_FLAGS_NO_MANUAL_REG Без ручного подключения.
WWAN_REG_FLAGS_PS_AUTO_ATTACH Указывает, что устройство в МБ управляет собственным контекстом пакета. Служба MB не отправляет отсоединение пакетов драйверу мини-порта, но может отправить подключение пакета.

CurrentCellularClass

Текущий класс сотовой связи зарегистрированной сети. Для сетей, поддерживающих только один класс сотовой связи, этому члену следует присвоить значение этого класса сотовой связи. Для сетей с поддержкой нескольких режимов драйвер мини-порта отправляет NDIS_STATUS_WWAN_REGISTER_STATE уведомления в службу МБ, когда сеть изменяет свой класс сотовой связи.

PreferredDataClasses

Битовая маска, представляющая технологии доступа к данным, которые являются предпочтительными для подключения.

Комментарии

Запросы и настройка запросов OID, а также незапрошенных событий состояния используют элемент uNwError . Если ошибка, связанная с сетью, отсутствует или она неизвестна, драйверы мини-порта должны установить для этого элемента значение 0. В разделе "Структура индикации состояния" статьи Рабочая семантика МБ показаны значения причины сбоя кода регистрации, определенные в спецификации 3GPP TS 24.008.

Ниже приведены рекомендации по возврату ошибок, относящихся к сети, в разных сценариях.

  • Если регистрация сети завершается сбоем из-за ошибки конкретной сети, драйверы мини-порта должны возвращать ошибку для конкретной сети в ответ на запросы. В этом случае драйверы мини-порта должны задать для элемента uStatus структуры NDIS_WWAN_REGISTRATION_STATE значение WWAN_STATUS_SUCCESS и задать для элемента uNwError код ошибки, относящийся к сети.
  • Если запрос набора завершается ошибкой, драйверы мини-порта должны возвращать код ошибки для конкретной сети. В этом случае драйверы мини-порта должны задать элемент uStatus структуры NDIS_WWAN_REGISTRATION_STATE на WWAN_STATUS_FAILURE и задать для элемента uNwError код ошибки, относящийся к сети.
  • Всякий раз, когда состояние регистрации устройства изменяется из-за того, что сеть отменяет регистрацию устройства (например, сеть отменяет регистрацию устройства из-за истечения срока действия подписки устройства), события незапрошенного состояния должны включать в себя ошибку для конкретной сети. В этом случае драйвер мини-порта должен задать для элемента uStatus структуры NDIS_WWAN_REGISTRATION_STATE значение WWAN_STATUS_SUCCESS и задать для элемента uNwError код ошибки, относящийся к сети.
Чтобы при обработке запросов OID_WWAN_REGISTER_STATE возвращать конкретную сетевую ошибку, драйверы мини-порта должны задать для элемента uStatus структуры NDIS_WWAN_REGISTRATION_STATE значение WWAN_STATUS_FAILURE и задать для элемента uNwError код ошибки, относящийся к сети.

Драйверы минипорта могут предоставлять дополнительные коды ошибок в соответствии со спецификацией стандартов GSM кодов ошибок присоединения пакетов, возвращаемых сетью. Например, драйверы минипорта могут передавать коды ошибок присоединения пакетов спецификации 3GPP TS 24.008, такие как код ошибки 12 (область расположения не разрешена), службе MB через член uNwError .

Водители минипорта должны сообщить код причины как можно раньше. Например, если устройство MB обнаруживает один из этих кодов при попытке зарегистрировать устройство в поставщике сети, драйвер мини-порта должен сообщить об этом в это время.

Драйверы минипорта, подключенные к сети с несколькими режимами, должны указывать на изменение класса сотовой связи с помощью уведомления NDIS_STATUS_WWAN_REGISTER_STATE .

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 8 и более поздних версиях Windows.
Верхняя часть wwan.h (включая Wwan.h)

См. также раздел

NDIS_WWAN_REGISTRATION_STATE

WWAN_REGISTER_MODE

WWAN_REGISTER_STATE