Função StorPortPoFxPowerControl (storport.h)
A rotina StorPortPoFxPowerControl envia uma solicitação de controle de energia para a PoFx (estrutura de gerenciamento de energia) para encaminhar para o PEP (plug-in do power engine).
Sintaxe
ULONG StorPortPoFxPowerControl(
[in] PVOID HwDeviceExtension,
PSTOR_ADDRESS Address,
[in] LPCGUID PowerControlCode,
[in, optional] PVOID InBuffer,
[in] SIZE_T InBufferSize,
[out, optional] PVOID OutBuffer,
[in] SIZE_T OutBufferSize,
[out, optional] PSIZE_T BytesReturned
);
Parâmetros
[in] HwDeviceExtension
Um ponteiro para a extensão do dispositivo de hardware para o HBA (adaptador de barramento de host). Essa é a extensão de dispositivo usada para registrar o dispositivo em uma chamada anterior para StorPortInitializePoFxPower.
Address
Um ponteiro para o código de controle de energia. Esse código é um valor GUID que especifica a operação solicitada.
[in] PowerControlCode
Um ponteiro para o código de controle de energia. Esse código é um valor GUID que especifica a operação solicitada.
[in, optional] InBuffer
Um ponteiro para um buffer alocado pelo chamador que contém os dados de entrada da operação. O formato dos dados nesse buffer depende do código de controle de energia especificado pelo parâmetro PowerControlCode . O parâmetro InBuffer é opcional e pode ser especificado como NULL se a operação especificada não exigir dados de entrada.
[in] InBufferSize
O tamanho, em bytes, do buffer de entrada apontado pelo parâmetro InBuffer . Se InBuffer for NULL, defina InBufferSize como zero.
[out, optional] OutBuffer
Um ponteiro para um buffer alocado pelo chamador que deve conter os dados de saída da operação. O formato dos dados nesse buffer depende do código de controle de energia especificado pelo parâmetro PowerControlCode . O parâmetro OutBuffer é opcional e pode ser especificado como NULL se a operação especificada não produzir dados de saída.
[in] OutBufferSize
O tamanho, em bytes, do buffer de saída apontado pelo parâmetro OutBuffer . Se OutBuffer for NULL, defina OutBufferSize como zero.
[out, optional] BytesReturned
Um ponteiro para um local no qual a rotina grava o número de bytes de dados que foram gravados no buffer apontado pelo OutBuffer. O número de bytes gravados será menor ou igual a OutBufferSize. Esse parâmetro é opcional e pode ser especificado como NULL se o chamador não precisar saber quantos bytes foram gravados no buffer de saída.
Retornar valor
A rotina StorPortPoFxPowerControl retorna um destes códigos status:
Código de retorno | Descrição |
---|---|
|
A operação de controle de energia especificada no PowerControlCode foi executada com êxito. |
|
HwDeviceExtension ou Device é NULL.
-ou- O endereço aponta para uma estrutura de endereço de unidade inválida. -ou- O dispositivo de armazenamento especificado por Address não foi encontrado. |
|
O dispositivo de armazenamento não está registrado com o PoFx. |
|
O IRQL atual > DISPATCH_LEVEL. |
|
A operação de controle de energia não foi bem-sucedida. |
Comentários
Um driver de minport chama essa rotina para enviar uma solicitação de controle de energia diretamente para o PEP. Uma solicitação de controle de energia é semelhante a uma IOCTL (solicitação de controle de E/S). Ao contrário de um IOCTL, no entanto, uma solicitação de controle de energia é enviada diretamente ao PEP e não é observada por outros drivers de dispositivo na pilha do dispositivo. Durante uma chamada StorPortPoFxPowerControl , o PEP executa a operação solicitada de forma síncrona.
Da mesma forma, o PEP pode enviar uma solicitação de controle de energia diretamente para o miniporto. O driver de miniporte lida com essa solicitação em suas rotinas HwStorAdapterControl e HwStorUnitControl . O parâmetro ControlType recebe o tipo ScsiAdapterPoFxPowerControl na rotina HwStorAdapterControl e scsiUnitPoFxPowerControl na rotina HwStorUnitControl .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível em começar com Windows 8. |
Plataforma de Destino | Universal |
Cabeçalho | storport.h |
Biblioteca | Storport.lib |
IRQL | <= DISPATCH_LEVEL |