Функция SwDeviceSetLifetime (swdevice.h)
Управляет временем существования программного устройства.
Синтаксис
HRESULT SwDeviceSetLifetime(
[in] HSWDEVICE hSwDevice,
[in] SW_DEVICE_LIFETIME Lifetime
);
Параметры
[in] hSwDevice
HSWDEVICE дескриптор программного устройства для управления.
[in] Lifetime
SW_DEVICE_LIFETIME типизированное значение, указывающее новое значение времени существования программного устройства. Ниже приведены возможные значения.
Возвращаемое значение
S_OK возвращается, если SwDeviceSetLifetime успешно обновило время существования.
Комментарии
После первоначального создания программного устройства путем вызова SwDeviceCreate его время существования по умолчанию устанавливается в SwDeviceLifetimeHandle. Если программное устройство имеет время существования SwDeviceLifetimeHandle, PnP прекращает перечисление устройства после закрытия дескриптора устройства.
SwDeviceSetLifetime можно использовать, чтобы задать время существования программного устройства SwDeviceLifetimeParentPresent. Затем время существования программного устройства привязывается к времени существования ближайшего родительского устройства, не связанного с программным обеспечением. Затем создатель программного устройства может закрыть дескриптор для программного устройства, и устройство по-прежнему будет перечислено. Это может быть полезно для служб, которые управляют программными устройствами, но хотят остановиться.
Клиентское приложение может вызывать SwDeviceSetLifetime только после того, как оно получило вызов функции обратного вызова SW_DEVICE_CREATE_CALLBACK , связанной с вызовом SwDeviceCreate.
Когда клиентское приложение вызывает SwDeviceCreate для программного устройства, которое ранее было отмечено для SwDeviceLifetimeParentPresent, SwDeviceCreate завершается успешно, если для устройства нет открытых дескрипторов программного устройства (для устройства можно открыть только один дескриптор). Затем клиентское приложение может восстановить контроль над постоянным программным устройством для обновления свойств и интерфейсов или изменения времени существования.
Если клиентское приложение указывает сведения в SW_DEVICE_CREATE_INFO , которые отличаются от предыдущего перечисления, устройство может прекратить перечисление и сразу же повторно выполнить перечисление, чтобы применить изменения. Операционная система сообщает только некоторые свойства, когда PnP перечисляет устройство.
Чтобы удалить программное устройство со временем существования SwDeviceLifetimeParentPresent, рекомендуется изменить время существования на SwDeviceLifetimeHandle перед удалением устройства.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8.1 |
Минимальная версия сервера | Windows Server 2012 R2 |
Целевая платформа | Универсальное |
Верхняя часть | swdevice.h |
Библиотека | Swdevice.lib; OneCoreUAP.lib в Windows 10 |
DLL | Cfgmgr32.dll |