次の方法で共有


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
Header ntddstor.h (Ntddstor.h を含む)

こちらもご覧ください

IO_STATUS_BLOCK

STORAGE_DEVICE_POWER_CAP

STORAGE_DEVICE_POWER_CAP_UNITS