Compartilhar via


IOCTL_STORAGE_DEVICE_POWER_CAP IOCTL (ntddstor.h)

Um driver pode usar IOCTL_STORAGE_DEVICE_POWER_CAP para especificar um nível máximo de consumo de energia operacional para um dispositivo de armazenamento. O sistema operacional fará o possível para fazer a transição do dispositivo para um estado de energia que não excederá o máximo fornecido; no entanto, isso depende do suporte do dispositivo. O máximo real pode ser menor ou maior que o máximo desejado.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

>AssociatedIrp.SystemBuffer contém uma estrutura STORAGE_DEVICE_POWER_CAP que especifica a potência máxima.

Comprimento do buffer de entrada

  • Parameters.DeviceIoControl.InputBufferLength indica o tamanho, em bytes, do buffer de parâmetro de entrada em >AssociatedIrp.SystemBuffer, que deve ser maior ou igual a sizeof(STORAGE_DEVICE_POWER_CAP).

Buffer de saída

Se a operação for bem-sucedida, o buffer de saída em > AssociatedIrp.SystemBuffer conterá uma estrutura STORAGE_DEVICE_POWER_CAP.

Comprimento do buffer de saída

Parameters.DeviceIoControl.OutputBufferLength indica o tamanho, em bytes, do buffer de parâmetro de saída em >AssociatedIrp.SystemBuffer. OutputBufferLength deve ser maior ou igual a sizeof(STORAGE_DEVICE_POWER_CAP).

Bloco de status

O campoinformações deé definido como o número de bytes retornados. O campo Status está definido como STATUS_SUCCESS ou possivelmente STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER ou STATUS_NOT_SUPPORTED.

Observações

Para uma reinicialização, o efeito IOCTL_STORAGE_DEVICE_POWER_CAP não é persistente. Para um ciclo de redefinição/energia do dispositivo NVMe, o efeito do IOCTL é persistente.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10
servidor com suporte mínimo Windows Server 2016
cabeçalho ntddstor.h (include Ntddstor.h)

Consulte também

IO_STATUS_BLOCK

STORAGE_DEVICE_POWER_CAP

STORAGE_DEVICE_POWER_CAP_UNITS