SwDeviceSetLifetime 함수(swdevice.h)
소프트웨어 디바이스의 수명을 관리합니다.
구문
HRESULT SwDeviceSetLifetime(
[in] HSWDEVICE hSwDevice,
[in] SW_DEVICE_LIFETIME Lifetime
);
매개 변수
[in] hSwDevice
관리할 소프트웨어 디바이스에 대한 HSWDEVICE 핸들입니다.
[in] Lifetime
소프트웨어 디바이스의 새 수명 값을 나타내는 SW_DEVICE_LIFETIME 형식의 값입니다. 가능한 값은 다음과 같습니다.
값 | 의미 |
---|---|
|
소프트웨어 디바이스의 수명은 소프트웨어 디바이스와 연결된 핸들의 수명에 따라 결정됨을 나타냅니다. 핸들이 열려 있는 한 소프트웨어 디바이스는 PnP에 의해 열거됩니다. |
|
소프트웨어 디바이스의 수명이 부모의 수명에 연결되어 있음을 나타냅니다. |
반환 값
SwDeviceSetLifetime이 수명을 성공적으로 업데이트하면 S_OK 반환됩니다.
설명
SwDeviceCreate를 호출하여 소프트웨어 디바이스를 처음 만든 후에는 기본 수명이 SwDeviceLifetimeHandle로 설정됩니다. 소프트웨어 디바이스의 수명이 SwDeviceLifetimeHandle인 경우 PnP는 디바이스 핸들이 닫힌 후 디바이스 열거를 중지합니다.
SwDeviceSetLifetime을 사용하여 소프트웨어 디바이스의 수명을 SwDeviceLifetimeParentPresent로 설정할 수 있습니다. 그런 다음 소프트웨어 디바이스의 수명은 가장 가까운 비 소프트웨어 디바이스 부모의 수명에 연결됩니다. 소프트웨어 디바이스의 작성자는 소프트웨어 디바이스에 대한 핸들을 닫을 수 있으며 디바이스는 여전히 열거됩니다. 소프트웨어 디바이스를 관리하지만 유휴 상태로 중지하려는 서비스에 유용할 수 있습니다.
클라이언트 앱은 SwDeviceCreate 호출과 연결된 SW_DEVICE_CREATE_CALLBACK 콜백 함수에 대한 호출을 받은 후에만 SwDeviceSetLifetime을 호출할 수 있습니다.
클라이언트 앱이 이전에 SwDeviceLifetimeParentPresent로 표시된 소프트웨어 디바이스에 대해 SwDeviceCreate를 호출하면 디바이스에 대해 열린 소프트웨어 디바이스 핸들이 없으면 SwDeviceCreate가 성공합니다(디바이스에 대해 하나의 핸들만 열 수 있습니다). 그런 다음 클라이언트 앱은 속성 및 인터페이스를 업데이트하거나 수명을 변경하기 위해 영구 소프트웨어 디바이스를 다시 제어할 수 있습니다.
클라이언트 앱이 이전 열거형과 다른 SW_DEVICE_CREATE_INFO 정보를 지정하는 경우 디바이스가 열거되지 않고 즉시 다시 열거되어 변경 내용을 적용할 수 있습니다. 운영 체제는 PnP가 디바이스를 열거할 때 일부 속성만 보고합니다.
수명이 SwDeviceLifetimeParentPresent인 소프트웨어 디바이스를 제거하려면 디바이스를 제거하기 전에 수명을 다시 SwDeviceLifetimeHandle로 변경하는 것이 좋습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8.1 |
지원되는 최소 서버 | Windows Server 2012 R2 |
대상 플랫폼 | 유니버설 |
헤더 | swdevice.h |
라이브러리 | Swdevice.lib; Windows 10 OneCoreUAP.lib |
DLL | Cfgmgr32.dll |