Compartilhar via


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 de 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 de WDFDEVICE_INIT.

Valor de retorno

Nenhum

Observações

Se o driver de função ou o driver de ônibus 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 seu 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 de páginas.

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 motorista de ônibus enumera, a menos que o motorista do ônibus chame WdfDeviceInitSetPowerPageable ou WdfDeviceInitSetPowerNotPageable para o dispositivo filho. Se você escrever um driver de ônibus que chama WdfDeviceInitSetPowerPageable para um dispositivo filho, nenhum drivers 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 inferior seguinte.

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 ônibus que enumera dispositivos que podem ser dispositivos de armazenamento ou vídeo.

Se o driver chamar WdfDeviceInitSetPowerNotPageable, ele deverá fazê-lo antes de chamar WdfDeviceCreate.

Para obter mais informações sobre como chamar WdfDeviceCreate, consulte Criando um objeto de dispositivo framework.

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
da Plataforma de Destino Universal
versão mínima do KMDF 1.0
cabeçalho wdfdevice.h (inclua Wdf.h)
biblioteca Wdf01000.sys (consulte o Controle de Versão da Biblioteca da Estrutura.)
IRQL <= DISPATCH_LEVEL
regras de conformidade de DDI ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), kmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf)

Consulte também

WdfDeviceInitSetPowerPageable