Função SwDeviceSetLifetime (swdevice.h)
Gerencia o tempo de vida de um dispositivo de software.
Sintaxe
HRESULT SwDeviceSetLifetime(
[in] HSWDEVICE hSwDevice,
[in] SW_DEVICE_LIFETIME Lifetime
);
Parâmetros
[in] hSwDevice
O identificador HSWDEVICE para o dispositivo de software a ser gerenciado.
[in] Lifetime
Um valor de tipo SW_DEVICE_LIFETIME que indica o novo valor de tempo de vida do dispositivo de software. Aqui estão os valores possíveis:
Retornar valor
S_OK será retornado se SwDeviceSetLifetime tiver atualizado com êxito o tempo de vida.
Comentários
Depois que um dispositivo de software é criado inicialmente chamando SwDeviceCreate, seu tempo de vida padrão é definido como SwDeviceLifetimeHandle. Quando um dispositivo de software tem um tempo de vida de SwDeviceLifetimeHandle, o PnP para de enumerar o dispositivo depois que o identificador do dispositivo é fechado.
Você pode usar SwDeviceSetLifetime para definir o tempo de vida do dispositivo de software como SwDeviceLifetimeParentPresent. O tempo de vida do dispositivo de software é então vinculado ao tempo de vida do dispositivo não software pai mais próximo. O criador do dispositivo de software pode fechar o identificador do dispositivo de software e o dispositivo ainda será enumerado. Isso pode ser útil para serviços que gerenciam dispositivos de software, mas desejam parar ocioso.
Um aplicativo cliente só pode chamar SwDeviceSetLifetime depois de receber uma chamada para sua função de retorno de chamada SW_DEVICE_CREATE_CALLBACK associada à sua chamada para SwDeviceCreate.
Quando um aplicativo cliente chama SwDeviceCreate para um dispositivo de software que foi marcado anteriormente para SwDeviceLifetimeParentPresent, SwDeviceCreate terá êxito se não houver identificadores de dispositivo de software abertos para o dispositivo (apenas um identificador pode ser aberto para um dispositivo). Em seguida, um aplicativo cliente pode recuperar o controle sobre um dispositivo de software persistente para fins de atualização de propriedades e interfaces ou alteração do tempo de vida.
Se o aplicativo cliente especificar informações em SW_DEVICE_CREATE_INFO que é diferente de uma enumeração anterior, o dispositivo poderá deixar de ser enumerado e imediatamente renumerado para aplicar as alterações. O sistema operacional relata apenas algumas propriedades quando o PnP enumera o dispositivo.
Para desinstalar um dispositivo de software com um tempo de vida de SwDeviceLifetimeParentPresent, recomendamos que você altere o tempo de vida de volta para SwDeviceLifetimeHandle antes que o dispositivo seja desinstalado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8.1 |
Servidor mínimo com suporte | Windows Server 2012 R2 |
Plataforma de Destino | Universal |
Cabeçalho | swdevice.h |
Biblioteca | Swdevice.lib; OneCoreUAP.lib no Windows 10 |
DLL | Cfgmgr32.dll |