Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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) |