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 asignó correctamente recursos para el puerto. |
|
NDIS no pudo asignar recursos para el puerto. |
|
Error en la asignación de puertos porque el adaptador de miniporte asociado se está cerrando. |
|
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 |