função de retorno de chamada IDE_HW_CONTROL (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 de 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. |
Retornar valor
IdeHwControl retornará TRUE se a operação tiver sido bem-sucedida. Caso contrário, retornará FALSE.
Comentários
O driver de porta garante que não haja E/S pendente no canal antes de invocar essa rotina. O driver de miniporte 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 em Configurações de disco.
- 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 TRUE, 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 for compatível com o driver de porta do ATA, o driver de miniporte 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 sua rotina 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 IdeHwControl com a ação de controle IdeVendorDefined, ele deve fazer o seguinte:
- Compare o campo SettingGuid do campo parâmetro de 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 miniporte deverá concluir a chamada e não tomar 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 apropriado.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | irb.h (inclua Irb.h) |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de