IWDFDevice3::AssignS0IdleSettingsEx 메서드(wudfddi.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한됩니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF를 사용하여 시작 참조하세요.]

AssignS0IdleSettingsEx 메서드는 디바이스가 유휴 상태이고 시스템이 S0(작동 중) 상태일 때 프레임워크에서 사용하는 드라이버 제공 정보를 제공합니다.

구문

HRESULT AssignS0IdleSettingsEx(
  [in] PWUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS IdleSettings
);

매개 변수

[in] IdleSettings

WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT 매크로 호출로 초기화된 WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS 구조체에 대한 포인터입니다.

반환 값

메서드는 작업이 성공하면 S_OK 반환합니다. 그렇지 않으면 이 메서드는 Winerror.h에 정의된 오류 코드 중 하나를 반환합니다.

설명

드라이버는 드라이버가 IWDFDriver::CreateDevice를 호출한 후 언제든지 AssignS0IdleSettingsEx를 호출할 수 있습니다. IWDFDriver::CreateDevice를 호출하기 전에 드라이버는 fTrue 매개 변수가 TRUE로 설정된 IWDFDeviceInitialize::SetPowerPolicyOwnership을 호출해야 합니다. 이 호출 시퀀스의 예제는 IWDFDriver::CreateDevice를 참조하세요.

드라이버가 AssignS0IdleSettingsEx를 두 번 이상 호출하는 경우 AssignS0IdleSettings의 설명 섹션에 설명된 규칙을 따릅니다.

유휴 전원 다운에 대한 자세한 내용은 UMDF 기반 드라이버에서 유휴 Power-Down 지원을 참조하세요.

예제

다음 코드 예제에서는 WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS 구조를 초기화하고 유휴 시간 제한 값을 10초로 설정합니다. 그런 다음, IWDFDevice3 인터페이스를 가져오고 AssignS0IdleSettingsEx를 호출합니다.

IWDFDevice3 *pIWDFDevice3 = NULL;
HRESULT hr;

WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS  idleSettings;

WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT(
                                           &idleSettings,
                                           IdleCanWakeFromS0
                                           );
idleSettings.IdleTimeout = 10000;

//
// Get a pointer to the IWDFDevice3 interface.
//

hr = pIWDFDevice->QueryInterface(__uuidof(IWDFDevice3),
                                 (void**) &pIWDFDevice3);
if (SUCCEEDED(hr)) 
   {
    
   hr = pIWDFDevice3->AssignS0IdleSettingsEx(&idleSettings
                                            );
   }
...

SAFE_RELEASE(pIWDFDevice3);
   

요구 사항

요구 사항
지원 종료 UMDF 2.0 이상에서는 사용할 수 없습니다.
대상 플랫폼 데스크톱
최소 UMDF 버전 1.11
머리글 wudfddi.h
DLL WUDFx.dll

추가 정보

IWDFDevice2::AssignS0IdleSettings

IWDFDevice3

WdfDeviceAssignS0IdleSettings