Funzione SwDeviceSetLifetime (swdevice.h)
Gestisce la durata di un dispositivo software.
Sintassi
HRESULT SwDeviceSetLifetime(
[in] HSWDEVICE hSwDevice,
[in] SW_DEVICE_LIFETIME Lifetime
);
Parametri
[in] hSwDevice
Handle HSWDEVICE per il dispositivo software da gestire.
[in] Lifetime
Valore tipizzato SW_DEVICE_LIFETIME che indica il nuovo valore di durata per il dispositivo software. Ecco i valori possibili:
Valore restituito
S_OK viene restituito se SwDeviceSetLifetime ha aggiornato correttamente la durata.
Commenti
Dopo la creazione iniziale di un dispositivo software chiamando SwDeviceCreate, la durata predefinita è impostata su SwDeviceLifetimeHandle. Quando un dispositivo software ha una durata di SwDeviceLifetimeHandle, PnP interrompe l'enumerazione del dispositivo dopo la chiusura dell'handle del dispositivo.
È possibile usare SwDeviceSetLifetime per impostare la durata del dispositivo software su SwDeviceLifetimeParentPresent. La durata del dispositivo software viene quindi associata alla durata del dispositivo padre non software più vicino. Il creatore del dispositivo software può quindi chiudere l'handle al dispositivo software e il dispositivo verrà comunque enumerato. Ciò può essere utile per i servizi che gestiscono i dispositivi software, ma vogliono interrompere l'inattività.
Un'app client può chiamare SwDeviceSetLifetime solo dopo aver ricevuto una chiamata alla relativa funzione di callback SW_DEVICE_CREATE_CALLBACK associata alla chiamata a SwDeviceCreate.
Quando un'app client chiama SwDeviceCreate per un dispositivo software contrassegnato in precedenza per SwDeviceLifetimeParentPresent, SwDeviceCreate ha esito positivo se non sono presenti handle di dispositivo software aperti per il dispositivo (è possibile aprire un solo handle per un dispositivo). Un'app client può quindi riottenere il controllo su un dispositivo software permanente ai fini dell'aggiornamento di proprietà e interfacce o della modifica della durata.
Se l'app client specifica informazioni in SW_DEVICE_CREATE_INFO diverso da un'enumerazione precedente, il dispositivo potrebbe smettere di essere enumerato e immediatamente enumerato per applicare le modifiche. Il sistema operativo segnala solo alcune proprietà quando PnP enumera il dispositivo.
Per disinstallare un dispositivo software con una durata di SwDeviceLifetimeParentPresent, è consigliabile modificare la durata in SwDeviceLifetimeHandle prima della disinstallazione del dispositivo.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8.1 |
Server minimo supportato | Windows Server 2012 R2 |
Piattaforma di destinazione | Universale |
Intestazione | swdevice.h |
Libreria | Swdevice.lib; OneCoreUAP.lib in Windows 10 |
DLL | Cfgmgr32.dll |