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


Сериализация OID-запросов адаптера miniport

Все запросы OID к адаптеру мини-порта сериализуются с помощью NDIS, за исключением прямых запросов OID, которые не были разработаны для сериализации. Адаптер мини-порта не получит новый запрос OID, пока не будет завершен любой ожидающий запрос. Таким образом, адаптеры минипорта должны быстро завершить OID.

Примечание

Мы рекомендуем выполнить запрос OID менее чем за 1000 мс или 1 секунду, чтобы пользователь не замечал задержки в производительности. Конкретные сведения о времени запросов OID см. в правиле проверки драйверов NdisTimedOidComplete .

Одним из исключений из этого правила сериализации OID является Wi-Fi адаптеров miniport, использующих WDI, которые могут увидеть второй запрос OID, если выполнение предыдущего идентификатора занимает слишком много времени. В следующем примере объясняется, что происходит в этой ситуации:

  1. Первый запрос OID передается адаптеру минипорта WDI.
  2. Сетевой адаптер не реагирует на OID в течение времени, указанного драйвером.
  3. WDI вызывает функцию обратного вызова MINIPORT_WDI_ADAPTER_HANG_DIAGNOSE драйвера для сбора диагностических данных о сетевой адаптере.
  4. Первый OID больше не считается блокировать сериализацию. Это означает, что адаптер минипорта WDI теперь может получать другие запросы OID, даже если первый OID сериализуется. Однако эти другие OIDS также сериализуются, что означает, что адаптер мини-порта WDI не будет одновременно выполнять более двух идентификаторов OID (первый OID, который все еще завис, и второй OID).

Дополнительные сведения об обнаружении зависания WDI UE см. в разделе Обнаружение зависания UE: шаги 1–14.

Дополнительные сведения о запросах OID в NDIS см. в разделе Упрощение обработчика запросов OID в блоге NDIS.