Partager via


MINIPORT_REMOVE_DEVICE fonction de rappel (ndis.h)

La fonction MiniportRemoveDevice libère les ressources allouées par la fonction MiniportAddDevice .

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

Syntaxe

MINIPORT_REMOVE_DEVICE MiniportRemoveDevice;

void MiniportRemoveDevice(
  [in] NDIS_HANDLE MiniportAddDeviceContext
)
{...}

Paramètres

[in] MiniportAddDeviceContext

Handle pour une zone de contexte allouée par le pilote que le pilote miniport a inscrite auprès de NDIS dans la fonction MiniportAddDevice .

Valeur de retour

None

Remarques

La fonction MiniportRemoveDevice est une fonction facultative. Les pilotes miniports qui prennent en charge MSI-X doivent spécifier un point d’entrée pour cette fonction dans le NDIS_MINIPORT_PNP_CHARACTERISTICS structure.

Lorsque NDIS reçoit une demande du gestionnaire de Plug-and-Play (PnP) pour supprimer un appareil, NDIS appelle la fonction MiniportRemoveDevice. MiniportRemoveDevice doit ensuite annuler les opérations effectuées par la fonction MiniportAddDevice .

Les adaptateurs Miniport peuvent être arrêtés et initialisés plusieurs fois avant que NDIS appelle MiniportRemoveDevice. Si NDIS a appelé MiniportAddDevice et qu’il a renvoyé NDIS_STATUS_SUCCESS, NDIS n’appellera pas MiniportAddDevice pour le même adaptateur miniport avant d’appeler MiniportRemoveDevice pour cette carte.

NDIS appelle MiniportRemoveDevice à IRQL = PASSIVE_LEVEL.

Exemples

Pour définir une fonction MiniportRemoveDevice , 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 MiniportRemoveDevice nommée « MyRemoveDevice », utilisez le type MINIPORT_REMOVE_DEVICE comme indiqué dans cet exemple de code :

MINIPORT_REMOVE_DEVICE MyRemoveDevice;

Ensuite, implémentez votre fonction comme suit :

_Use_decl_annotations_
VOID
 MyRemoveDevice(
    NDIS_HANDLE  MiniportAddDeviceContext
    )
  {...}

Le type de fonction MINIPORT_REMOVE_DEVICE 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_REMOVE_DEVICE 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 dans NDIS 6.0 et versions ultérieures.
Plateforme cible Windows
En-tête ndis.h (inclure Ndis.h)
IRQL PASSIVE_LEVEL

Voir aussi

MiniportAddDevice

NDIS_MINIPORT_INIT_PARAMETERS

NDIS_MINIPORT_PNP_CHARACTERISTICS