Função NdisRetreatNetBufferDataStart (ndis/nblapi.h)
Chame a função NdisRetreatNetBufferDataStart para acessar mais espaço de dados usado na cadeia MDL de uma estrutura NET_BUFFER .
Sintaxe
NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferDataStart(
[in] NET_BUFFER *NetBuffer,
[in] ULONG DataOffsetDelta,
[in] ULONG DataBackFill,
[in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler
);
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 adicionar. O NDIS ajusta o membro DataOffset da estrutura NET_BUFFER adequadamente. Se não houver espaço de dados não utilizado suficiente para atender à solicitação, o NDIS alocará memória adicional.
[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.
Retornar valor
NdisRetreatNetBufferDataStart retorna um dos seguintes:
Código de retorno | Descrição |
---|---|
|
NdisRetreatNetBufferDataStart alocou com êxito o espaço de dados usado usando o espaço de dados não utilizado ou alocando um novo armazenamento. |
|
NdisRetreatNetBufferDataStart falhou devido a recursos insuficientes. |
|
NdisRetreatNetBufferDataStart falhou por motivos diferentes de recursos insuficientes. |
Comentários
NdisRetreatNetBufferDataStart tenta atender à solicitação reduzindo o valor do membro DataOffset da estrutura NET_BUFFER .
Se não houver espaço de dados não utilizado suficiente, essa função alocará um novo buffer e um MDL para descrever o novo buffer e encadeia o novo MDL para o início da cadeia de MDL. O NDIS chama a função NetAllocateMdl especificada em AllocateMdl para alocar o MDL e a memória. A função NetAllocateMdl pode usar qualquer método de alocação que atenda aos requisitos de design do driver.
Chamar o Função NdisAdvanceNetBufferDataStart para liberar o espaço de dados usado que foi adicionado com NdisRetreatNetBufferDataStart.
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 da DDI | Irql_NetBuffer_Function(ndis) |