Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A rotina de retorno de chamada GET_D3COLD_CAPABILITY é usada para duas funções diferentes no D3COLD_SUPPORT_INTERFACE:
- GetD3ColdCapability – relata se esse dispositivo é capaz de entrar no estado de energia do dispositivo D3cold.
- GetBusDriverD3ColdSupport – informa se o driver de ônibus subjacente e o firmware do sistema ACPI dão suporte a D3cold para este dispositivo.
Sintaxe
GET_D3COLD_CAPABILITY GetD3coldCapability;
NTSTATUS GetD3coldCapability(
[in, optional] PVOID Context,
[out] PBOOLEAN D3ColdSupported
)
{...}
Parâmetros
[in, optional] Context
Um ponteiro para informações de contexto específicas da interface. O chamador define esse parâmetro como o valor do Context membro da estrutura D3COLD_SUPPORT_INTERFACE para a interface.
[out] D3ColdSupported
Um ponteiro para uma variável BOOLEAN na qual a rotina grava um valor para indicar o status de suporte de D3cold. O significado desse valor depende de qual função está sendo chamada:
- GetD3ColdCapability: se VERDADEIRO, o dispositivo é capaz de inserir D3cold. Se FALSE, o dispositivo não será capaz de inserir D3cold.
- GetBusDriverD3ColdSupport: se VERDADEIRO, o motorista do ônibus dá suporte a D3cold. Se FALSE, o motorista do ônibus não oferecerá suporte a D3cold.
Se a chamada falhar, a rotina retornará um código de status de erro e não gravará nada nessa variável.
Valor de retorno
A rotina de GET_D3COLD_CAPABILITY retornará STATUS_SUCCESS se for bem-sucedida. Caso contrário, ele retornará um código de status de erro apropriado.
Observações
Esse tipo de função de retorno de chamada é usado para duas rotinas diferentes no D3COLD_SUPPORT_INTERFACE:
- GetD3ColdCapability – relata se esse dispositivo é capaz de entrar no estado de energia do dispositivo D3cold.
- GetBusDriverD3ColdSupport – informa se o driver de ônibus subjacente e o firmware do sistema ACPI dão suporte a D3cold para este dispositivo.
Uso de GetBusDriverD3ColdSupport
O driver do dispositivo chama a versão dessa rotina que é implementada pelo de driver acpi doWindows , Acpi.sys. Essa rotina verifica o motorista do ônibus pai do dispositivo para determinar se esse motorista de ônibus dá suporte ao estado de energia D3cold.
Por exemplo, a partir do Windows 8, a Microsoft fornece um driver de XHCI (Interface do Controlador de Host eXtensible) USB 3.0 de caixa de entrada que dá suporte a D3cold. Alguns fornecedores de hardware de terceiros fornecem drivers do Windows para seus controladores xHCI, mas esses drivers podem não dar suporte a D3cold. O driver de um dispositivo USB 3.0 pode chamar o GetBusDriverD3ColdSupport rotina para determinar se o driver do controlador xHCI pai dá suporte a D3cold.
Um motorista de ônibus dá suporte a D3cold se todas as seguintes opções forem verdadeiras:
- O driver de ônibus implementa a interface do GUID_D3COLD_SUPPORT_INTERFACE driver.
- O driver de ônibus implementa a rotina de GetBusDriverD3ColdSupport nesta interface.
- O valor de saída do rotina de GetBusDriverD3ColdSupport indica que o motorista do ônibus dá suporte a D3cold.
O driver de um dispositivo pode chamar a rotina GetIdleWakeInfo para determinar se os drivers de ônibus subjacentes e o firmware do sistema ACPI dão suporte a D3cold para o dispositivo. Se essa chamada falhar e retornar um código de status de erro, o driver do dispositivo poderá chamar o GetBusDriverD3ColdSupport rotina para determinar se a falha é causada pela falta de suporte de D3cold pelo motorista do ônibus pai.
Um dispositivo em um ônibus pode fazer uma transição para o subestado D3cold somente se o motorista do ônibus der suporte a essa transição. Se o driver de ônibus não der suporte a D3cold, o dispositivo nunca entrará em D3cold, mesmo que o driver de função do dispositivo chame a rotina SetD3ColdSupport para habilitar a transição para D3cold. Nesse caso, chamadas SetD3ColdSupport não têm efeito, mas são inofensivas.
Por esse motivo, a maioria dos drivers de dispositivo nunca precisa chamar a rotina GetBusDriverD3ColdSupport.
Requisitos
| Requisito | Valor |
|---|---|
| de cliente com suporte mínimo | Windows 8 |
| da Plataforma de Destino | Área de trabalho |
| cabeçalho | wdm.h (inclua Wdm.h) |
| IRQL | PASSIVE_LEVEL |