Função NdisAllocateBuffer (ndis.h)
Nota NDIS 5. x foi preterido e substituído pelo NDIS 6. x. Para obter o novo desenvolvimento de driver NDIS, consulte Drivers de rede começando com o Windows Vista. Para obter informações sobre como portar o NDIS 5. x drivers para NDIS 6. x, consulte Portabilidade de drivers NDIS 5.x para NDIS 6.0.
NdisAllocateBuffer cria um descritor de buffer mapeando um intervalo virtual (sub)especificado em um bloco de memória já alocado e nãopagado.
Sintaxe
void NdisAllocateBuffer(
[out] PNDIS_STATUS Status,
[out] PNDIS_BUFFER *Buffer,
[in, optional] NDIS_HANDLE PoolHandle,
[in] PVOID VirtualAddress,
[in] UINT Length
);
Parâmetros
[out] Status
Ponteiro para uma variável fornecida pelo chamador na qual essa função retorna a status final da alocação de buffer, que é NDIS_STATUS_SUCCESS se ela retornou um ponteiro de descritor de buffer válido no Buffer e, caso contrário, NDIS_STATUS_FAILURE.
[out] Buffer
Ponteiro para uma variável fornecida pelo chamador na qual essa função retorna um ponteiro para o descritor de buffer alocado.
[in, optional] PoolHandle
Especifica o identificador retornado por uma chamada anterior para NdisAllocateBufferPool.
[in] VirtualAddress
Ponteiro para o endereço virtual base da memória de espaço do sistema alocada anteriormente a ser mapeada no descritor de buffer retornado.
[in] Length
Especifica o número de bytes a serem mapeados.
Retornar valor
Nenhum
Comentários
Valor de retorno: nenhum
NdisAllocateBuffer aloca armazenamento para e inicializa um descritor de buffer para mapear um intervalo especificado de memória alocada anteriormente, como memória usada para um cabeçalho de pacote ou um buffer de recebimento nic.
A alocação do descritor de buffer se baseia no pool de buffers que NdisAllocateBufferPool cria. Um driver pode chamar NdisAllocateBuffer quantas vezes forem necessárias para alocar os descritores de buffer necessários se ele chamar NdisAllocateBufferPool durante a inicialização.
Todos os drivers NDIS de nível inferior devem alocar todos os descritores de buffer que encadeiam para pacotes do pool de buffers. Somente drivers de protocolo de nível mais alto podem receber descritores dependentes do sistema operacional mapeando intervalos de memória virtual e, se esses descritores de memória forem equivalentes a descritores de buffer NDIS, um protocolo de nível mais alto poderá passar descritores como parâmetros para funções NdisXxx .
- Plataforma de destino: Universal
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |