Partager via


Fonction NdisMAllocatePort (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

La poignée de l’adaptateur miniport que NDIS a passée 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 retournée

NdisMAllocatePort peut retourner l’une des valeurs suivantes :

Code de retour 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 au paramètre PortCharacteristics n’étaient pas valides .

Remarques

La fonction NdisMAllocatePort alloue des ressources et un numéro de port pour un port associé à une carte 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 qui se superposent. Si un pilote trop élevé ou une application en mode utilisateur émet le OID_GEN_ENUMERATE_PORTS OID pour énumérer les ports d’une carte miniport, NDIS n’inclut pas les ports alloués non actifs dans la liste des ports.

Lorsque NdisMAllocatePort retourne correctement, le membre PortNumber du NDIS_PORT_CHARACTERISTICS structure spécifiée par le paramètre PortCharacteristics est définie sur le numéro de port attribué par NDIS au port.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Universal
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

Allocation d’un port NDIS

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMFreePort

OID_GEN_ENUMERATE_PORTS