IOCTL_STORAGE_DEVICE_POWER_CAP IOCTL(winioctl.h)
Windows 애플리케이션은 이 제어 코드를 사용하여 스토리지 디바이스의 최대 작동 전력 소비 수준을 지정할 수 있습니다. OS는 디바이스를 지정된 최댓값을 초과하지 않는 전원 상태로 전환하는 것이 가장 좋습니다. 그러나 이것은 디바이스가 지원하는 사항에 따라 달라집니다. 실제 최댓값이 원하는 최댓값보다 작거나 클 수 있습니다.
이 작업을 수행하려면 다음 매개 변수를 사용하여 DeviceIoControl 함수를 호출합니다.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_STORAGE_DEVICE_POWER_CAP, // dwIoControlCode
(LPDWORD) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
(LPDWORD) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
설명
이 IOCTL은 드라이버가 적용할 것으로 예상되는 최대 전원 값으로 디바이스 드라이버에 전송됩니다. 그런 다음, 이 IOCTL은 디바이스 드라이버가 실제로 달성할 수 있는 것을 나타내는 값으로 를 반환합니다. 이 값은 원래 전송된 원하는 값보다 크거나 작거나 같을 수 있습니다.
예를 들어 최대 전력 소비 수준이 10와트, 8와트 및 6와트의 세 가지 작동 전원 상태를 구현하는 스토리지 디바이스 드라이버를 고려합니다. 이 IOCTL의 호출자가 디바이스가 9와트를 초과하지 않도록 지정하는 경우 9와트 미만인 가장 높은 상태이므로 8와트 상태를 선택해야 합니다. 이 IOCTL의 호출자가 디바이스가 5와트를 초과하지 않도록 지정하는 경우 6와트는 디바이스가 작동할 수 있는 최소값이므로 디바이스 드라이버는 6와트 상태를 선택합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 10 |
지원되는 최소 서버 | Windows Server 2016 |
머리글 | winioctl.h(Windows.h 포함) |