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 macht es am besten, das Gerät in einen Leistungszustand zu übertragen, 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 der gewünschte Höchstwert sein.
Hauptcode
Eingabepuffer
Irp->AssociatedIrp.SystemBuffer enthält eine STORAGE_DEVICE_POWER_CAP Struktur, die die maximale Leistung angibt.
Eingabepufferlänge
-
Parameters.DeviceIoControl.InputBufferLength gibt die Größe des Eingabeparameterpuffers bei Irp->AssociatedIrp.SystemBufferan, 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.SystemBufferin Bytes an.
OutputBufferLength- muss größer oder gleich sizeof(STORAGE_DEVICE_POWER_CAP)
sein.
Statusblock
Das Feld Information wird auf die Anzahl der zurückgegebenen Bytes festgelegt. Das Feld Status wird auf STATUS_SUCCESS oder möglicherweise auf STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER oder STATUS_NOT_SUPPORTED festgelegt.
Bemerkungen
Bei einem Neustart ist der IOCTL_STORAGE_DEVICE_POWER_CAP Effekt nicht dauerhaft. Bei einem NVMe-Geräterücksetzungs-/Stromzyklus ist der Effekt des IOCTL persistent.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10 |
mindestens unterstützte Server- | Windows Server 2016 |
Header- | ntddstor.h (include Ntddstor.h) |