Função WdfDeviceInitSetPowerNotPageable (wdfdevice.h)
[Aplica-se somente ao KMDF]
O método WdfDeviceInitSetPowerNotPageable informa ao power manager que o driver não acessará dados pagináveis enquanto o sistema estiver fazendo a transição entre um estado de suspensão e o estado de trabalho (S0).
Sintaxe
void WdfDeviceInitSetPowerNotPageable(
[in] PWDFDEVICE_INIT DeviceInit
);
Parâmetros
[in] DeviceInit
Um ponteiro fornecido pelo chamador para uma estrutura WDFDEVICE_INIT .
Retornar valor
Nenhum
Comentários
Se o driver de função ou o driver de barramento chamar WdfDeviceInitSetPowerNotPageable, o dispositivo do arquivo de paginação do sistema poderá não estar em seu estado de trabalho (D0) quando o dispositivo do driver entrar em um estado de baixa potência ou retornar ao estado de trabalho. Portanto, durante as transições de energia do dispositivo, o driver não deve executar nenhuma operação que possa fazer com que o sistema operacional acesse o arquivo de paginação. Essas operações incluem acessar arquivos, o registro ou o pool paginado.
Por padrão, a estrutura permite o acesso a dados pagináveis para drivers de função. A estrutura usa a configuração do dispositivo pai para cada dispositivo filho que um driver de barramento enumera, a menos que o driver de barramento chame WdfDeviceInitSetPowerPageable ou WdfDeviceInitSetPowerNotPageable para o dispositivo filho. Se você escrever um driver de barramento que chama WdfDeviceInitSetPowerPageable para um dispositivo filho, nenhum driver na pilha do dispositivo filho poderá chamar WdfDeviceInitSetPowerNotPageable.
Chamar WdfDeviceInitSetPowerPageable ou WdfDeviceInitSetPowerNotPageable de um driver de filtro não tem efeito. A estrutura usa a configuração especificada pelo driver mais baixo.
A maioria dos drivers não precisa chamar WdfDeviceInitSetPowerPageable ou WdfDeviceInitSetPowerNotPageable. Em vez disso, você deve permitir que a estrutura use a configuração padrão apropriada para o driver. No entanto, seu driver deve chamar WdfDeviceInitSetPowerNotPageable se o driver fizer parte de uma pilha de driver que não deve acessar dados pagináveis durante transições de energia (como a pilha de armazenamento ou a pilha de vídeo) ou se o driver for um driver de barramento que enumera dispositivos que podem ser dispositivos de armazenamento ou vídeo.
Se o driver chamar WdfDeviceInitSetPowerNotPageable, ele deverá fazer isso antes de chamar WdfDeviceCreate.
Para obter mais informações sobre como chamar WdfDeviceCreate, consulte Criando um objeto de dispositivo de estrutura.
Exemplos
O exemplo de código a seguir informa ao power manager que um driver não acessará dados pagináveis enquanto o sistema estiver fazendo a transição entre um estado de suspensão e o estado de trabalho (S0).
WdfDeviceInitSetPowerNotPageable(DeviceInit);
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Cabeçalho | wdfdevice.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.) |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade da DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |