Função NdisAdvanceNetBufferDataStart (ndis/nblapi.h)

Chame a função NdisAdvanceNetBufferDataStart para liberar o espaço de dados usado que foi adicionado com o Função NdisRetreatNetBufferDataStart .

Sintaxe

NDIS_EXPORTED_ROUTINE VOID NdisAdvanceNetBufferDataStart(
  [in]           NET_BUFFER          *NetBuffer,
  [in]           ULONG               DataOffsetDelta,
  [in]           BOOLEAN             FreeMdl,
  [in, optional] NET_BUFFER_FREE_MDL *FreeMdlHandler
);

Parâmetros

[in] NetBuffer

Um ponteiro para uma estrutura de NET_BUFFER alocada anteriormente.

[in] DataOffsetDelta

A quantidade de espaço de dados usado para liberar. O NDIS ajusta o valor do membro DataOffset da estrutura NET_BUFFER adequadamente.

[in] FreeMdl

Um valor BOOLEAN que, se TRUE, solicita que o NDIS libere quaisquer MDLs que não são utilizados na operação avançada. Se FreeMdl for FALSE, o NDIS reterá MDLs não utilizados para uso em operações de retirada subsequentes.

[in, optional] FreeMdlHandler

Um ponto de entrada opcional para uma função NetFreeMdl . Se o chamador especificar um ponto de entrada para a função NetFreeMdl , o NDIS chamará NetFreeMdl para liberar um MDL e memória.

Retornar valor

Nenhum

Comentários

Se a memória alocada pelo NDIS atender a uma chamada correspondente para o A função NdisRetreatNetBufferDataStart e NdisAdvanceNetBufferDataStart libera a memória alocada por NdisRetreatNetBufferDataStart . Caso contrário, a memória permanecerá no MDL e somente o valor do membro DataOffset da estrutura NET_BUFFER será modificado.

O NDIS chama a função NetFreeMdl especificada em FreeMdl se NdisAdvanceNetBufferDataStart precisar liberar memória. O NDIS chama NetFreeMdl apenas para liberar os MDLs e a memória alocados pelo driver na função NetAllocateMdl .

Quando os drivers de protocolo chamam NdisAdvanceNetBufferDataStart no caminho de recebimento para acessar os vários cabeçalhos de transporte, a cadeia de MDL não deve ser modificada e FreeMdl é FALSE.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Universal
Cabeçalho ndis/nblapi.h (inclua ndis.h)
Biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL
Regras de conformidade de DDI Irql_NetBuffer_Function(ndis)

Confira também

NET_BUFFER

NdisRetreatNetBufferDataStart

NetAllocateMdl

NetFreeMdl