NdisMFreePort, fonction (ndis.h)
La fonction NdisMFreePort libère un port NDIS précédemment alloué avec la fonction NdisMAllocatePort .
Syntaxe
NDIS_STATUS NdisMFreePort(
NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_PORT_NUMBER PortNumber
);
Paramètres
NdisMiniportHandle
La poignée de l’adaptateur miniport que NDIS a passée au paramètre MiniportAdapterHandle du Fonction MiniportInitializeEx .
[in] PortNumber
Numéro du port NDIS que NDIS doit libérer. La valeur PortNumber est une valeur NDIS_PORT_NUMBER, qui a un type de données ULONG. NDIS a fourni le numéro de port dans le membre PortNumber du NDIS_PORT_CHARACTERISTICS structure lorsque le pilote miniport a appelé la fonction NdisMAllocatePort .
Le numéro de port peut être compris entre 1 et 0xffffff. Vous ne pouvez pas définir PortNumber sur zéro, ce qui indique le port par défaut.
Valeur retournée
NdisMFreePort peut retourner l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
NDIS a libéré les ressources pour le port. |
|
NDIS n’a pas pu libérer les ressources du port, car le numéro de port n’était pas valide. |
|
NDIS n’a pas pu libérer les ressources du port, car le port était dans un état où l’opération gratuite n’est pas valide. Pour libérer le port, le port doit être à l’état alloué. |
|
Le numéro de port fourni au paramètre PortNumber n’était pas valide. |
Remarques
Si un pilote miniport a alloué un port en appelant la fonction NdisMAllocatePort , le pilote doit libérer le port avant qu’il ne retourne à partir de sa fonction MiniportHaltEx . Si le pilote miniport a activé le port en émettant un événement NetEventPortActivation Plug-and-Play (PnP), le pilote doit émettre un événement PnP NetEventPortDeactivation pour le port avant de libérer le port.
Lorsqu’un pilote miniport appelle NdisMFreePort pour libérer un port, NDIS libère également le numéro de port attribué au port libéré afin que NDIS puisse réutiliser le numéro de port.
Le pilote miniport ne doit pas tenter de libérer le port par défaut.
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 |
Règles de conformité DDI | Irql_Miniport_Driver_Function(ndis) |