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 melhor para fazer a transição do dispositivo para um estado de energia que não excederá o máximo especificado; no entanto, isso depende do que o dispositivo dá suporte. O máximo real pode ser menor ou maior que o máximo desejado.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Irp->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 Irp-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 Irp-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 Irp-AssociatedIrp.SystemBuffer>. OutputBufferLength deve ser maior ou igual a sizeof(STORAGE_DEVICE_POWER_CAP).

Bloco de status

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

Comentários

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
Cliente mínimo com suporte Windows 10
Servidor mínimo com suporte Windows Server 2016
Cabeçalho ntddstor.h (inclua Ntddstor.h)

Confira também

IO_STATUS_BLOCK

STORAGE_DEVICE_POWER_CAP

STORAGE_DEVICE_POWER_CAP_UNITS