WWAN_DEVICE_CAPS structure (wwan.h)
The WWAN_DEVICE_CAPS structure represents the capabilities of the MB device.
Syntax
typedef struct _WWAN_DEVICE_CAPS {
WWAN_DEVICE_TYPE WwanDeviceType;
WWAN_CELLULAR_CLASS WwanCellularClass;
WWAN_VOICE_CLASS WwanVoiceClass;
WWAN_SIM_CLASS WwanSimClass;
ULONG WwanDataClass;
WCHAR CustomDataClass[WWAN_CUSTOM_DATA_CLASS_LEN];
ULONG WwanGsmBandClass;
ULONG WwanCdmaBandClass;
WCHAR CustomBandClass[WWAN_CUSTOM_BAND_CLASS_LEN];
ULONG WwanSmsCaps;
ULONG WwanControlCaps;
WCHAR DeviceId[WWAN_DEVICEID_LEN];
WCHAR Manufacturer[WWAN_MANUFACTURER_LEN];
WCHAR Model[WWAN_MODEL_LEN];
WCHAR FirmwareInfo[WWAN_FIRMWARE_LEN];
ULONG MaxActivatedContexts;
ULONG WwanAuthAlgoCaps;
WWAN_LIST_HEADER CellularClassListHeader;
} WWAN_DEVICE_CAPS, *PWWAN_DEVICE_CAPS;
Members
WwanDeviceType
The type of the device. Miniport drivers must set the device type to be a value other than WwanDeviceTypeUnknown.
WwanCellularClass
The cellular class of the device. Miniport drivers must set the cellular class to be a value other than WwanCellularClassUnknown. The values in this member control features that are specific to cellular technology, such as network provider registration modes.
Miniport drivers that support multi-mode should set this to WwanCellularClassGsm.
WwanVoiceClass
The voice class of the device. This member informs the MB Service about the presence of circuit voice service, and how such service interacts with data service. Be aware that the MB Service does not support circuit-switched voice natively, nor does it preclude it. It is up to the miniport driver to determine how to support circuit voice. This WwanVoiceClass member allows the MB Service to support this feature in the future.
WwanSimClass
The class of the Subscriber Identity Module (SIM card). Miniport drivers must set the SIM class to be a value other than WwanSimClassUnknown.
WwanDataClass
A bitmap that represents the data-class(es) that the device supports. The following table shows the possible values for this member.
Value | Meaning |
---|---|
WWAN_DATA_CLASS_NONE | The device does not support data service. |
WWAN_DATA_CLASS_GPRS | General Packet Radio Service (GPRS) data service is supported. This value applies only to GSM-based devices. |
WWAN_DATA_CLASS_EDGE | Enhanced Data for Global Evolution (EDGE) data service is supported. This value applies only to GSM-based devices. |
WWAN_DATA_CLASS_UMTS | Universal Mobile Telecommunications System (UMTS) data service is supported. This value applies only to GSM-based devices. |
WWAN_DATA_CLASS_HSDPA | High-Speed Downlink Packet Access (HSDPA) data service is supported. This value applies only to GSM-based devices. |
WWAN_DATA_CLASS_HSUPA | High-Speed Uplink Packet Access (HSUPA) data service is supported. This value applies only to GSM-based devices. |
WWAN_DATA_CLASS_LTE | LTE data service is supported. This value applies only to GSM-based devices. |
WWAN_DATA_CLASS_5G | 5G data service is supported. |
WWAN_DATA_CLASS_TDSCDMA | Time Division Synchronous CDMA data service is supported. |
WWAN_DATA_CLASS_1XRTT | CDMA 1x Radio Transmission Technology (1xRTT, also known as cdma2000, CDMA2000 1x, and so on) data service is supported. This value applies only to CDMA-based devices. |
WWAN_DATA_CLASS_1XEVDO | CDMA Evolution-Data Optimized (originally Data Only, 1xEDVO, also known as CDMA2000 1x EV-DO, or 1x EVDO) data service is supported. This value applies only to CDMA-based devices. |
WWAN_DATA_CLASS_1XEVDO_REVA | 1xEVDO RevA data service is supported. This value applies only to CDMA-based devices. |
WWAN_DATA_CLASS_1XEVDV | CDMA Evolution-Data/Voice (also known as CDMA 2000 1x EV-DV, or 1x EVDV) data service is supported. This value applies only to CDMA-based devices. |
WWAN_DATA_CLASS_3XRTT | CDMA 3x Radio Transmission Technology (3xRTT) data service is supported. This value applies only to CDMA-based devices. |
WWAN_DATA_CLASS_1XEVDO_REVB | 1xEVDO RevB data service is supported. This value applies only to CDMA-based devices. |
WWAN_DATA_CLASS_UMB | UMB data service is supported. This value applies only to CDMA-based devices. |
WWAN_DATA_CLASS_CUSTOM | The device supports a data service not listed in this table. |
CustomDataClass[WWAN_CUSTOM_DATA_CLASS_LEN]
A NULL-terminated string that represents the name of the custom data-class. This member is valid only when the miniport driver sets the WWAN_DATA_CLASS_CUSTOM bit in the WwanDataClass member.
WwanGsmBandClass
A bitmap that represents the frequency bands GSM-based devices support. The following table shows the possible values for this member.
Value | Meaning |
---|---|
WWAN_BAND_CLASS_UNKNOWN | The frequency band that is supported by the device is not given. |
WWAN_BAND_CLASS_I | The device supports the UMTS2100 spectrum. |
WWAN_BAND_CLASS_II | The device supports the UMTS1900 spectrum. |
WWAN_BAND_CLASS_III | The device supports the UMTS1800 spectrum. |
WWAN_BAND_CLASS_IV | The device supports the AWS spectrum. |
WWAN_BAND_CLASS_V | The device supports the UMTS850 spectrum. |
WWAN_BAND_CLASS_VI | The device supports the UMTS800 spectrum. |
WWAN_BAND_CLASS_VII | The device supports the UMTS2600 spectrum. |
WWAN_BAND_CLASS_VIII | The device supports the UMTS900 spectrum. |
WWAN_BAND_CLASS_IX | The device supports the UMTS1700 spectrum. |
WWAN_BAND_CLASS_X | |
WWAN_BAND_CLASS_CUSTOM | The device supports a spectrum other than those listed in this table. |
If the miniport driver specifies WWAN_BAND_CLASS_CUSTOM, it should also provide the name of the data-class in CustomBandClass .
For more information about these values, see OID_WWAN_DEVICE_CAPS.
WwanCdmaBandClass
A bitmap that represents the frequency bands CDMA-based devices support. The following table shows the possible values for this member.
Value | Meaning |
---|---|
WWAN_BAND_CLASS_UNKNOWN | The frequency band that is supported by the device is not given. |
WWAN_BAND_CLASS_0 | The device supports the 800MHz band. |
WWAN_BAND_CLASS_I | The device supports the 1900MHz band. |
WWAN_BAND_CLASS_II | The device supports the TACS band. |
WWAN_BAND_CLASS_III | The device supports the JTACS band. |
WWAN_BAND_CLASS_IV | The device supports the Korean PCS band. |
WWAN_BAND_CLASS_V | The device supports the 450 MHz band. |
WWAN_BAND_CLASS_VI | The device supports the 2 GHz band. |
WWAN_BAND_CLASS_VII | The device supports the 700 MHz band. |
WWAN_BAND_CLASS_VIII | The device supports the 1800 MHz band. |
WWAN_BAND_CLASS_IX | The device supports the 900 MHz band. |
WWAN_BAND_CLASS_X | The device supports the secondary 800 MHz band. |
WWAN_BAND_CLASS_XI | The device supports the 400 MHz European PAMR band. |
WWAN_BAND_CLASS_XII | The device supports the 800 MHz PAMR band. |
WWAN_BAND_CLASS_XIII | The device supports the 2.5GHz IMT2000 Extension band. |
WWAN_BAND_CLASS_XIV | The device supports the US PCS 1.9GHz band. |
WWAN_BAND_CLASS_XV | The device supports the AWS band. |
WWAN_BAND_CLASS_XVI | The device supports the US 2.5GHz band. |
WWAN_BAND_CLASS_XVII | The device supports the US 2.5 GHz Forward Link Only band. |
WWAN_BAND_CLASS_CUSTOM | The device supports a band other than the bands listed in this table. |
If the miniport driver specifies WWAN_BAND_CLASS_CUSTOM, it should also provide the name of the data-class in CustomBandClass .
For more information about these values, see OID_WWAN_DEVICE_CAPS.
CustomBandClass[WWAN_CUSTOM_BAND_CLASS_LEN]
A NULL-terminated string that represents the name of the custom band class. This member is valid only when the miniport driver sets the WWAN_BAND_CLASS_CUSTOM bit in either the WwanGsmBandClass or WwanCdmaBandClass members, as appropriate.
WwanSmsCaps
A bitmap that represents the type of SMS messages and directional flow that the device supports. The following table shows the valid SMS capabilities settings.
Value | Meaning |
---|---|
WWAN_SMS_CAPS_NONE | The device does not support SMS messages. |
WWAN_SMS_CAPS_PDU_SEND |
For GSM-based devices, this value means that the device supports sending PDU-style SMS
messages.
For CDMA-based devices, this value means that the device is capable of sending SMS messages in binary format as defined in section "3.4.2.1 SMS Point-to-Point Message" in 3GPP2 specification C.S0015-A "Short Message Service (SMS) for Wideband Spread Spectrum Systems". |
WWAN_SMS_CAPS_PDU_RECEIVE |
For GSM-based devices, this value means that the device supports receiving PDU-style SMS
messages.
For CDMA-based devices, this value means that the device is capable of reading the SMS messages in binary format as defined in section "3.4.2.1 SMS Point-to-Point Message" in the 3GPP2 specification C.S0015-A "Short Message Service (SMS) for Wideband Spread Spectrum Systems". |
WWAN_SMS_CAPS_TEXT_SEND | The device supports sending Text-style SMS messages. This flag applies for CDMA-based devices. |
WWAN_SMS_CAPS_TEXT_RECEIVE | The device supports receiving Text-style SMS messages. This flag applies for CDMA-based devices. |
Miniport drivers should set this member to reflect support for only GSM PDU format for receiving and sending SMS when the current home provider is multi-mode capable. Therefore, if the miniport driver receives a SMS in the cellular class native format, for example CDMA TEXT or CDMA PDU, then the miniport driver is required to do the translation to GSM PDU and indicate it to the MB Service. Similarly if the miniport driver receives a send request in GSM PDU format then it is required to do the translation to its native cellular class format.
WwanControlCaps
A bitmap that represents the control capabilities that the device supports. The following table shows the valid WwanControlCaps settings for GSM-based and CDMA-based devices.
Value | Meaning |
---|---|
WWAN_CTRL_CAPS_REG_MANUAL | Indicates whether the provider network allows manual network selection. Miniport drivers for GSM-based devices should specify this flag. Miniport drivers for CDMA-based devices should not specify this flag. |
WWAN_CTRL_CAPS_HW_RADIO_SWITCH | Indicates the presence of a hardware radio power switch. This corresponds to the WwanDeviceTypeEmbedded value of the WWAN_DEVICE_TYPE enumeration. |
WWAN_CTRL_CAPS_CDMA_MOBILE_IP |
Indicates that the CDMA-based device is configured to support mobile IP. This flag applies only to
CDMA-based devices.
Miniport drivers should not set this flag when the current home provider is multi-mode capable. |
WWAN_CTRL_CAPS_CDMA_SIMPLE_IP |
Indicates that the CDMA-based device is configured for simple IP support. This flag applies only
to CDMA-based devices.
Miniport drivers should not set this flag when the current home provider is multi-mode capable. |
WWAN_CTRL_CAPS_CDMA_MOBILE_IP ored with WWAN_CTRL_CAPS_CDMA_SIMPLE_IP | Indicates that the CDMA-based device is configured to support mobile IP, with simple IP as a fallback option. |
WWAN_CTRL_CAPS_PROTECT_UNIQUEID | Indicates that Windows should not display the International Mobile Subscriber Identity (IMSI). |
WWAN_CTRL_CAPS_USSD |
Indicates that the GSM-based MB device is configured to support the USSD protocol. This flag applies only to GSM-based devices.
Miniport drivers that support sending and receiving USSD messages set this flag. Miniport drivers can set this flag when the current multi-mode capable home providers GSM side of the network supports USSD even if the CDMA side of the network does not support USSD. |
WWAN_CTRL_CAPS_MODEL_MULTI_CARRIER | Indicates that the MB device supports registering and connecting to multiple network operators. |
WWAN_CTRL_CAPS_MULTI_MODE | This flag indicates that the current home provider supports multiple cellular classes/RATs (Radio Access Technologies). |
Miniport drivers of CDMA-based devices must specify WWAN_CTRL_CAPS_CDMA_MOBILE_IP, or WWAN_CTRL_CAPS_CDMA_SIMPLE_IP, or both flags to inform the MB Service about the type of IP that the device supports.
DeviceId[WWAN_DEVICEID_LEN]
A NULL-terminated string that represents the device ID.
For GSM-based devices, the string must conform to the International Mobile Equipment Identity (IMEI) format (up to 15 digits).
For CDMA-based devices, the string must conform to both the Electronic Serial Number (ESN, 11 digits) and Mobile Equipment Identifier (MEID, 17 digits) formats.
For multi-mode capable miniport drivers, for example those that set the WWAN_CTRL_CAPS_MULTI_MODE flag in WwanControlCaps, only the GSM-based DeviceId must be reported.
This value should be stored in the device's memory and must be available even when the MB device/SIM requires a PIN to unlock.
Manufacturer[WWAN_MANUFACTURER_LEN]
A NULL-terminated string that represents the manufacturer of the device. This member is optional.
Model[WWAN_MODEL_LEN]
A NULL-terminated string that represents the model of the device. This member is optional.
FirmwareInfo[WWAN_FIRMWARE_LEN]
A NULL-terminated string that represents the firmware specific information about the device. This member is optional.
MaxActivatedContexts
The maximum number of activated contexts that are supported by the device. Miniport drivers should enforce this limit by failing any activation attempts that exceed MaxActivatedContexts.
WwanAuthAlgoCaps
A bitmap that represents the types of authentication methods the MB device supports.
Value | Meaning |
---|---|
WWAN_AUTH_ALGO_CAPS_NONE | The MB device does not support any authentication methods. |
WWAN_AUTH_ALGO_CAPS_SIM | The MB device supports the SIM authentication method. |
WWAN_AUTH_ALGO_CAPS_AKA | The MB device supports the AKA authentication method. |
WWAN_AUTH_ALGO_CAPS_AKAP | The MB device supports the AKA' (AKA Prime) authentication method. |
CellularClassListHeader
A formatted WWAN_LIST_HEADER object that represents a list of cellular classes that a multi-mode capable device supports. The ElementType member in WWAN_LIST_HEADER should always be set to WwanStructCellularClass. The ElementCount member in WWAN_LIST_HEADER is set to the number of cellular classes that follow the WWAN_LIST_HEADER structure. MB devices that are not multi-mode capable should set ElementCount to 0.
Remarks
Miniport drivers should specify WWAN_DATA_CLASS_CUSTOM if the data service supported by the device does not belong to any of the other values defined in the table for the WwanDataClass member. If a miniport driver sets the WWAN_DATA_CLASS_CUSTOM flag, the miniport driver should also provide the name of the data-class in the CustomDataClass member.
For GSM-based devices, only GSM-based data-classes must be specified. For example, GPRS, EDGE, UMTS, HSDPA, LTE, and TD-SCDMA. If your miniport driver supports TD-SCDMA, then it should specify WWAN_DATA_CLASS_CUSTOM in the WwanDataClass member and the string "TD-SCDMA" in the CustomDataClass member.
For CDMA-based devices, only CDMA-related data services must be specified. For example, 1xRTT, 1xEV-DO, 1xEV-DO RevA, and UMB. 1xEV-DO RevB is defined for future use. 1xEV-DV and 3xRTT are also defined for completeness.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows 8 and later versions of Windows. |
Header | wwan.h (include Wwan.h) |