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


Реагирование на наборы и запросы в промежуточном драйвере

Так как промежуточный драйвер NDIS привязан к вышестояшему драйверу NDIS, он также может получать запросы и наборы из своей функции MiniportOidRequest . В некоторых случаях промежуточный драйвер просто передает такие запросы базовому драйверу мини-порта. В противном случае он может отвечать на эти запросы и настраивать в соответствии с средой, экспортируемой в верхней части. Обратите внимание, что промежуточный драйвер всегда должен передавать все запросы OID_PNP_Xxx, которые он получает от чрезмерного драйвера NDIS, в базовый драйвер мини-порта. Промежуточные драйверы NDIS 6.0 также могут отменять запросы OID.

Чтобы перенаправить запрос к базовым драйверам, промежуточный драйвер NDIS вызывает NdisAllocateCloneOidRequest , чтобы выделить клонированную структуру NDIS_OID_REQUEST . Драйвер вызывает функцию NdisOidRequest для отправки запроса. После завершения запроса драйвер должен вызвать функцию NdisFreeCloneOidRequest , чтобы освободить структуру NDIS_OID_REQUEST.

Чтобы отменить запрос OID, вызовите функцию NdisCancelOidRequest .

Как правило, общие идентификаторы OID, получаемые промежуточным драйвером, совпадают или похожи на те, которые промежуточный драйвер отправляет базовому драйверу мини-порта. Средние идентификаторы OID, получаемые промежуточным драйвером, являются типом среды, необходимой для драйвера.

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

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

Дополнительные сведения о реагировании на наборы и запросы в промежуточном драйвере см. в разделах Получение и настройка сведений о драйвере мини-порта и Поддержка NDIS для WMI.