Функция NdisMGetOffloadHandlers (ndischimney.h)

[Функция разгрузки tcp chimney является устаревшей и не должна использоваться.]

Эта функция получает точки входа функций NDIS для определенного типа дымохода.

Синтаксис

NDIS_STATUS NdisMGetOffloadHandlers(
  [in]  IN NDIS_HANDLE                   NdisMiniportHandle,
  [in]  IN NDIS_CHIMNEY_OFFLOAD_TYPE     ChimneyType,
  [out] OUT PNDIS_OFFLOAD_EVENT_HANDLERS *OffloadHandlers
);

Параметры

[in] NdisMiniportHandle

Дескриптор контекстной области, выделенной целевым объектом разгрузки, в которой целевой объект разгрузки сохраняет сведения о состоянии этого экземпляра адаптера. Целевой объект разгрузки предоставил этот дескриптор NDIS при вызове NdisMSetMiniportAttributes из егоФункция MiniportInitializeEx.

[in] ChimneyType

Тип дымохода, который является одним из следующих NDIS_CHIMNEY_OFFLOAD_TYPE значений:

NdisTcpChimneyOffload

Тип разгрузки tcp chimney.

Все остальные NDIS_CHIMNEY_OFFLOAD_TYPE значения в настоящее время зарезервированы.

[out] OffloadHandlers

Указатель на переменную, предоставляемую целевым объектом разгрузки. Размер этой переменной равен sizeof(PNDIS_OFFLOAD_EVENT_HANDLERS). Если вызов функции NdisMGetOffloadHandlers завершается успешно, функция возвращает в этой переменной указатель на структуру NDIS_OFFLOAD_EVENT_HANDLERS. Эта структура служит заголовком для структуры дымохода, содержащей точки входа. Структура NDIS_OFFLOAD_EVENT_HANDLERS имеет следующий формат:

typedef struct _NDIS_OFFLOAD_EVENT_HANDLERS {
  NDIS_OBJECT_HEADER  Header;
} NDIS_OFFLOAD_EVENT_HANDLERS, *PNDIS_OFFLOAD_EVENT_HANDLERS;

Эта структура содержит следующий элемент:

Задает заголовок объекта NDIS, который имеет формат NDIS_OBJECT_HEADER структуры.

Возвращаемое значение

NdisMGetOffloadHandlers может возвращать одно из следующих элементов:

Код возврата Описание
STATUS_SUCCESS
Вызов выполнен успешно. Возвращаемые точки входа NDIS допустимы для указанного типа дымохода.
STATUS_NOT_SUPPORTED
NDIS не поддерживает тип дымохода, указанный целевым объектом разгрузки. В этом случае NDIS не возвращает допустимый указатель OffloadHandlers .

Комментарии

Целевой объект разгрузки вызывает эту функцию из функции MiniportInitializeEx , чтобы получить точки входа функций NDIS для конкретного типа дымохода. Целевой объект разгрузки вызывает NdisMGetOffloadHandlers один раз для каждого типа дымохода, который он поддерживает. В каждом вызове целевой объект разгрузки указывает другой тип дымохода.

Если вызов функции NdisMGetOffloadHandlers завершается успешно, NDIS предоставляет допустимый указатель OffloadHandlers , указывающий на NDIS_OFFLOAD_EVENT_HANDLERS структуру. Эта структура содержит NDIS_OBJECT_HEADER структуру. Целевой объект разгрузки проверяет элементы Type, Revision и Size структуры NDIS_OBJECT_HEADER. Эти члены определяют структуру, содержащую точки входа, относящиеся к дымоходу, номер редакции этой структуры и размер этой структуры в байтах. Значение Type совпадает с целевым объектом разгрузки, указанным для параметра ChimneyType .

Если целевой объект разгрузки поддерживает указанный номер редакции , он приводит указатель OffloadHandlers к указателю на соответствующий тип структуры, зависящий от дымохода. В следующей таблице указана структура дымохода для каждого типа дымохода.

Тип дымохода Структура обработчиков, зависящих от chimney
NdisTcpChimneyOffload NDIS_TCP_OFFLOAD_EVENT_HANDLERS
 

Например, для типа дымохода NdisTcpChimneyOffload целевой объект разгрузки приводит указатель OffloadHandlers к *PNDIS_TCP_OFFLOAD_EVENT_HANDLERS.

Структура обработчиков, относящихся к дымоходу, содержит ту же NDIS_OBJECT_HEADER структуру, что и структура NDIS_OFFLOAD_EVENT_HANDLERS.

Целевой объект разгрузки копирует точки входа из структуры, относящейся к дымоходу, в собственную внутреннюю структуру данных, а затем возвращает .

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ndischimney.h (включая Ndischimney.h)

См. также раздел

MiniportInitializeEx

NDIS_OBJECT_HEADER

NDIS_TCP_OFFLOAD_EVENT_HANDLERS

NdisMSetMiniportAttributes