Функция 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 может возвращать одно из следующих элементов:
Код возврата | Описание |
---|---|
|
Вызов выполнен успешно. Возвращаемые точки входа NDIS допустимы для указанного типа дымохода. |
|
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) |