Модель данных MB
Модель драйвера MB использует модель данных, которая состоит из набора объектов, определенных как абстракции функций мб устройства. Каждый объект идентифицируется уникальным идентификатором объекта (OID) и определяется набором соответствующих атрибутов. Набор атрибутов организован в структуру данных. Для управления устройством служба MB и драйвер мини-порта MB обмениваются идентификаторами OID и связанными с ними структурами данных на основе запросов OID и указаний, предоставляемых спецификацией интерфейса сетевого драйвера (NDIS).
В модели драйвера MB для запросов OID используются только операции задания и запроса . Модель драйвера MB не использует операции с методами . Для указания модели драйвера MB используются уведомления о событиях и транзакциях для указания изменений состояния в объектах устройства в МБ. Уведомления о транзакциях также сигналит о завершении асинхронной транзакции.
В следующих таблицах перечислены идентификаторы OID и указания состояния, определенные для драйверов мини-порта MB, а также связанные структуры данных. Драйверы мини-порта MB должны реализовывать все обязательные общие идентификаторы OID, необходимые спецификации NDIS 6.20. Список общих OID для NDIS 6.x см. в разделе Общие операционные OID.
Кроме того, драйверы mb miniport должны реализовывать OID_GEN_PHYSICAL_MEDIUM даже если спецификация NDIS описывает их как необязательные для реализации.
Синтаксис и семантика идентификаторов OID MB, перечисленных в следующей таблице, описаны в разделе Оперативная семантика МБ.
WWAN-Specific OID
OID и соответствующая структура данных | Set, Windows 7 | Set, Windows 8 | Запрос, Windows 7 | Запрос, Windows 8 | GSM/CDMA |
---|---|---|---|---|---|
OID_WWAN_DRIVER_CAPS использует NDIS_WWAN_DRIVER_CAPS | Не поддерживается | Не поддерживается | S | S | GSM, CDMA |
OID_WWAN_DEVICE_CAPS не имеет соответствующей структуры | Не поддерживается | Не поддерживается | Объект | Объект | GSM, CDMA |
OID_WWAN_READY_INFO не имеет соответствующей структуры | Не поддерживается. Не поддерживается | Объект | Объект | GSM, CDMA | |
OID_WWAN_SERVICE_ACTIVATION† использует NDIS_WWAN_SERVICE_ACTIVATION | Объект | Объект | Не поддерживается | Не поддерживается | GSM, CDMA |
OID_WWAN_RADIO_STATE использует NDIS_WWAN_SET_RADIO_STATE | Объект | Объект | Объект | Объект | GSM, CDMA |
OID_WWAN_PIN использует NDIS_WWAN_SET_PIN | A | Не поддерживается | A | Не поддерживается | GSM, CDMA |
OID_WWAN_PIN_LIST не имеет соответствующей структуры | Не поддерживается | Не поддерживается | Объект | Объект | GSM, CDMA |
OID_WWAN_PIN_EX использует NDIS_WWAN_SET_PIN_EX | Не поддерживается | A | Не поддерживается | A | GSM, CDMA |
OID_WWAN_HOME_PROVIDER не имеет соответствующей структуры | Не поддерживается | Не поддерживается | Объект | Объект | GSM, CDMA |
OID_WWAN_PREFERRED_PROVIDERS† использует NDIS_WWAN_SET_PREFERRED_PROVIDERS | Объект | Объект | Объект | Объект | Только ДЛЯ GSM |
OID_WWAN_VISIBLE_PROVIDERS не имеет соответствующей структуры | Не поддерживается | Не поддерживается | Объект | Объект | GSM |
OID_WWAN_REGISTER_STATE использует NDIS_WWAN_SET_REGISTER_STATE | Объект | Объект | Объект | Объект | CDMA |
OID_WWAN_SIGNAL_STATE использует NDIS_WWAN_SET_SIGNAL_INDICATION | Объект | Объект | Объект | Объект | GSM, CDMA |
OID_WWAN_PACKET_SERVICE использует NDIS_WWAN_SET_PACKET_SERVICE | Объект | Объект | Объект | Объект | GSM, CDMA |
OID_WWAN_PROVISIONED_CONTEXTS†† использует NDIS_WWAN_SET_PROVISIONED_CONTEXT | Объект | Объект | Объект | Объект | GSM, CDMA |
OID_WWAN_CONNECT использует NDIS_WWAN_SET_CONTEXT_STATE | Объект | Объект | Объект | Объект | GSM, CDMA |
OID_WWAN_SMS_CONFIGURATION использует NDIS_WWAN_SET_SMS_CONFIGURATION | Объект | Объект | Объект | Объект | GSM, CDMA |
OID_WWAN_SMS_READ использует NDIS_WWAN_SMS_READ | Не поддерживается | Объект | Объект | Объект | GSM, CDMA |
OID_WWAN_SMS_SEND использует NDIS_WWAN_SMS_SEND | Объект | Объект | Не поддерживается | Не поддерживается | GSM, CDMA |
OID_WWAN_SMS_DELETE использует NDIS_WWAN_SMS_DELETE | Объект | Объект | Не поддерживается | Не поддерживается | GSM, CDMA |
OID_WWAN_SMS_STATUS использует NDIS_WWAN_SMS_STATUS | Не поддерживается | Не поддерживается | Объект | Объект | GSM, CDMA |
OID_WWAN_VENDOR_SPECIFIC† использует определяемую поставщиком структуру | Объект | Объект | Не поддерживается | Не поддерживается | GSM, CDMA |
OID_WWAN_DEVICE_SERVICES не имеет соответствующей структуры | Не поддерживается | Не поддерживается | Не поддерживается | A | GSM, CDMA |
OID_WWAN_SUBSCRIBE_DEVICE_SERVICE_EVENTS использует NDIS_WWAN_SUBSCRIBE_DEVICE_SERVICE_EVENTS | Не поддерживается | A | Не поддерживается | Не поддерживается | GSM, CDMA |
OID_WWAN_AUTH_CHALLENGE использует NDIS_WWAN_AUTH_CHALLENGE | Не поддерживается | Не поддерживается | Не поддерживается | A | GSM, CDMA |
OID_WWAN_USSD использует NDIS_WWAN_USSD_REQUEST | Не поддерживается | A | Не поддерживается | Не поддерживается | GSM |
OID_WWAN_DEVICE_SERVICE_COMMAND использует NDIS_WWAN_DEVICE_SERVICE_COMMAND | Не поддерживается | A | Не поддерживается | A | GSM, CDMA |
Примечание
Следующие примечания относятся к предыдущей таблице: † представляет необязательные идентификаторы OID, которые могут поддерживать драйверы мини-портов. Драйверы минипорта, которые не поддерживают необязательные идентификаторы OID, не должны возвращать их в OID_GEN_SUPPORTED_LIST.
†† представляет драйверы минипорта, поддерживающие устройства на основе СТАНДАРТА GSM, которые могут при необходимости поддерживать операции установки OID_WWAN_PROVISIONED_CONTEXTS и запросов. Драйверы мини-портов, поддерживающие устройства на основе CDMA, могут при необходимости поддерживать OID_WWAN_PROVISIONED_CONTEXTS операции запросов для устройств на основе CDMA, которые сообщают о простом IP-адресе (WWAN_CTRL_CAPS_CDMA_SIMPLE_IP).
Драйверы минипорта должны поддерживать все необязательные идентификаторы OID. Служба MB может игнорировать любой драйвер минипорта, который не сообщает обо всех обязательных идентификаторах OID.
"A" и "S" в столбцах Операции set и Query в предыдущей таблице отражают характер транзакции для выполнения запроса OID: "A" означает асинхронную транзакцию, а "S" — синхронную.
Структуры данных в предыдущей таблице соответствуют идентификаторам операций задания и возвращают данные для OID синхронных операций запроса.
Следующие идентификаторы OID используют общую структуру данных списка переменной длины, которая называется WWAN_LIST_HEADER в соответствующих структурах данных:
- OID_WWAN_READY_INFO
- OID_WWAN_PREFERRED_PROVIDERS
- OID_WWAN_VISIBLE_PROVIDERS
- OID_WWAN_PROVISIONED_CONTEXTS
- OID_WWAN_SMS_READ
WWAN-Specific индикации, соответствующие структуры данных и редакции ОС
Индикация и соответствующая структура данных |
Редакция Windows 7 Редакция Windows 8 |
использует NDIS_WWAN_DEVICE_CAPS |
NDIS_WWAN_DEVICE_CAPS_REVISION_1 NDIS_WWAN_DEVICE_CAPS_REVISION_2 |
использует NDIS_WWAN_READY_INFO |
NDIS_WWAN_READY_INFO_REVISION_1 NDIS_WWAN_READY_INFO_REVISION_1 |
использует NDIS_WWAN_RADIO_STATE |
NDIS_WWAN_RADIO_STATE_REVISION_1 NDIS_WWAN_RADIO_STATE_REVISION_1 |
использует NDIS_WWAN_PIN_INFO |
NDIS_WWAN_PIN_INFO_REVISION_1 NDIS_WWAN_PIN_INFO_REVISION_1 |
использует NDIS_WWAN_PIN_LIST |
NDIS_WWAN_PIN_LIST_REVISION_1 NDIS_WWAN_PIN_LIST_REVISION_1 |
NDIS_STATUS_WWAN_SERVICE_ACTIVATION† использует NDIS_WWAN_SERVICE_ACTIVATION_STATUS |
NDIS_WWAN_SERVICE_ACTIVATION_STATUS_REVISION_1 NDIS_WWAN_SERVICE_ACTIVATION_STATUS_REVISION_1 |
NDIS_STATUS_WWAN_HOME_PROVIDER использует NDIS_WWAN_HOME_PROVIDER |
NDIS_WWAN_HOME_PROVIDER_REVISION_1 NDIS_WWAN_HOME_PROVIDER_REVISION_1 |
NDIS_STATUS_WWAN_PREFERRED_PROVIDERS† использует NDIS_WWAN_PREFERRED_PROVIDERS |
NDIS_WWAN_PREFERRED_PROVIDERS_REVISION_1 NDIS_WWAN_PREFERRED_PROVIDERS_REVISION_1 |
NDIS_STATUS_WWAN_VISIBLE_PROVIDERS использует NDIS_WWAN_VISIBLE_PROVIDERS |
NDIS_WWAN_VISIBLE_PROVIDERS_REVISION_1 NDIS_WWAN_VISIBLE_PROVIDERS_REVISION_1 |
NDIS_STATUS_WWAN_REGISTER_STATE использует NDIS_WWAN_REGISTRATION_STATE |
NDIS_WWAN_REGISTRATION_STATE_REVISION_1 NDIS_WWAN_REGISTRATION_STATE_REVISION_2 |
использует NDIS_WWAN_SIGNAL_STATE |
NDIS_WWAN_SIGNAL_STATE_REVISION_1 NDIS_WWAN_SIGNAL_STATE_REVISION_1 |
NDIS_STATUS_WWAN_PACKET_SERVICE использует NDIS_WWAN_PACKET_SERVICE_STATE |
NDIS_WWAN_PACKET_SERVICE_STATE_REVISION_1 NDIS_WWAN_PACKET_SERVICE_STATE_REVISION_1 |
NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS использует NDIS_WWAN_PROVISIONED_CONTEXTS |
NDIS_WWAN_PROVISIONED_CONTEXTS_REVISION_1 NDIS_WWAN_PROVISIONED_CONTEXTS_REVISION_1 |
NDIS_STATUS_WWAN_CONTEXT_STATE использует NDIS_WWAN_CONTEXT_STATE |
NDIS_WWAN_CONTEXT_STATE_REVISION_1 NDIS_WWAN_CONTEXT_STATE_REVISION_1 |
NDIS_STATUS_WWAN_SMS_CONFIGURATION использует NDIS_WWAN_SMS_CONFIGURATION |
NDIS_WWAN_SMS_CONFIGURATION_REVISION_1 NDIS_WWAN_SMS_CONFIGURATION_REVISION_1 |
использует NDIS_WWAN_SMS_RECEIVE |
NDIS_WWAN_SMS_RECEIVE_REVISION_1 NDIS_WWAN_SMS_RECEIVE_REVISION_1 |
использует NDIS_WWAN_SMS_SEND_STATUS |
NDIS_WWAN_SMS_SEND_STATUS_REVISION_1 NDIS_WWAN_SMS_SEND_STATUS_REVISION_1 |
использует NDIS_WWAN_SMS_DELETE_STATUS |
NDIS_WWAN_SMS_DELETE_STATUS_REVISION_1 NDIS_WWAN_SMS_DELETE_STATUS_REVISION_1 |
использует NDIS_WWAN_SMS_STATUS |
NDIS_WWAN_SMS_STATUS_REVISION_1 NDIS_WWAN_SMS_STATUS_REVISION_1 |
NDIS_STATUS_WWAN_VENDOR_SPECIFIC† использует определяемую поставщиком структуру |
Н/Д |
использует NDIS_WWAN_USSD_EVENT |
NDIS_WWAN_USSD_EVENT_REVISION_1 NDIS_WWAN_USSD_EVENT_REVISION_1 |
NDIS_STATUS_WWAN_DEVICE_SERVICE_SUPPORTED_COMMANDS использует NDIS_WWAN_DEVICE_SERVICE_SUPPORTED_COMMANDS |
NDIS_WWAN_DEVICE_SERVICES_REVISION_1 NDIS_WWAN_DEVICE_SERVICES_REVISION_1 |
NDIS_STATUS_WWAN_DEVICE_SERVICE_RESPONSE использует NDIS_WWAN_DEVICE_SERVICE_RESPONSE |
NDIS_WWAN_DEVICE_SERVICE_RESPONSE_REVISION_1 NDIS_WWAN_DEVICE_SERVICE_RESPONSE_REVISION_1 |
NDIS_STATUS_WWAN_DEVICE_SERVICE_EVENT использует NDIS_WWAN_DEVICE_SERVICE_EVENT |
NDIS_WWAN_DEVICE_SERVICE_EVENT_REVISION_1 NDIS_WWAN_DEVICE_SERVICE_EVENT_REVISION_1 |
NDIS_STATUS_WWAN_DEVICE_SERVICE_SUBSCRIPTION использует NDIS_WWAN_DEVICE_SERVICE_SUBSCRIPTION |
NDIS_WWAN_DEVICE_SERVICE_SUBSCRIPTION_REVISION_1 NDIS_WWAN_DEVICE_SERVICE_SUBSCRIPTION_REVISION_1 |
NDIS_STATUS_WWAN_AUTH_RESPONSE использует NDIS_WWAN_AUTH_RESPONSE |
NDIS_WWAN_AUTH_RESPONSE_REVISION_1 NDIS_WWAN_AUTH_RESPONSE_REVISION_1 |
NDIS_STATUS_WWAN_SET_HOME_PROVIDER_COMPLETE использует NDIS_WWAN_SET_HOME_PROVIDER |
Н/Д NDIS_WWAN_HOME_PROVIDER_REVISION_2 |
Примечание
Следующие примечания относятся к предыдущей таблице: † представляет необязательные признаки, которые могут поддерживать драйверы минипорта. Имейте в виду, что если драйвер минипорта поддерживает необязательный идентификатор OID, драйвер минипорта также должен поддерживать соответствующее указание.
Поддержка WWAN-Specific индикации для gsm, CDMA и незапрошенных указаний
Указание |
GSM |
CDMA |
Нежелательных Индикация Разрешены? |
X |
X |
Нет |
|
X |
X |
Да |
|
X |
X |
Да |
|
X |
X |
Нет |
|
X |
X |
N |
|
X |
X |
Нет |
|
X |
X |
Нет |
|
X |
Да |
||
X |
X |
Нет |
|
X |
X |
Да |
|
X |
X |
Да |
|
NDIS_STATUS_WWAN_PACKET_SERVICE использует NDIS_WWAN_PACKET_SERVICE_STATE |
X |
X |
Да |
X |
X |
Да |
|
X |
X |
Да |
|
X |
X |
Да |
|
X |
X |
Да |
|
использует NDIS_WWAN_SMS_SEND_STATUS |
X |
X |
Нет |
X |
X |
Нет |
|
X |
X |
Да |
|
X |
X |
Да |
|
X |
Да |
||
X |
X |
Нет |
|
X |
X |
Нет |
|
X |
X |
Да |
|
X |
X |
Нет |
|
X |
X |
N |
|
X |
X |
N |
Идентификаторы OID для нескольких операторов
Следующие изменения относятся к драйверам мини-портов NDIS 6.30, поддерживающим режим нескольких операторов. Если драйвер мини-порта не поддерживает режим с несколькими носителями, обратитесь к предыдущей таблице.
Соответствующаяструктура данных OID и Windows 8 |
Операция запроса |
Операция задания |
GSM/CDMA |
использует NDIS_WWAN_SET_HOME_PROVIDER |
Объект |
Объект |
GSM, CDMA |
OID_WWAN_PREFERRED_MULTICARRIER_PROVIDERS использует NDIS_WWAN_SET_PREFERRED_MULTICARRIER_PROVIDERS. Для параметра PreferredListHeader.ElementType должно быть задано значение WwanStructProvider2 , а структура WWAN_PROVIDER2. |
Объект |
Объект |
GSM, CDMA |
Указания для нескольких носителей, соответствующие структуры данных и редакции ОС
Индикация и соответствующая структура данных |
Редакция Windows 8 |
NDIS_STATUS_WWAN_HOME_PROVIDER использует NDIS_WWAN_HOME_PROVIDER2 |
NDIS_WWAN_HOME_PROVIDER_REVISION_2 |
NDIS_STATUS_WWAN_PREFERRED_MULTICARRIER_PROVIDERS использует NDIS_WWAN_PREFERRED_MULTICARRIER_PROVIDERS |
NDIS_WWAN_PREFERRED_MULTICARRIER_PROVIDERS_REVISION_1. Для параметра PreferredListHeader.ElementType должно быть задано значение WwanStructProvider2 , а список должен содержать WWAN_PROVIDER2 структуру. |
NDIS_STATUS_WWAN_VISIBLE_PROVIDERS использует NDIS_WWAN_VISIBLE_PROVIDERS |
NDIS_WWAN_VISIBLE_PROVIDERS_REVISION_1. VisibleListHeader.ElementType должен иметь значение WwanStructProvider2, а список должен содержать WWAN_PROVIDER2 структуру. |
Поддержка указания для нескольких носителей для сигналов GSM, CDMA и незапрошенных индикации
Индикация и соответствующая структура данных |
GSM |
CDMA |
Нежелательных Индикация Разрешены? |
X |
X |
N |
|
X |
X |
Да |
|
NDIS_STATUS_WWAN_VISIBLE_PROVIDERS использует NDIS_WWAN_VISIBLE_PROVIDERS |
X |
X |
N |