IOCTL_STORAGE_DEVICE_POWER_CAP IOCTL (ntddstor.h)
驅動程式可以使用 IOCTL_STORAGE_DEVICE_POWER_CAP 來指定儲存裝置的最大運作耗電量等級。 OS 會盡最大努力將裝置轉換為不會超過指定最大值的電源狀態:不過,這取決於裝置支持的內容。 實際最大值可能小於或大於所需的最大值。
主要程序代碼
輸入緩衝區
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 (include Ntddstor.h) |