Compartir a través de


Función NdisMAllocatePort (ndis.h)

La función NdisMAllocatePort asigna un puerto NDIS asociado a un adaptador de minipuerto.

Sintaxis

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

Parámetros

NdisMiniportHandle

Controlador del adaptador de miniporte que NDIS pasó al parámetro MiniportAdapterHandle del Función MiniportInitializeEx .

[in, out] PortCharacteristics

Puntero a un NDIS_PORT_CHARACTERISTICS estructura que define las características del puerto.

Valor devuelto

NdisMAllocatePort puede devolver uno de los siguientes valores:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
NDIS asignó correctamente recursos para el puerto.
NDIS_STATUS_RESOURCES
NDIS no pudo asignar recursos para el puerto.
NDIS_STATUS_CLOSING
Error en la asignación de puertos porque el adaptador de miniporte asociado se está cerrando.
NDIS_STATUS_INVALID_DATA
Los datos proporcionados en el parámetro PortCharacteristics no eran válidos .

Comentarios

La función NdisMAllocatePort asigna recursos y un número de puerto para un puerto asociado a un adaptador de minipuerto. El puerto no está activo hasta que el controlador de miniporte emite un evento NetEventPortActivation Plug and Play (PnP) para el puerto.

Una vez que el controlador de miniporte activa el puerto, NDIS genera una notificación PnP para los controladores de exceso. Si una aplicación de modo de usuario o controlador excesiva emite el OID_GEN_ENUMERATE_PORTS OID para enumerar los puertos de un adaptador de miniporte, NDIS no incluye puertos asignados no activos en la lista de puertos.

Cuando NdisMAllocatePort se devuelve correctamente, el miembro PortNumber del NDIS_PORT_CHARACTERISTICS estructura que especifica el parámetro PortCharacteristics se establece en el número de puerto que NDIS asignó al puerto.

Después de que ya no se requiera un puerto, el controlador de minipuerto debe llamar a la función NdisMFreePort para liberar el puerto.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Plataforma de destino Universal
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL

Consulte también

Asignación de un puerto NDIS

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMFreePort

OID_GEN_ENUMERATE_PORTS