OID_OFFLOAD_ENCAPSULATION
В качестве запроса слишком многозначные драйверы используют OID OID_OFFLOAD_ENCAPSULATION для получения параметров инкапсуляции текущей задачи разгрузки базового адаптера мини-порта. NDIS обрабатывает этот запрос OID для драйверов мини-порта.
В качестве запроса на установку слишком многозначные драйверы используют OID_OFFLOAD_ENCAPSULATION OID, чтобы задать параметры инкапсуляции разгрузки задачи базового адаптера мини-порта. Драйверы мини-портов, поддерживающие разгрузку задач, должны обрабатывать этот запрос на набор OID.
Комментарии
Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит NDIS_OFFLOAD_ENCAPSULATION структуру.
Драйверы мини-портов
Если драйвер мини-порта не поддерживает разгрузку и этот идентификатор OID, драйвер должен вернуть NDIS_STATUS_NOT_SUPPORTED.
Драйверы мини-порта должны использовать содержимое структуры NDIS_OFFLOAD_ENCAPSULATION для обновления доступных в настоящее время возможностей разгрузки TCP. После обновления драйвер мини-порта должен сообщить о возможностях разгрузки текущей задачи с указанием состояния NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG . Это указывает на состояние, чтобы все драйверы протоколов были обновлены с учетом новых возможностей.
Этот OID используется для активации всех настроенных или включенных разгрузки или отключения всех разгрузки (другими словами, оборудование начинает выполнять разгрузку). Он не обеспечивает точного контроля над отдельными разгрузками. Вместо этого OID_TCP_OFFLOAD_PARAMETERS используется для настройки отдельных разгрузки и также может активировать их. Как правило, большинство разгрузки задач TCP/IP можно настроить и активировать с помощью OID_TCP_OFFLOAD_PARAMETERS.
Однако структура NDIS_OFFLOAD_ENCAPSULATION этого идентификатора также охватывает два других типа инкапсуляции, которые не охвачены NDIS_OFFLOAD_PARAMETERS структурой OID_TCP_OFFLOAD_PARAMETERS: NDIS_ENCAPSULATION_IEEE_802_3 и NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED. Драйверы мини-портов должны справиться с этой разницей в типах инкапсуляции, которые охватываются различными идентификаторами OID.
Если этот OID выдан драйвером протокола для отключения всех разгрузк, для элемента Enabled элемента NDIS_OFFLOAD_ENCAPSULATION будет задано значение NDIS_OFFLOAD_SET_OFF.
Настройка инкапсуляции (драйверы протоколов)
Драйверы протокола задают OID_OFFLOAD_ENCAPSULATION после определения требований к инкапсуляции системы. Драйвер протокола может определить возможности базового адаптера мини-порта из структуры NDIS_BIND_PARAMETERS или путем запроса OID_TCP_OFFLOAD_CURRENT_CONFIG. Драйвер протокола должен задать тип инкапсуляции, поддерживаемый адаптером мини-порта по крайней мере в одной службе разгрузки.
Если драйвер мини-порта поддерживает любой тип разгрузки, поддерживающий запрошенный тип инкапсуляции, драйвер должен возвращать NDIS_STATUS_SUCCESS в ответ на набор OID_OFFLOAD_ENCAPSULATION. В противном случае драйвер мини-порта должен вернуть NDIS_STATUS_INVALID_PARAMETER.
Для операций отправки драйвер протокола может выдавать запросы на отправку, используя только те типы разгрузки, которые поддерживает адаптер мини-порта с требуемым типом инкапсуляции. Таким образом, если запрос на установку OID OID_OFFLOAD_ENCAPSULATION завершается сбоем, драйвер протокола не должен использовать параметры разгрузки в запросах на отправку, которые направляются на этот адаптер мини-порта.
Для операций получения драйвер мини-порта не должен запускать службы разгрузки контрольной суммы или IPsec, пока не получит запрос на набор OID OID_OFFLOAD_ENCAPSULATION.
Получение текущих параметров инкапсуляции (драйверы протокола)
Драйвер протокола может выполнить запрос OID_OFFLOAD_ENCAPSULATION только после настройки OID_OFFLOAD_ENCAPSULATION OID.
NDIS отвечает структурой NDIS_OFFLOAD_ENCAPSULATION , содержащей текущие параметры инкапсуляции.
Драйверы протоколов должны быть подготовлены для обработки любого кода сбоя NDIS_STATUS_Xxx. В случае сбоя драйвер протокола не должен пытаться выполнять какие-либо операции разгрузки, направленные на затронутый адаптер мини-порта.
См. также раздел
NDIS_BIND_PARAMETERS
NDIS_OFFLOAD_ENCAPSULATION
NDIS_OID_REQUEST
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
OID_TCP_OFFLOAD_CURRENT_CONFIG
Требования
Версия: Windows Vista и более поздние заголовок: Ntddndis.h (включая Ndis.h)