SwDeviceSetLifetime-Funktion (swdevice.h)
Verwaltet die Lebensdauer eines Softwaregeräts.
Syntax
HRESULT SwDeviceSetLifetime(
[in] HSWDEVICE hSwDevice,
[in] SW_DEVICE_LIFETIME Lifetime
);
Parameter
[in] hSwDevice
Der HSWDEVICE-Handle für das zu verwaltende Softwaregerät.
[in] Lifetime
Ein SW_DEVICE_LIFETIME typisierter Wert, der den neuen Lebensdauerwert für das Softwaregerät angibt. Hier sind mögliche Werte:
Rückgabewert
S_OK wird zurückgegeben, wenn SwDeviceSetLifetime die Lebensdauer erfolgreich aktualisiert hat.
Hinweise
Nachdem ein Softwaregerät zunächst durch Aufrufen von SwDeviceCreate erstellt wurde, ist die Standardlebensdauer auf SwDeviceLifetimeHandle festgelegt. Wenn ein Softwaregerät eine Lebensdauer von SwDeviceLifetimeHandle hat, beendet PnP das Aufzählen des Geräts, nachdem der Griff des Geräts geschlossen wurde.
Sie können SwDeviceSetLifetime verwenden, um die Lebensdauer des Softwaregeräts auf SwDeviceLifetimeParentPresent festzulegen. Die Lebensdauer des Softwaregeräts ist dann an die Lebensdauer des nächstgelegenen übergeordneten Nicht-Softwaregeräts gebunden. Der Ersteller des Softwaregeräts kann dann den Ziehpunkt für das Softwaregerät schließen, und das Gerät wird weiterhin aufgelistet. Dies kann für Dienste nützlich sein, die Softwaregeräte verwalten, aber den Leerlauf beenden möchten.
Eine Client-App kann SwDeviceSetLifetime nur aufrufen, nachdem sie einen Aufruf der SW_DEVICE_CREATE_CALLBACK Rückruffunktion erhalten hat, die dem Aufruf von SwDeviceCreate zugeordnet ist.
Wenn eine Client-App SwDeviceCreate für ein Softwaregerät aufruft, das zuvor für SwDeviceLifetimeParentPresent markiert wurde, ist SwDeviceCreate erfolgreich, wenn keine geöffneten Softwaregerätehandles für das Gerät vorhanden sind (nur ein Handle kann für ein Gerät geöffnet sein). Eine Client-App kann dann die Kontrolle über ein persistentes Softwaregerät zurückerlangen, um Eigenschaften und Schnittstellen zu aktualisieren oder die Lebensdauer zu ändern.
Wenn die Client-App Informationen in SW_DEVICE_CREATE_INFO angibt, die sich von einer vorherigen Enumeration unterscheiden, wird das Gerät möglicherweise nicht mehr aufgelistet und sofort erneut aufgelistet, um die Änderungen anzuwenden. Das Betriebssystem meldet nur einige Eigenschaften, wenn PnP das Gerät aufzählt.
Um ein Softwaregerät mit einer Lebensdauer von SwDeviceLifetimeParentPresent zu deinstallieren, empfehlen wir, die Lebensdauer zurück in SwDeviceLifetimeHandle zu ändern, bevor das Gerät deinstalliert wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8.1 |
Unterstützte Mindestversion (Server) | Windows Server 2012 R2 |
Zielplattform | Universell |
Header | swdevice.h |
Bibliothek | Swdevice.lib; OneCoreUAP.lib auf Windows 10 |
DLL | Cfgmgr32.dll |