MINIPORT_REMOVE_DEVICE fonction de rappel (ndis.h)
La fonction MiniportRemoveDevice libère les ressources allouées par la fonction MiniportAddDevice .
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 |