Partilhar via


SystemWake

O membro SystemWake do DEVICE_CAPABILITIES contém o estado de energia do sistema mais baixo (menos alimentado) do qual o dispositivo pode ativar o sistema ou PowerSystemUnspecified se o dispositivo não puder ativar o sistema.

O driver de barramento define esse valor em quando enumera o dispositivo. Um driver de nível superior pode alterar o valor para um estado de maior potência, mas não pode alterá-lo para um estado de menor potência. Por exemplo, se o driver de barramento definir SystemWake como S3, mas um driver mais acima da pilha do dispositivo der suporte à ativação somente do S2, o driver de nível superior poderá alterar o valor para S2. Se um driver alterar SystemWake, ele também precisará alterar DeviceWake, conforme explicado na próxima seção.

Os drivers raramente precisam propagar valores alterados de volta para baixo na pilha do dispositivo. Como as alterações tornam as funcionalidades do dispositivo mais restritivas, os drivers inferiores não veem solicitações que não podem lidar. No exemplo anterior, um driver de nível superior falha em qualquer solicitação para ativar o sistema de um estado de menor potência do que o S2, de modo que os drivers inferiores nunca vejam essa solicitação. No entanto, se um driver inferior precisar estar ciente de quaisquer alterações, ele poderá enviar um IRP_MN_QUERY_CAPABILITIES PnP para sua própria pilha de dispositivos durante o processamento de um IRP_MN_START_DEVICE.

Se os membros SystemWake e DeviceWake forem diferentes de zero (ou seja, não PowerSystemUnspecified), o dispositivo e seus drivers dão suporte à ativação nesse sistema.

Em hardware não ACPI, esse membro sempre contém zero (PowerSystemUnspecified).