다음을 통해 공유


WinUsb_SetPowerPolicy 함수(winusb.h)

WinUsb_SetPowerPolicy 함수는 디바이스의 전원 정책을 설정합니다.

구문

BOOL WinUsb_SetPowerPolicy(
  [in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
  [in] ULONG                   PolicyType,
  [in] ULONG                   ValueLength,
  [in] PVOID                   Value
);

매개 변수

[in] InterfaceHandle

WinUsb_Initialize 반환되는 디바이스의 첫 번째(기본) 인터페이스에 대한 불투명 핸들입니다.

[in] PolicyType

설정할 전원 정책을 지정하는 값입니다. 다음 표에서는 winusbio.h에 정의된 기호 상수를 설명합니다.

정책 매개 변수 Description
AUTO_SUSPEND

(0x81)

자동 일시 중단 정책 유형을 지정합니다. 값 매개 변수의 호출자가 전원 정책 매개 변수 를 지정해야 합니다.

자동 일시 중단의 경우 Value 매개 변수는 UCHAR 변수를 가리킵니다.

TRUE(0이 아닌 값)이면 디바이스가 유휴 상태이면 USB 스택이 디바이스를 일시 중단합니다. 보류 중인 전송이 없거나 보류 중인 유일한 전송이 인터럽트 또는 대량 엔드포인트에 대한 IN 전송인 경우 디바이스는 유휴 상태입니다.

기본값은 DefaultIdleState 레지스트리 설정에 설정된 값에 따라 결정됩니다. 기본적으로 이 값은 TRUE입니다.

SUSPEND_DELAY

(0x83)

일시 중단 지연 정책 유형을 지정합니다. 값 매개 변수의 호출자가 전원 정책 매개 변수 를 지정해야 합니다.

일시 중단 지연의 경우 Value 는 ULONG 변수를 가리킵니다.

은 WinUSB 드라이버가 디바이스를 일시 중단하기 전에 전송 후 기다려야 하는 최소 시간(밀리초)을 지정합니다.

기본값은 DefaultIdleTimeout 레지스트리 설정에 설정된 값에 따라 결정됩니다. 기본적으로 이 값은 5초입니다.

[in] ValueLength

에 있는 버퍼의 크기(바이트)입니다.

[in] Value

전원 정책 매개 변수의 새 값입니다. Value의 데이터 형식 및 값은 PolicyType에 전달된 전원 정책의 유형에 따라 달라집니다. 자세한 내용은 PolicyType을 참조하세요.

반환 값

WinUsb_SetPowerPolicy 작업이 성공하면 TRUE 를 반환합니다. 그렇지 않으면 이 함수는 FALSE를 반환하고 호출자는 GetLastError를 호출하여 기록된 오류를 검색할 수 있습니다.

GetLastError 는 다음 오류 코드를 반환할 수 있습니다.

반환 코드 설명
ERROR_INVALID_HANDLE
호출자가 InterfaceHandle 매개 변수에서 NULL을 전달했습니다.
ERROR_INVALID_PARAMETER
호출자가 ValueLength 매개 변수의 정책 매개 변수 버퍼에 대해 잘못된 크기를 전달했습니다.
ERROR_NOT_ENOUGH_MEMORY
작업을 수행할 메모리가 부족했음을 나타냅니다.

설명

다음 목록에서는 전원 관리 상태 변경의 영향을 요약합니다.

  • 모든 파이프 핸들, 인터페이스 핸들, 잠금 및 대체 설정은 전원 관리 이벤트 전반에 걸쳐 유지됩니다.
  • 진행 중인 모든 전송은 디바이스가 저전력 상태로 전송될 때 일시 중단되고 디바이스가 작업 상태로 복원될 때 다시 시작됩니다.
  • 클라이언트가 디바이스별 구성을 복원하려면 먼저 디바이스 및 시스템이 작동 상태여야 합니다. 클라이언트는 WM_POWERBROADCAST 메시지에서 디바이스와 시스템이 작동 상태인지 여부를 확인할 수 있습니다.
  • 클라이언트는 WinUsb_SetPowerPolicy 호출하여 인터페이스가 유휴 상태임을 나타낼 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 winusb.h(Winusb.h 포함)
라이브러리 Winusb.lib
DLL Winusb.dll

추가 정보

WinUSB

WinUSB 함수

WinUSB 전원 관리

WinUsb_Initialize