Compartir a través de


Función SwDeviceSetLifetime (swdevice.h)

Administra la duración de un dispositivo de software.

Sintaxis

HRESULT SwDeviceSetLifetime(
  [in] HSWDEVICE          hSwDevice,
  [in] SW_DEVICE_LIFETIME Lifetime
);

Parámetros

[in] hSwDevice

El controlador HSWDEVICE para el dispositivo de software que se va a administrar.

[in] Lifetime

Valor con tipo SW_DEVICE_LIFETIME que indica el nuevo valor de duración del dispositivo de software. Estos son los valores posibles:

Valor Significado
SWDeviceLifetimeHandle
Indica que la duración del dispositivo de software viene determinada por la duración del identificador asociado al dispositivo de software. Siempre que el identificador esté abierto, PnP enumera el dispositivo de software.
SWDeviceLifetimeParentPresent
Indica que la duración del dispositivo de software está vinculada a la duración de su elemento primario.

Valor devuelto

S_OK se devuelve si SwDeviceSetLifetime actualizó correctamente la duración.

Comentarios

Después de crear inicialmente un dispositivo de software llamando a SwDeviceCreate, su duración predeterminada se establece en SwDeviceLifetimeHandle. Cuando un dispositivo de software tiene una duración de SwDeviceLifetimeHandle, PnP deja de enumerar el dispositivo después de cerrar el identificador del dispositivo.

Puede usar SwDeviceSetLifetime para establecer la duración del dispositivo de software en SwDeviceLifetimeParentPresent. La duración del dispositivo de software se vincula a la duración del dispositivo primario que no es de software más cercano. A continuación, el creador del dispositivo de software puede cerrar el identificador del dispositivo de software y el dispositivo se seguirá enumerando. Esto puede ser útil para los servicios que administran dispositivos de software, pero que quieren detener la inactividad.

Una aplicación cliente solo puede llamar a SwDeviceSetLifetime después de haber recibido una llamada a su función de devolución de llamada SW_DEVICE_CREATE_CALLBACK asociada a su llamada a SwDeviceCreate.

Cuando una aplicación cliente llama a SwDeviceCreate para un dispositivo de software que se marcó previamente para SwDeviceLifetimeParentPresent, SwDeviceCreate se realiza correctamente si no hay ningún identificador de dispositivo de software abierto para el dispositivo (solo se puede abrir un identificador para un dispositivo). Después, una aplicación cliente puede recuperar el control sobre un dispositivo de software persistente con el fin de actualizar las propiedades e interfaces o cambiar la duración.

Si la aplicación cliente especifica información en SW_DEVICE_CREATE_INFO que es diferente de una enumeración anterior, el dispositivo podría dejar de enumerarse y volver a enumerarse inmediatamente para aplicar los cambios. El sistema operativo solo notifica algunas propiedades cuando PnP enumera el dispositivo.

Para desinstalar un dispositivo de software con una duración de SwDeviceLifetimeParentPresent, se recomienda cambiar la duración a SwDeviceLifetimeHandle antes de desinstalar el dispositivo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8.1
Servidor mínimo compatible Windows Server 2012 R2
Plataforma de destino Universal
Encabezado swdevice.h
Library Swdevice.lib; OneCoreUAP.lib en Windows 10
Archivo DLL Cfgmgr32.dll