SwDeviceSetLifetime, fonction (swdevice.h)
Gère la durée de vie d’un appareil logiciel.
Syntaxe
HRESULT SwDeviceSetLifetime(
[in] HSWDEVICE hSwDevice,
[in] SW_DEVICE_LIFETIME Lifetime
);
Paramètres
[in] hSwDevice
Handle HSWDEVICE vers l’appareil logiciel à gérer.
[in] Lifetime
Valeur de type SW_DEVICE_LIFETIME qui indique la nouvelle valeur de durée de vie de l’appareil logiciel. Voici les valeurs possibles :
Valeur retournée
S_OK est retourné si SwDeviceSetLifetime a correctement mis à jour la durée de vie.
Remarques
Une fois qu’un périphérique logiciel est initialement créé en appelant SwDeviceCreate, sa durée de vie par défaut est définie sur SwDeviceLifetimeHandle. Lorsqu’un appareil logiciel a une durée de vie de SwDeviceLifetimeHandle, PnP cesse d’énumérer l’appareil une fois le handle de l’appareil fermé.
Vous pouvez utiliser SwDeviceSetLifetime pour définir la durée de vie du périphérique logiciel sur SwDeviceLifetimeParentPresent. La durée de vie de l’appareil logiciel est ensuite liée à la durée de vie du parent de l’appareil non logiciel le plus proche. Le créateur de l’appareil logiciel peut alors fermer le handle à l’appareil logiciel et l’appareil sera toujours énuméré. Cela peut être utile pour les services qui gèrent les périphériques logiciels, mais qui souhaitent arrêter l’inactivité.
Une application cliente peut uniquement appeler SwDeviceSetLifetime après avoir reçu un appel à sa fonction de rappel SW_DEVICE_CREATE_CALLBACK associée à son appel à SwDeviceCreate.
Lorsqu’une application cliente appelle SwDeviceCreate pour un périphérique logiciel qui a été précédemment marqué pour SwDeviceLifetimeParentPresent, SwDeviceCreate réussit s’il n’existe pas de handles d’appareil logiciel ouvert pour l’appareil (un seul handle peut être ouvert pour un appareil). Une application cliente peut ensuite reprendre le contrôle d’un périphérique logiciel persistant dans le but de mettre à jour les propriétés et les interfaces ou de modifier la durée de vie.
Si l’application cliente spécifie des informations dans SW_DEVICE_CREATE_INFO qui sont différentes d’une énumération précédente, l’appareil peut cesser d’être énuméré et immédiatement réinscrire pour appliquer les modifications. Le système d’exploitation signale uniquement certaines propriétés lorsque PnP énumère l’appareil.
Pour désinstaller un appareil logiciel avec une durée de vie de SwDeviceLifetimeParentPresent, nous vous recommandons de rétablir la durée de vie en SwDeviceLifetimeHandle avant la désinstallation de l’appareil.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8.1 |
Serveur minimal pris en charge | Windows Server 2012 R2 |
Plateforme cible | Universal |
En-tête | swdevice.h |
Bibliothèque | Swdevice.lib ; OneCoreUAP.lib sur Windows 10 |
DLL | Cfgmgr32.dll |