Operações de retirada e avanço

O NDIS fornece funções de retirada e avanço para manipular estruturas de NET_BUFFER . As operações de retirada disponibilizam mais espaço de dados usado para o driver atual. As operações avançadas liberam o espaço de dados usado.

As operações de retirada são necessárias durante operações de envio ou quando um driver retorna dados recebidos para um driver subjacente. Por exemplo, durante uma operação de envio, um driver pode chamar a função NdisRetreatNetBufferDataStart para abrir espaço para dados de cabeçalho.

As operações avançadas são necessárias quando uma operação de envio é concluída ou quando um driver recebe dados de um driver subjacente. Por exemplo, durante uma operação de recebimento, um driver pode chamar a função NdisAdvanceNetBufferDataStart para ignorar os dados de cabeçalho usados por um driver de nível inferior. Nesse caso, os dados de cabeçalho permanecem no buffer no espaço de dados não utilizado.

A figura a seguir mostra a relação entre os dados de rede e essas operações.

Diagrama mostrando a relação entre dados de rede e operações de avanço e retirada.

Os tópicos a seguir fornecem mais informações sobre operações de avanço e retirada:

Operações de retirada

Operações avançadas