GET_D3COLD_CAPABILITY função de retorno de chamada (wdm.h)
A rotina GetBusDriverD3ColdSupport permite que o driver de um dispositivo consulte se o driver de barramento de enumeração dá suporte ao estado de energia do dispositivo D3cold.
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 membro Context 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 se o driver de barramento dá suporte ao D3cold. Se esse valor for TRUE, o driver de barramento oferecerá suporte a D3cold. Se FALSE, o motorista do barramento não dá suporte a D3cold. Se a chamada falhar, a rotina retornará um erro status código e não gravará nada nessa variável.
Retornar valor
A rotina GetBusDriverD3ColdSupport retornará STATUS_SUCCESS se for bem-sucedida. Caso contrário, ele retornará um erro apropriado status código.
Comentários
O driver para o dispositivo chama a versão dessa rotina que é implementada pelo driver ACPI do Windows, Acpi.sys. Essa rotina verifica o driver de barramento pai do dispositivo para determinar se esse driver de barramento dá suporte ao estado de energia D3cold.
Por exemplo, começando com Windows 8, a Microsoft fornece um driver de interface do controlador de host (xHCI) usb 3.0 eXtensible 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 a rotina GetBusDriverD3ColdSupport para determinar se o driver do controlador xHCI pai dá suporte a D3cold.
Um motorista de ônibus dá suporte a D3cold se todos os itens a seguir forem verdadeiros:
- O driver de ônibus implementa a interface do driver GUID_D3COLD_SUPPORT_INTERFACE.
- O driver de barramento implementa a rotina GetBusDriverD3ColdSupport nessa interface.
- O valor de saída da rotina GetBusDriverD3ColdSupport indica que o driver de barramento dá suporte a D3cold.
Um dispositivo em um barramento 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 barramento não der suporte a D3cold, o dispositivo nunca entrará em D3cold, mesmo que o driver de função para o dispositivo chame a rotina SetD3ColdSupport para habilitar a transição para D3cold. Nesse caso, as 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 |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 8. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | wdm.h (include Wdm.h) |
IRQL | PASSIVE_LEVEL |