Compartilhar via


Função NdisMAllocatePort (ndis.h)

A função NdisMAllocatePort aloca uma porta NDIS associada a um adaptador de miniporto.

Sintaxe

NDIS_STATUS NdisMAllocatePort(
            NDIS_HANDLE                NdisMiniportHandle,
  [in, out] PNDIS_PORT_CHARACTERISTICS PortCharacteristics
);

Parâmetros

NdisMiniportHandle

O identificador do adaptador de miniporto que o NDIS passou para o parâmetro MiniportAdapterHandle do função MiniportInitializeEx.

[in, out] PortCharacteristics

Um ponteiro para um NDIS_PORT_CHARACTERISTICS estrutura que define as características da porta.

Valor de retorno

NdisMAllocatePort pode retornar um dos seguintes valores:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
Recursos alocados com êxito do NDIS para a porta.
NDIS_STATUS_RESOURCES
O NDIS não pôde alocar recursos para a porta.
NDIS_STATUS_CLOSING
A alocação da porta falhou porque o adaptador de miniporto associado está fechando.
NDIS_STATUS_INVALID_DATA
Os dados fornecidos no parâmetro PortCharacteristics eram inválidos.

Observações

A função NdisMAllocatePort aloca recursos e um número de porta para uma porta associada a um adaptador de miniporto. A porta não está ativa até que o driver de miniporto emita um evento NetEventPortActivation Plug and Play (PnP) para a porta.

Depois que o driver de miniporto ativa a porta, o NDIS gera uma notificação PnP para os drivers em excesso. Se um driver ou aplicativo de modo de usuário excessiva emitir o OID_GEN_ENUMERATE_PORTS OID para enumerar as portas de um adaptador de miniporto, o NDIS não inclui portas alocadas não ativas na lista das portas.

Quando NdisMAllocatePort retorna com êxito, o portNumber membro do NDIS_PORT_CHARACTERISTICS estrutura especificada pelo parâmetro PortCharacteristics é definida como o número da porta atribuído ao NDIS à porta.

Depois que uma porta não for mais necessária, o driver de miniporto deverá chamar a função NdisMFreePort para liberar a porta.

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.h (inclua Ndis.h)
biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL

Consulte também

alocar uma porta NDIS

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMFreePort

OID_GEN_ENUMERATE_PORTS