estructura de WWAN_REGISTRATION_STATE (wwan.h)
La estructura WWAN_REGISTRATION_STATE representa el estado de registro del dispositivo MB.
Sintaxis
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;
Miembros
uNwError
Un error específico de la red, en caso de error de registro. Para obtener más información sobre este miembro, vea la siguiente sección "Comentarios".
RegisterState
Estado de registro del dispositivo. Para obtener una lista de valores definidos, consulte WWAN_REGISTER_STATE.
El valor WwanRegisterStatePartner indica que el dispositivo está en itinerancia en un proveedor de red de partners preferido, mientras que el valor wwanRegisterStateRoaming indica que el dispositivo es simplemente móvil. Si la caracterización del asociado del estado de itinerancia no está disponible, el controlador de minipuerto debe notificar WwanRegisterStateRoaming.
RegisterMode
Modo de registro del dispositivo. Para obtener una lista de valores definidos, consulte WWAN_REGISTER_MODE.
ProviderId[WWAN_PROVIDERID_LEN]
Cadena numérica terminada en NULL (0-9) que representa la identidad del proveedor de red.
Para las redes basadas en GSM, esta cadena es una concatenación de un código de país móvil de tres dígitos (MCC) y un código de red móvil de dos o tres dígitos (MNC). Los operadores basados en GSM pueden tener más de una MNC y, por tanto, más de un ProviderId .
En el caso de las redes basadas en XAML, esta cadena es un identificador del sistema (SID) de cinco dígitos. Por lo general, un operador basado en SILENCIOSA tiene más de un SID. Normalmente, un transportista tiene un SID para cada mercado, que normalmente se divide geográficamente dentro de una nación por normativas, como áreas estadísticas metropolitanas (MSA) en la Estados Unidos de América. Los controladores de miniporte de dispositivos basados en JAILBREAK deben especificar WWAN_CDMA_DEFAULT_PROVIDER_ID si esta información no está disponible.
Al procesar una solicitud de consulta y el estado de registro está en modo de registro automático, este miembro contiene el identificador de proveedor al que está asociado el dispositivo (si procede). Cuando el estado de registro está en modo de registro manual, este miembro contiene el identificador de proveedor con el que se solicita que el dispositivo se registre (incluso si el proveedor no está disponible).
Al procesar una solicitud establecida y el estado de registro está en modo manual, contiene el identificador de proveedor seleccionado por el servicio MB para que el dispositivo se registre. Cuando el estado de registro está en modo de registro automático, este parámetro se omite.
Los proveedores NOTIFICACIONES 1xRTT deben establecerse en WWAN_CDMA_DEFAULT_PROVIDER_ID si el identificador del proveedor no está disponible.
ProviderName[WWAN_PROVIDERNAME_LEN]
Cadena terminada en NULL que representa el nombre del proveedor de red. Este miembro está limitado a, como máximo, WWAN_PROVIDERNAME_LEN caracteres.
En el caso de las redes basadas en GSM, si la presentación preferida de iniciales de país y nombre de red móvil (PPCI&N) tiene más de veinte caracteres, el controlador de minipuerto debe abreviar el nombre de red.
Este miembro se omite cuando el servicio MB establece la lista de proveedores preferidos.
Los controladores miniport deben especificar una cadena NULL para los dispositivos que no tengan esta información.
RoamingText[WWAN_ROAMTEXT_LEN]
Cadena terminada en NULL para informar al usuario de que el dispositivo está en itinerancia. Este miembro se limita a como máximo WWAN_ROAMTEXT_LEN caracteres.
Este texto debe proporcionar información adicional al usuario cuando el estado de registro es WwanRegisterStatePartner o WwanRegisterStateRoaming. Este miembro es opcional.
WwanRegFlags
Marcas de registro.
Valor | Significado |
---|---|
WWAN_REG_FLAGS_NONE | No hay marcas de registro. |
WWAN_REG_FLAGS_NO_MANUAL_REG | No hay conexión manual. |
WWAN_REG_FLAGS_PS_AUTO_ATTACH | Indica que el dispositivo MB administra su propio contexto de paquete. El servicio MB no enviará un paquete desasociación al controlador de minipuerto, pero puede enviar una conexión de paquetes. |
CurrentCellularClass
La clase de telefonía móvil actual de la red registrada. Para las redes que solo admiten una única clase de telefonía móvil, este miembro debe establecerse en esa clase de telefonía móvil. En el caso de las redes compatibles con varios modos, el controlador de minipuerto envía notificaciones NDIS_STATUS_WWAN_REGISTER_STATE al servicio MB cuando la red cambia su clase de telefonía móvil.
PreferredDataClasses
Máscara de bits que representa las tecnologías de acceso a datos que se prefieren para una conexión.
Comentarios
Consultar y establecer solicitudes de OID, así como eventos de estado no solicitados, usan el miembro uNwError . Si no hay ningún error específico de red o no se conoce el error específico de la red, los controladores de minipuerto deben establecer este miembro en cero. La sección "Status Indication Structure" (Estructura de indicación de estado) de MB Operational Semantics (Semántica operativa de MB ) muestra los valores de error de código de causa de registro definidos en la especificación TS 24.008 de 3GPP.
Los puntos siguientes proporcionan instrucciones para devolver un error específico de red en diferentes escenarios:
- Si se produce un error en el registro de red debido a un error específico de la red, los controladores de miniporte deben devolver el error específico de la red en respuesta a las solicitudes de consulta . En este caso, los controladores de minipuerto deben establecer el miembro uStatus de la estructura de NDIS_WWAN_REGISTRATION_STATE en WWAN_STATUS_SUCCESS y establecer el miembro uNwError en el código de error específico de la red.
- Si se produce un error en una solicitud establecida , los controladores de minipuerto deben devolver el código de error específico de la red. En este caso, los controladores de minipuerto deben establecer el miembro uStatus de la estructura NDIS_WWAN_REGISTRATION_STATE en WWAN_STATUS_FAILURE y establecer el miembro uNwError en el código de error específico de la red.
- Cada vez que el estado de registro del dispositivo cambia porque la red anula el registro del dispositivo (por ejemplo, la red desinscribe el dispositivo porque la suscripción del dispositivo ha expirado) los eventos de estado no solicitados deben incluir el error específico de la red. En este caso, el controlador de minipuerto debe establecer el miembro uStatus de la estructura de NDIS_WWAN_REGISTRATION_STATE en WWAN_STATUS_SUCCESS y establecer el miembro uNwError en el código de error específico de la red.
Los controladores miniport pueden proporcionar códigos de error adicionales, tal como se define en la especificación de estándares GSM de códigos de error de conexión de paquetes devueltos por la red. Por ejemplo, los controladores de minipuerto pueden comunicar los códigos de error de asociación de paquetes TS 24.008 de especificación 3GPP, como el código de error 12 (área de ubicación no permitida), al servicio MB a través del miembro uNwError .
Los controladores de minipuerto deben notificar el código de causa lo antes posible. Por ejemplo, si el dispositivo MB encuentra uno de estos códigos al intentar registrar el dispositivo en con un proveedor de red, el controlador de minipuerto debe notificarlo en ese momento.
Los controladores de minipuerto conectados a una red de varios modos deben indicar el cambio de clase de telefonía móvil a través de una notificación de NDIS_STATUS_WWAN_REGISTER_STATE .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows 8 y versiones posteriores de Windows. |
Encabezado | wwan.h (incluya Wwan.h) |