estrutura WDF_DEVICE_POWER_CAPABILITIES (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

A estrutura WDF_DEVICE_POWER_CAPABILITIES descreve os recursos de energia de um dispositivo.

Sintaxe

typedef struct _WDF_DEVICE_POWER_CAPABILITIES {
  ULONG              Size;
  WDF_TRI_STATE      DeviceD1;
  WDF_TRI_STATE      DeviceD2;
  WDF_TRI_STATE      WakeFromD0;
  WDF_TRI_STATE      WakeFromD1;
  WDF_TRI_STATE      WakeFromD2;
  WDF_TRI_STATE      WakeFromD3;
  DEVICE_POWER_STATE DeviceState[PowerSystemMaximum];
  DEVICE_POWER_STATE DeviceWake;
  SYSTEM_POWER_STATE SystemWake;
  ULONG              D1Latency;
  ULONG              D2Latency;
  ULONG              D3Latency;
  DEVICE_POWER_STATE IdealDxStateForSx;
} WDF_DEVICE_POWER_CAPABILITIES, *PWDF_DEVICE_POWER_CAPABILITIES;

Membros

Size

O tamanho, em bytes, dessa estrutura.

DeviceD1

Um valor do tipo WDF_TRI_STATE que indica, se definido como WdfTrue, que o dispositivo dá suporte ao estado de suspensão do dispositivo D1. Para obter mais informações sobre o valor WDF_TRI_STATE , consulte a seção Comentários a seguir.

DeviceD2

Um valor de tipo WDF_TRI_STATE que indica, se definido como WdfTrue, que o dispositivo dá suporte ao estado de suspensão do dispositivo D2.

WakeFromD0

Um valor tipado WDF_TRI_STATE que indica, se definido como WdfTrue, que o dispositivo pode responder a um sinal de ativação enquanto estiver em seu estado D0.

WakeFromD1

Um valor de tipo WDF_TRI_STATE que indica, se definido como WdfTrue, que o dispositivo pode responder a um sinal de ativação enquanto estiver em seu estado D1.

WakeFromD2

Um valor digitado WDF_TRI_STATE que indica, se definido como WdfTrue, que o dispositivo pode responder a um sinal de ativação enquanto estiver em seu estado D2.

WakeFromD3

Um valor de tipo WDF_TRI_STATE que indica, se definido como WdfTrue, que o dispositivo pode responder a um sinal de ativação enquanto estiver em seu estado D3.

DeviceState[PowerSystemMaximum]

Uma matriz de valores do tipo DEVICE_POWER_STATE que indica o estado do dispositivo mais alimentado que o dispositivo dá suporte para cada estado de energia do sistema. Essa matriz usa a enumeração SYSTEM_POWER_STATE como valores de índice. Se o valor de um elemento de matriz for PowerDeviceMaximum, a estrutura usará qualquer valor que o sistema operacional tenha armazenado para esse elemento. As enumerações DEVICE_POWER_STATE e SYSTEM_POWER_STATE são definidas em wdm.h. Para obter mais informações sobre o membro DeviceState , consulte DeviceState.

DeviceWake

Um valor de tipo DEVICE_POWER_STATE que indica o estado de energia do dispositivo mais baixo do qual o dispositivo pode enviar um sinal de ativação para o sistema. Se esse valor for PowerDeviceMaximum, a estrutura usará qualquer valor armazenado no sistema para esse membro.

SystemWake

Um valor de tipo SYSTEM_POWER_STATE que indica o estado de energia do sistema mais baixo do qual o dispositivo pode enviar um sinal de ativação para o sistema. Se esse valor for PowerSystemMaximum, a estrutura usará qualquer valor armazenado atualmente no sistema para esse membro. SYSTEM_POWER_STATE valores são definidos em wdm.h.

D1Latency

O tempo aproximado, em unidades de 100 nanossegundos, que o dispositivo requer para retornar ao seu estado D0 de seu estado D1. Se esse valor for -1, a estrutura usará qualquer valor armazenado atualmente no sistema para esse membro.

D2Latency

O tempo aproximado, em unidades de 100 nanossegundos, que o dispositivo requer para retornar ao seu estado D0 de seu estado D2. Se esse valor for -1, a estrutura usará qualquer valor armazenado atualmente no sistema para esse membro.

D3Latency

O tempo aproximado, em unidades de 100 nanossegundos, que o dispositivo requer para retornar ao seu estado D0 de seu estado D3. Se esse valor for -1, a estrutura usará qualquer valor armazenado atualmente no sistema para esse membro.

IdealDxStateForSx

Um valor digitado DEVICE_POWER_STATE que indica o estado de suspensão do dispositivo que o dispositivo deve inserir quando o sistema entra em qualquer estado de suspensão do sistema e o dispositivo não está habilitado para ativar o sistema. Se esse valor for zero, a estrutura usará PowerDeviceD3. Esse valor não pode ser PowerDeviceD0.

Se um driver especificar um valor IdealDxStateForSx que representa um estado de suspensão de dispositivo mais avançado do que a pilha do dispositivo especificada na matriz DeviceState do dispositivo, a estrutura usará o estado de potência inferior que está na matriz. Por exemplo, se o driver especificar um valor IdealDxStateForSx de D1 e a matriz DeviceState do dispositivo especificar D2, a estrutura usará D2.

Comentários

A estrutura WDF_DEVICE_POWER_CAPABILITIES é usada como entrada para WdfDeviceSetPowerCapabilities.

Vários membros usam o tipo WDF_TRI_STATE . Para esses membros, as seguintes regras se aplicam:

  • Um valor de WdfTrue indica que o dispositivo dá suporte à funcionalidade e um valor de WdfFalse indica que não.
  • Drivers de função e drivers de filtro podem especificar WdfTrue ou WdfFalse ou um valor de WdfUseDefault para indicar que a estrutura deve usar o valor que foi fornecido por um driver inferior na pilha. Por exemplo, se um driver de barramento especificar WdfTrue para DeviceD1 e o driver de função do dispositivo especificar WdfUseDefault, a estrutura usará WdfTrue para a funcionalidade.
  • Quando um driver de barramento chama WdfDeviceSetPowerCapabilities depois de criar um objeto de dispositivo para um dispositivo filho, ele deve especificar WdfTrue ou WdfFalse. Um driver de barramento pode especificar WdfUseDefault para um dispositivo filho, mas, nesse caso, WdfUseDefault é o mesmo que WdfFalse.
Para inicializar uma estrutura de WDF_DEVICE_POWER_CAPABILITIES, um driver deve chamar WDF_DEVICE_POWER_CAPABILITIES_INIT.

Requisitos

Requisito Valor
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfdevice.h (inclua Wdf.h)

Confira também

WDF_DEVICE_PNP_CAPABILITIES