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

[Функция разгрузки дымохода TCP не рекомендуется и не должна использоваться.]

Эта функция получает точки входа функций 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.

Все остальные 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 структуру. Целевой объект разгрузки проверяет типа, редакциии размер членов структуры NDIS_OBJECT_HEADER. Эти члены указывают структуру, содержащую точки входа для конкретной трубы, номер редакции этой структуры и размер этой структуры в байтах. Значение типа совпадает с тем же значением, что и целевой объект разгрузки, предоставленный для параметра ChimneyType.

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

ChimneyType Структура обработчиков для конкретного химни
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