SwDeviceSetLifetime 함수(swdevice.h)

소프트웨어 디바이스의 수명을 관리합니다.

구문

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

매개 변수

[in] hSwDevice

관리할 소프트웨어 디바이스에 대한 HSWDEVICE 핸들입니다.

[in] Lifetime

소프트웨어 디바이스의 새 수명 값을 나타내는 SW_DEVICE_LIFETIME 형식의 값입니다. 가능한 값은 다음과 같습니다.

의미
SWDeviceLifetimeHandle
소프트웨어 디바이스의 수명은 소프트웨어 디바이스와 연결된 핸들의 수명에 따라 결정됨을 나타냅니다. 핸들이 열려 있는 한 소프트웨어 디바이스는 PnP에 의해 열거됩니다.
SWDeviceLifetimeParentPresent
소프트웨어 디바이스의 수명이 부모의 수명에 연결되어 있음을 나타냅니다.

반환 값

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