Função NdisRetreatNetBufferListDataStart (ndis/nblapi.h)
Chame a função NdisRetreatNetBufferListDataStart para aumentar o de espaço de dados usado em todas as estruturas de NET_BUFFER em uma estrutura NET_BUFFER_LIST.
Sintaxe
NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferListDataStart(
[in] NET_BUFFER_LIST *NetBufferList,
[in] ULONG DataOffsetDelta,
[in] ULONG DataBackFill,
[in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler,
[in, optional] NET_BUFFER_FREE_MDL *FreeMdlHandler
);
Parâmetros
[in] NetBufferList
Um ponteiro para uma estrutura de NET_BUFFER_LIST alocada anteriormente.
[in] DataOffsetDelta
A quantidade de espaço de dados usado adicional em cada estrutura de NET_BUFFER. Se não houver espaço de dados não utilizado suficiente para atender à solicitação, o NDIS alocará mais memória.
[in] DataBackFill
Se o NDIS precisar alocar memória, esse parâmetro especificará a quantidade de espaço de dados além do valor do parâmetro DataOffsetDelta a ser alocado.
[in, optional] AllocateMdlHandler
Um ponto de entrada opcional para uma função NetAllocateMdl. Se o chamador especificar um ponto de entrada para a função NetAllocateMdl, o NDIS chamará NetAllocateMdl para alocar um MDL e uma memória.
[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.
Valor de retorno
NdisRetreatNetBufferListDataStart retorna um dos seguintes:
Código de retorno | Descrição |
---|---|
|
NdisRetreatNetBufferListDataStart alocou com êxito o espaço de dados em todas as estruturas de NET_BUFFER reduzindo o valor do membro dataoffset ou alocando um novo armazenamento. |
|
falha no NdisRetreatNetBufferListDataStart devido a recursos insuficientes. |
|
falha no NdisRetreatNetBufferListDataStart por motivos diferentes de recursos insuficientes. |
Observações
Chamar NdisRetreatNetBufferListDataStart é o equivalente a chamar o função NdisRetreatNetBufferDataStart para cada estrutura de NET_BUFFER na estrutura NET_BUFFER_LIST. NdisRetreatNetBufferListDataStart tenta atender à solicitação reduzindo o valor do membro DataOffset em cada estrutura NET_BUFFER. Se não houver espaço de dados não utilizado suficiente disponíveis, essa função alocará um novo buffer e MDL e, em seguida, encadeia o novo MDL para o início da cadeia de MDL na estrutura de NET_BUFFER.
Chamar o função NdisAdvanceNetBufferListDataStart para liberar o espaço de dados que foi reivindicado em uma chamada NdisRetreatNetBufferListDataStart anterior. Como alternativa, o driver pode chamar o função NdisAdvanceNetBufferDataStart para cada estrutura NET_BUFFER na estrutura NET_BUFFER_LIST. Chamar NdisAdvanceNetBufferListDataStart é mais eficiente.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
da 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) |