Отступление и продвижение операций

NDIS предоставляет функции отступления и продвижения для управления NET_BUFFER структурами. Операции отступления делают более используемое пространство данных доступным для текущего драйвера. Предварительное освобождение операцийиспользовало пространство данных.

Операции отступления требуются во время операций отправки или когда драйвер возвращает полученные данные базовому драйверу. Например, во время операции отправки драйвер может вызвать функцию NdisRetreatNetBufferDataStart , чтобы освободить место для данных заголовка.

Предварительные операции требуются, когда операция отправки завершена или когда драйвер получает данные от базового драйвера. Например, во время операции получения драйвер может вызвать функцию NdisAdvanceNetBufferDataStart , чтобы пропустить данные заголовка, которые использовались драйвером более низкого уровня. В этом случае данные заголовка остаются в буфере в неиспользуемом пространстве данных.

На следующем рисунке показана связь между данными сети и этими операциями.

Схема, показывающая связь между сетевыми данными и операциями перехода и удаления.

В следующих разделах содержатся дополнительные сведения о операциях с продвижением и отступлением.

Операции отступления

Расширенные операции