Partager via


NdisMAllocatePort, fonction (ndis.h)

La fonction NdisMAllocatePort alloue un port NDIS associé à un adaptateur miniport.

Syntaxe

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

Paramètres

NdisMiniportHandle

Handle de l’adaptateur miniport que NDIS a passé au paramètre MiniportAdapterHandle du fonction MiniportInitializeEx.

[in, out] PortCharacteristics

Pointeur vers un NDIS_PORT_CHARACTERISTICS structure qui définit les caractéristiques du port.

Valeur de retour

NdisMAllocatePort pouvez retourner l’une des valeurs suivantes :

Retourner le code Description
NDIS_STATUS_SUCCESS
NDIS a correctement alloué des ressources pour le port.
NDIS_STATUS_RESOURCES
NDIS n’a pas pu allouer de ressources pour le port.
NDIS_STATUS_CLOSING
L’allocation de port a échoué, car l’adaptateur miniport associé se ferme.
NDIS_STATUS_INVALID_DATA
Les données fournies dans le paramètre PortCharacteristics n’étaient pas valides.

Remarques

La fonction NdisMAllocatePort alloue des ressources et un numéro de port pour un port associé à un adaptateur miniport. Le port n’est pas actif tant que le pilote miniport n’émet pas un événement NetEventPortActivation Plug-and-Play (PnP) pour le port.

Une fois que le pilote miniport a activé le port, NDIS génère une notification PnP pour les pilotes overlying. Si un pilote trop long ou une application en mode utilisateur émet l’OID OID_GEN_ENUMERATE_PORTS pour énumérer les ports d’un adaptateur miniport, NDIS n’inclut pas les ports alloués non actifs dans la liste des ports.

Lorsque NdisMAllocatePort retourne correctement, le Numéro de port membre du NDIS_PORT_CHARACTERISTICS structure que le paramètre PortCharacteristics spécifie est défini sur le numéro de port attribué par NDIS au port.

Une fois qu’un port n’est plus nécessaire, le pilote miniport doit appeler la fonction NdisMFreePort pour libérer le port.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge dans NDIS 6.0 et versions ultérieures.
plateforme cible Universel
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

allocation d’un de port NDIS

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMFreePort

OID_GEN_ENUMERATE_PORTS