共用方式為


IOCTL_STORAGE_DEVICE_POWER_CAP IOCTL (ntddstor.h)

驅動程式可以使用 IOCTL_STORAGE_DEVICE_POWER_CAP 來指定儲存裝置的最大作業耗電量等級。 OS 會執行其最佳動作,將裝置轉換為不會超過指定最大值的電源狀態;不過,這取決於裝置支持的內容。 實際最大值可能小於或大於所需的最大值。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp->AssociatedIrp.SystemBuffer 包含指定最大電源 的STORAGE_DEVICE_POWER_CAP 結構。

輸入緩衝區長度

  • Parameters.DeviceIoControl.InputBufferLength 指出 Irp-AssociatedIrp.SystemBuffer> 之輸入參數緩衝區的大小,其必須大於或等於 sizeof(STORAGE_DEVICE_POWER_CAP)

輸出緩衝區

如果作業成功,Irp-AssociatedIrp.SystemBuffer> 的輸出緩衝區將包含STORAGE_DEVICE_POWER_CAP結構。

輸出緩衝區長度

Parameters.DeviceIoControl.OutputBufferLength 會指出 Irp-AssociatedIrp.SystemBuffer> 之輸出參數緩衝區的大小,以位元節為單位。 OutputBufferLength 必須大於或等於 sizeof(STORAGE_DEVICE_POWER_CAP)

狀態區塊

[ 資訊 ] 位元位會設定為傳回的位元組數目。 [ 狀態 ] 欄位會設定為 [STATUS_SUCCESS],或可能設定為 [STATUS_INVALID_DEVICE_REQUEST]、[STATUS_INVALID_PARAMETER] 或 [STATUS_NOT_SUPPORTED]。

備註

重新啟動時, IOCTL_STORAGE_DEVICE_POWER_CAP 效果不持續。 對於 NVMe 裝置重設/電源迴圈,IOCTL 的效果是持續性的。

規格需求

需求
最低支援的用戶端 Windows 10
最低支援的伺服器 Windows Server 2016
標頭 ntddstor.h (包含 Ntddstor.h)

另請參閱

IO_STATUS_BLOCK

STORAGE_DEVICE_POWER_CAP

STORAGE_DEVICE_POWER_CAP_UNITS