Partager via


MINIPORT_CO_DEACTIVATE_VC fonction de rappel (ndis.h)

La fonction MiniportCoDeactivateVc est requise pour les miniports orientés connexion. MiniportCoDeactivateVc est appelé par NDIS pour indiquer qu’un vc est marqué comme inutilisable.

Note Vous devez déclarer la fonction à l’aide du type MINIPORT_CO_DEACTIVATE_VC . Pour plus d’informations, consultez la section Exemples suivante.
 

Syntaxe

MINIPORT_CO_DEACTIVATE_VC MiniportCoDeactivateVc;

NDIS_STATUS MiniportCoDeactivateVc(
  [in] NDIS_HANDLE MiniportVcContext
)
{...}

Paramètres

[in] MiniportVcContext

Spécifie le handle à une zone de contexte allouée par le pilote miniport dans laquelle le pilote miniport conserve les informations d’état par VC. Le pilote miniport a fourni cette poignée à NDIS à partir de sa fonction MiniportCoCreateVc .

Valeur retournée

Code de retour Description
NDIS_STATUS_SUCCESS
Indique que le pilote miniport a correctement arrêté toute communication entre le VC et l’a marqué comme inutilisable.
NDIS_STATUS_PENDING
Indique que le pilote miniport terminera la demande d’arrêt asynchrone du VC. Lorsque le pilote miniport a terminé d’arrêter le VC, il doit appeler NdisMCoDeactivateVcComplete pour signaler à NDIS que cette opération est terminée.

Remarques

MiniportCoDeactivateVc communique avec sa carte réseau pour mettre fin à toutes les communications entre ce vc (en d’autres termes, déprogrammation des mémoires tampons de réception ou d’envoi sur la carte). Le pilote miniport doit également marquer le vc, sa zone de contexte, comme étant inactif pour empêcher toute autre communication entre le vc.

Il n’existe pas de relation un-à-un entre les appels à MiniportCoActivateVc et MiniportCoDeactivateVc. Alors que NDIS peut appeler MiniportCoActivateVc plusieurs fois sur un seul VC, un seul appel à MiniportCoDeactivateVc est effectué pour arrêter une connexion virtuelle. Par exemple, une vc peut être réutilisée pour différents appels pouvant provoquer plusieurs appels à MiniportCoActivateVc.

Exemples

Pour définir une fonction MiniportCoDeactivateVc , vous devez d’abord fournir une déclaration de fonction qui identifie le type de fonction que vous définissez. Windows fournit un ensemble de types de fonctions pour les pilotes. La déclaration d’une fonction à l’aide des types de fonction permet à l’analyse du code pour les pilotes, le vérificateur de pilotes statique (SDV) et d’autres outils de vérification de trouver les erreurs, et il s’agit d’une exigence pour l’écriture de pilotes pour le système d’exploitation Windows.

Par exemple, pour définir une fonction MiniportCoDeactivateVc nommée « MyCoDeactivateVc », utilisez le type MINIPORT_CO_DEACTIVATE_VC comme indiqué dans cet exemple de code :

MINIPORT_CO_DEACTIVATE_VC MyCoDeactivateVc;

Ensuite, implémentez votre fonction comme suit :

_Use_decl_annotations_
NDIS_STATUS
 MyCoDeactivateVc(
    NDIS_HANDLE  MiniportVcContext
    )
  {...}

Le type de fonction MINIPORT_CO_DEACTIVATE_VC est défini dans le fichier d’en-tête Ndis.h. Pour identifier plus précisément les erreurs lors de l’exécution des outils d’analyse du code, veillez à ajouter l’annotation Use_decl_annotations à votre définition de fonction. L’annotation Use_decl_annotations garantit que les annotations appliquées au type de fonction MINIPORT_CO_DEACTIVATE_VC dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes NDIS.

Pour plus d’informations sur Use_decl_annotations, consultez Annotating Function Behavior.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir MiniportCoDeactivateVc (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (consultez MiniportCoDeactivateVc (NDIS 5.1)) dans Windows XP.
Plateforme cible Windows
En-tête ndis.h (inclure Ndis.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

MiniportCoActivateVc

NdisMCoDeactivateVcComplete