Freigeben über


IOCTL_STORAGE_DEVICE_POWER_CAP IOCTL (ntddstor.h)

Ein Treiber kann IOCTL_STORAGE_DEVICE_POWER_CAP verwenden, um einen maximalen Betriebsenergieverbrauch für ein Speichergerät anzugeben. Das Betriebssystem wird sein Bestes tun, um das Gerät in einen Energiezustand zu versetzen, der den angegebenen Höchstwert nicht überschreitet. Dies hängt jedoch davon ab, was das Gerät unterstützt. Das tatsächliche Maximum kann kleiner oder größer als das gewünschte Maximum sein.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Irp->AssociatedIrp.SystemBuffer enthält eine STORAGE_DEVICE_POWER_CAP-Struktur , die die maximale Leistung angibt.

Länge des Eingabepuffers

  • Parameters.DeviceIoControl.InputBufferLength gibt die Größe des Eingabeparameterpuffers bei Irp-AssociatedIrp.SystemBuffer> in Bytes an, die größer oder gleich sizeof(STORAGE_DEVICE_POWER_CAP)sein muss.

Ausgabepuffer

Wenn der Vorgang erfolgreich ist, enthält der Ausgabepuffer bei Irp-AssociatedIrp.SystemBuffer> eine STORAGE_DEVICE_POWER_CAP-Struktur.

Länge des Ausgabepuffers

Parameters.DeviceIoControl.OutputBufferLength gibt die Größe des Ausgabeparameterpuffers bei Irp-AssociatedIrp.SystemBuffer> in Bytes an. OutputBufferLength muss größer oder gleich sizeof(STORAGE_DEVICE_POWER_CAP)sein.

Statusblock

Das Feld Information ist auf die Anzahl der zurückgegebenen Bytes festgelegt. Das Feld Status ist auf STATUS_SUCCESS oder möglicherweise auf STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER oder STATUS_NOT_SUPPORTED festgelegt.

Hinweise

Bei einem Neustart ist der IOCTL_STORAGE_DEVICE_POWER_CAP Effekt nicht dauerhaft. Bei einem NVMe-Gerätezurücksetzungs-/Netzzyklus ist der Effekt der IOCTL persistent.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Unterstützte Mindestversion (Server) Windows Server 2016
Kopfzeile ntddstor.h (einschließen von Ntddstor.h)

Weitere Informationen

IO_STATUS_BLOCK

STORAGE_DEVICE_POWER_CAP

STORAGE_DEVICE_POWER_CAP_UNITS