Compartilhar via


Função WdfDeviceSetPowerCapabilities (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

O método WdfDeviceSetPowerCapabilities relata os recursos de energia de um dispositivo.

Sintaxe

void WdfDeviceSetPowerCapabilities(
  [in] WDFDEVICE                      Device,
  [in] PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities
);

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] PowerCapabilities

Um ponteiro para uma estrutura de WDF_DEVICE_POWER_CAPABILITIES alocada pelo driver.

Valor de retorno

Nenhum

Observações

Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.

Um driver normalmente chama WdfDeviceSetPowerCapabilities de dentro de uma das seguintes funções de retorno de chamada:

  • EvtDriverDeviceAdd

  • EvtDevicePrepareHardware

  • EvtDeviceD0Entry (se o valor do parâmetro PreviousState for WdfPowerDeviceD3Final)

  • EvtDeviceSelfManagedIoInit

  • EvtChildListCreateDevice

Se mais de um driver na chamada de pilha de driver do dispositivo WdfDeviceSetPowerCapabilities, o power manager usará os valores fornecidos pelo driver que é mais alto na pilha.

Exemplos

O exemplo de código a seguir inicializa uma estrutura de WDF_DEVICE_POWER_CAPABILITIES e chama WdfDeviceSetPowerCapabilities.

WDF_DEVICE_POWER_CAPABILITIES powerCaps;

WDF_DEVICE_POWER_CAPABILITIES_INIT(&powerCaps);
powerCaps.DeviceD1 = WdfTrue;
powerCaps.WakeFromD1 = WdfTrue;
powerCaps.DeviceWake = PowerDeviceD1;
powerCaps.DeviceState[PowerSystemWorking] = PowerDeviceD1;
powerCaps.DeviceState[PowerSystemSleeping1] = PowerDeviceD1;
powerCaps.DeviceState[PowerSystemSleeping2] = PowerDeviceD2;
powerCaps.DeviceState[PowerSystemSleeping3] = PowerDeviceD2;
powerCaps.DeviceState[PowerSystemHibernate] = PowerDeviceD3;
powerCaps.DeviceState[PowerSystemShutdown] = PowerDeviceD3;

WdfDeviceSetPowerCapabilities(
                              device,
                              &powerCaps
                              );

Requisitos

Requisito Valor
da Plataforma de Destino Universal
versão mínima do KMDF 1.0
versão mínima do UMDF 2.0
cabeçalho wdfdevice.h (inclua Wdf.h)
biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte também

WDF_DEVICE_POWER_CAPABILITIES

WDF_DEVICE_POWER_CAPABILITIES_INIT

WdfDeviceSetPnpCapabilities