Compartilhar via


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
STOR_STATUS_SUCCESS
A operação de controle de energia especificada no PowerControlCode foi executada com êxito.
STOR_STATUS_INVALID_PARAMETER
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.

STOR_STATUS_INVALID_DEVICE_REQUEST
O dispositivo de armazenamento não está registrado com o PoFx.
STOR_STATUS_INVALID_IRQL
O IRQL atual > DISPATCH_LEVEL.
STOR_STATUS_UNSUCCESSFUL
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

Confira também

HwStorAdapterControl

HwStorUnitControl