SwDeviceClose, fonction (swdevice.h)
Ferme le handle du périphérique logiciel. Lorsque le handle est fermé, si la durée de vie du SwDevice est SWDeviceLifetimeHandle, PnP lance le processus de « débranchement » de l’appareil. L’appareil ne sera plus signalé en tant qu’enfant de son appareil parent.
Syntaxe
void SwDeviceClose(
[in] HSWDEVICE hSwDevice
);
Paramètres
[in] hSwDevice
Handle HSWDEVICE à fermer.
Valeur de retour
None
Remarques
Après le retour de SwDeviceClose , le système d’exploitation n’appelle pas la fonction de rappel SW_DEVICE_CREATE_CALLBACK , et tous les appels aux fonctions de l’API d’appareil logiciel en cours sont assurés.
Vous pouvez appeler SwDeviceClose à tout moment, même si la fonction de rappel n’a pas encore été appelée.
Dans Windows 8, vous ne pouvez pas appeler SwDeviceClose à l’intérieur de la fonction de rappel SW_DEVICE_CREATE_CALLBACK. Cela entraîne un interblocage. Veillez à libérer un objet comptabilisé par références qui appellera SwDeviceClose lors de l’exécution de son destructeur. Dans Windows 8.1, cette restriction est levée et vous pouvez appeler SwDeviceClose à l’intérieur de la fonction de rappel.
En appelant SwDeviceClose, si la durée de vie du SwDevice est SWDeviceLifetimeHandle, vous lancez le processus de « débranchement » de l’appareil. Cela fait que l’appareil n’est plus signalé en tant qu’enfant de son parent, ce qui provoque l’émission d’un « retrait surprise » de l’appareil. L’appel à SwDeviceClose est retourné avant la fin de cette suppression. Toutefois, vous pouvez appeler swDeviceCreate en toute sécurité immédiatement après SwDeviceClose. La nouvelle création sera mise en file d’attente jusqu’à la fin du traitement de suppression précédent, puis l’appareil sera recréé.
La suppression pnP rend l’appareil « Non présent » et ne désinstalle pas l’appareil. La suppression PnP d’un appareil est la même que le débranchement d’un périphérique USB et tout l’état de propriété persistant de l’appareil reste. Si vous souhaitez désinstaller l’appareil après avoir appelé SwDeviceClose, consultez Désinstallation de l’appareil.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 |
Serveur minimal pris en charge | Windows Server 2012 |
Plateforme cible | Universal |
En-tête | swdevice.h |
Bibliothèque | Swdevice.lib ; OneCoreUAP.lib sur Windows 10 |
DLL | Cfgmgr32.dll |