функция обратного вызова TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER (ndischimney.h)
[Функция разгрузки tcp chimney является устаревшей и не должна использоваться.]
NDIS вызывает драйвер протокола или драйвер промежуточного уровня Функция ProtocolTcpOffloadReceiveIndicate для доставки полученных данных, на которые указывает базовый драйвер или целевой объект разгрузки.
Синтаксис
TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER TcpOffloadReceiveIndicateHandler;
NDIS_STATUS TcpOffloadReceiveIndicateHandler(
[in] IN PVOID OffloadContext,
[in] IN PNET_BUFFER_LIST NetBufferList,
[in] IN NDIS_STATUS Status,
[out] OUT PULONG BytesConsumed
)
{...}
Параметры
[in] OffloadContext
Указатель на структуру NDIS_OFFLOAD_HANDLE протокола или промежуточного драйвера для TCP-подключения, по которому производится указание. Протокол или промежуточный драйвер предоставил этот указатель в качестве входного параметра для функции NdisInitiateOffload при разгрузке подключения.
[in] NetBufferList
Указатель на структуру NET_BUFFER_LIST . Каждая NET_BUFFER_LIST структура описывает список NET_BUFFER структур. Каждая NET_BUFFER структура в списке сопоставляется с цепочкой списков дескрипторов памяти (MDL). Многомерные списки содержат полученные данные. Многомерные списки заблокированы, чтобы они оставались резидентными, но не сопоставляются с системной памятью.
Структура NET_BUFFER_LIST , определяемая NetBufferList , должна быть автономной и не может быть первой структурой в связанном списке NET_BUFFER_LIST структур. Целевые объекты разгрузки могут обойти это ограничение, связав столько многомерных выражений, сколько необходимо, к одному и тому же NET_BUFFER в индикаторе получения разгрузки.
[in] Status
Промежуточный драйвер должен распространять это состояние при вызове NdisTcpOffloadReceiveHandler.
[out] BytesConsumed
Указатель на переменную типа ULONG, получающую количество байтов, использованных клиентским приложением.
Возвращаемое значение
TheФункция ProtocolTcpOffloadReceiveIndicate может возвращать одно из следующих значений:
Код возврата | Описание |
---|---|
|
Клиентское приложение использовало все указанные данные получения. |
|
Клиентское приложение отклонило все указанные данные получения. |
|
Клиентское приложение использовало подмножество указанных данных получения. Объем данных в байтах, использованный клиентским приложением, возвращается в переменной, заданной параметром BytesConsumed . |
Комментарии
Чтобы распространить указание на вышестоящий драйвер или стек узлов, промежуточный драйвер вызываетФункция NdisTcpOffloadReceiveHandler. Промежуточный драйвер передает следующие параметры в функцию NdisTcpOffloadReceiveHandler :
- NdisOffloadHandle, который целевой объект разгрузки хранится в контексте для разгрузки TCP-подключения. Дополнительные сведения см. в разделе Ссылка на состояние разгрузки через промежуточный драйвер.
- Указатель NetBufferList , переданный NDIS функции ProtocolTcpOffloadReceiveIndicate промежуточного драйвера.
- Состояние, переданное NDIS функции ProtocolTcpOffloadReceiveIndicate промежуточного драйвера.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | ndischimney.h (включая Ndischimney.h) |