Função NdisAllocateNetBufferMdlAndData (ndis/nblapi.h)
Os drivers NDIS chamam a função NdisAllocateNetBufferMdlAndData para alocar uma estrutura de NET_BUFFER juntamente com o MDL e os dados associados.
Sintaxe
NDIS_EXPORTED_ROUTINE NET_BUFFER * NdisAllocateNetBufferMdlAndData(
[in] NDIS_HANDLE PoolHandle
);
Parâmetros
[in] PoolHandle
Um identificador de pool de estrutura NET_BUFFER que foi retornado anteriormente de uma chamada para a função de NdisAllocateNetBufferPool.
Valor de retorno
NdisAllocateNetBufferMdlAndData retorna um ponteiro para a estrutura de NET_BUFFER alocada pelo NDIS. Se a alocação não tiver sido bem-sucedida, esse ponteiro será NULL.
Observações
O chamador deve chamar a função NdisAllocateNetBufferPool e especificar o tamanho máximo dos buffers de dados. Dado esse valor, o NDIS pode pré-alocar buffers para o chamador.
Essa função aloca uma estrutura NET_BUFFER, MDL e dados em um único buffer de memória. Isso é útil para obter alto desempenho quando NET_BUFFER estruturas são frequentemente alocadas e liberadas. O chamador não deve chamar NdisAllocateNetBuffer para alocar NET_BUFFERs de pools NET_BUFFER que contêm dados.
O NDIS usa o parâmetro PoolHandle para obter um bloco de memória e, em seguida, cria o NET_BUFFER, O MDL e o buffer de dados.
Para liberar as informações NET_BUFFER e associadas, chame a função NdisFreeNetBuffer.
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), NdisAllocateNetBufferMdlAndData(ndis), NdisAllocateNetBufferMdlAndData_InitFail(ndis) |