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.
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) |