Função NdisMAllocatePort (ndis.h)

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

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.

Retornar valor

NdisMAllocatePort pode retornar um dos seguintes valores:

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

Comentários

A função NdisMAllocatePort aloca recursos e um número de porta para uma porta associada a um adaptador de miniport. 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 sobrepostos. Se um driver ou aplicativo de modo de usuário emite o OID_GEN_ENUMERATE_PORTS OID para enumerar as portas de um adaptador de miniportuário, o NDIS não inclui portas alocadas não ativas na lista das portas.

Quando NdisMAllocatePort retorna com êxito, o membro PortNumber do NDIS_PORT_CHARACTERISTICS estrutura especificada pelo parâmetro PortCharacteristics é definida como o número da porta que o NDIS atribuiu à 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
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Universal
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL

Confira também

Alocando uma porta NDIS

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMFreePort

OID_GEN_ENUMERATE_PORTS