Compartilhar via


NdisAllocateBufferPool

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função retorna um identificador com o qual o chamador pode alocar descritores reserva por chamado de NdisAllocateBuffer função.

Syntax

VOID NdisAllocateBufferPool(
  PNDIS_STATUS Status,
  PNDIS_HANDLE PoolHandle,
  UINT NumberOfDescriptors
);

Parameters

  • Status
    [out] Ponteiro para uma variável Caller-supplied no qual essa função retorna o status final da alocação de pool reserva.
  • PoolHandle
    [out] Ponteiro para uma variável Caller-supplied no qual essa função retorna um identificador para o pool reserva. Esse identificador é exigido um parâmetro para as funções reserva NDIS que o driver chama posteriormente.
  • NumberOfDescriptors
    [no] Especifica o número de descritores reserva que o chamador espera alocar do pool de reserva sem liberar quaisquer descritores alocados reserva voltar para o pool.

Return Value

Sempre retorna NDIS_STATUS_SUCCESS.

Remarks

Após essa função retorna, o driver chama o NdisAllocateBuffer função uma ou mais vezes para alocar descritores de reserva que ele necessita. Um driver deve chamar essa função durante inicialização.

O NumberOfDescriptors parâmetro especificado por um driver NIC geralmente depende de como os recursos do NIC. De exemplo, o driver de um mestre barramento DMA NIC com anel buffers seria especificar at least um grande o suficiente NumberOfDescriptors Para mapa (n.); mapear (v.) o anel completo.

O NumberOfDescriptors especificado na chamar para essa função é o limite eficaz em quantas vezes o driver pode chamar NdisAllocateBuffer Antes ele deve chamar o NdisFreeBuffer função para retornar um descritor reserva para o livre lista para o pool reserva.

Quando um driver não mais precisa o pool reserva que ele alocados, ele chama o NdisFreeBufferPool função para versão o identificador pool reserva.

O driver deve versão qualquer rotação bloqueio que ele está mantendo antes chamado essa função.

Todos os inferior-nível drivers NDIS devem alocar todos os descritores reserva que eles encadear para pacotes de um pool reserva. Somente os drivers mais alto nível de protocolo podem ser designados OS-dependente descritores mapeamento intervalos memória virtual. Se esses descritores memória equivalente para NDIS reserva descritores, um protocolo de nível mais alto possível transmitir esses descritores como parâmetros para funções NDIS.

Requirements

Header ndis.h
Library ndis.lib
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

NdisAdjustBufferLength
NdisAllocateBuffer
NdisChainBufferAtBack
NdisChainBufferAtFront
NdisFreeBuffer
NdisFreeBufferPool
NdisQueryBuffer
NdisReleaseSpinLock