Partilhar via


GET_D3COLD_CAPABILITY função de retorno de chamada (wdm.h)

A rotina de GetBusDriverD3ColdSupport permite que o driver de um dispositivo consulte se o driver de ônibus enumerando 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 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 se o motorista do ônibus dá suporte ao D3cold. Se esse valor for VERDADEIRO, o driver de ônibus oferecerá 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 GetBusDriverD3ColdSupport retorna STATUS_SUCCESS se for bem-sucedida. Caso contrário, ele retornará um código de status de erro apropriado.

Observações

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 o SetD3ColdSupport rotina 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 Disponível a partir do Windows 8.
da Plataforma de Destino Área de trabalho
cabeçalho wdm.h (inclua Wdm.h)
IRQL PASSIVE_LEVEL

Consulte também

D3COLD_SUPPORT_INTERFACE

GetIdleWakeInfo

SetD3ColdSupport