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 .

Requisitos

Requisito Valor
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL IRQL <= DISPATCH_LEVEL

Confira também