Compartilhar via


IDE_HW_CONTROL função de retorno de chamada (irb.h)

A rotina do driver de miniporto IdeHwControl notifica o driver de miniporto sobre Plug and Play (PnP) e eventos de energia.

Observação o driver de porta do ATA e os modelos de driver de miniporto do ATA podem estar alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar o de driver do Storport e miniporto storport modelos de driver.
 

Sintaxe

IDE_HW_CONTROL IdeHwControl;

BOOLEAN IdeHwControl(
  [in]      PVOID ChannelExtension,
  [in]      IDE_CONTROL_ACTION ControlAction,
  [in, out] PVOID Parameters
)
{...}

Parâmetros

[in] ChannelExtension

Um ponteiro para a extensão do canal.

[in] ControlAction

Contém um valor enumerador do tipo IDE_CONTROL_ACTION que indica a ação de controle a ser executada.

[in, out] Parameters

Um ponteiro para um buffer que contém os parâmetros associados à ação de controle. Esse parâmetro pode ter um dos valores na tabela a seguir.

Ação de controle Parâmetros Descrição
IdeStart O parâmetro aponta para uma estrutura do tipo IDE_CHANNEL_CONFIGURATION. Indica que o driver de porta está iniciando o canal.
IdeVendorDefined O parâmetro aponta para uma estrutura do tipo IDE_VENDOR_DEFINED_POWER_INFO. Indica que há um evento de energia definido pelo fornecedor chegando.

Valor de retorno

IdeHwControl retornará TRUE se a operação tiver sido bem-sucedida. Caso contrário, ele retornará FALSE.

Observações

O driver de porta garante que não haja nenhuma E/S pendente no canal antes de invocar essa rotina. O driver de miniporto pode ter seus próprios métodos de política de energia quando o sistema entra em um estado de energia diferente. Para conseguir isso, o driver de miniporto precisa fazer o seguinte:

  • Adicione um esquema de configuração de política de energia ao arquivo INF do driver de miniport. Um GUID é necessário para apresentar uma política de energia definida pelo driver de miniport. Para obter mais informações sobre a diretiva de configurações de energia, consulte diretiva AddPowerSetting do INF. Mais informações sobre os GUIDs podem ser encontradas nas configurações do Disk.
  • Quando a rotina do driver de miniporto IdeHwControl é chamada com a ação de controle IdeStart:
    Verifique o campo SupportedAdvances.AdvancedChannelConfigurationSupported na estrutura ChannelConfiguration.
    Verifique o campo AdvancedChannelConfiguration->Present.VendorDefinedPower na estrutura ChannelConfiguration.
    Se os valores dos dois campos listados anteriormente forem VERDADEIRO, essa versão do driver de porta do ATA oferecerá suporte ao gerenciamento de energia definido pelo fornecedor.
    Se o gerenciamento de energia definido pelo fornecedor tiver suporte pelo driver de porta do ATA, o driver de miniporto poderá se registrar para tratamento especial de gerenciamento de energia definindo os campos AdvancedChannelConfiguration->VendorDefinedPower.ValidGuids e AdvancedChannelConfiguration->VendorDefinedPower.Guid[] (este último deve ser o GUID da política de energia no arquivo INF do driver de miniport).
  • Depois que o gerenciamento de energia definido pelo fornecedor for registrado, o driver de miniporto poderá receber chamadas para o rotina de IdeHwControl com a ação de controle IdeVendorDefined quando o esquema de energia do sistema for alterado.
  • Embora o driver de miniporte processe a rotina de IdeHwControl com a ação de controle IdeVendorDefined, ele deve fazer o seguinte:
    Compare o campo SettingGuid do campo de parâmetro da estrutura IDE_VENDOR_DEFINED_POWER_INFO com o GUID que o driver de miniporto registrou para garantir que a chamada seja para esse canal. Se os GUIDs não corresponderem, o driver de miniporto deverá concluir a chamada e não executar nenhuma ação.
    Obtenha o campo Valor do campo de parâmetro da estrutura IDE_VENDOR_DEFINED_POWER_INFO e execute a ação de gerenciamento de energia específica do driver de miniporto apropriada.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho irb.h (inclua Irb.h)

Consulte também

AtaPortGetUncachedExtension