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 |