Función WdfDeviceInitSetPowerPageable (wdfdevice.h)
[Solo se aplica a KMDF]
El método WdfDeviceInitSetPowerPageable informa al administrador de energía de que el controlador debe poder acceder a datos paginables mientras el sistema realiza la transición entre un estado de suspensión y el estado de trabajo (S0).
Sintaxis
void WdfDeviceInitSetPowerPageable(
[in] PWDFDEVICE_INIT DeviceInit
);
Parámetros
[in] DeviceInit
Puntero proporcionado por el autor de la llamada a una estructura WDFDEVICE_INIT.
Valor devuelto
Ninguno
Observaciones
Si el controlador de función o el controlador de bus llama a WdfDeviceInitSetPowerPageable, el sistema garantiza que el dispositivo del archivo de paginación se encuentra en su estado de trabajo (D0) cuando el dispositivo del controlador entra en un estado de baja potencia o vuelve a su estado de trabajo. Esto permite que el controlador acceda a archivos, el registro y el grupo paginado durante las transiciones de energía del dispositivo.
De forma predeterminada, el marco permite el acceso a datos paginables para los controladores de función. El marco usa la configuración del dispositivo primario para cada dispositivo secundario que un controlador de bus enumera, a menos que el controlador de bus llame a WdfDeviceInitSetPowerPageable o WdfDeviceInitSetPowerNotPageable para el dispositivo secundario. Si escribe un controlador de bus que llama a WdfDeviceInitSetPowerPageable para un dispositivo secundario, ningún controlador de la pila del dispositivo secundario puede llamar a WdfDeviceInitSetPowerNotPageable.
Llamar a WdfDeviceInitSetPowerPageable o WdfDeviceInitSetPowerNotPageable desde un controlador de filtro no tiene ningún efecto. El marco usa la configuración que especifica el controlador siguiente inferior.
La mayoría de los controladores no necesitan llamar a WdfDeviceInitSetPowerPageable o WdfDeviceInitSetPowerNotPageable. En su lugar, debe permitir que el marco use la configuración predeterminada adecuada para el controlador. Sin embargo, el controlador debe llamar a WdfDeviceInitSetPowerNotPageable si el controlador forma parte de una pila de controladores que no debe tener acceso a datos paginables durante las transiciones de energía (como la pila de almacenamiento o la pila de vídeo), o si el controlador es un controlador de bus que enumera los dispositivos que pueden ser dispositivos de almacenamiento o vídeo.
Si el controlador llama a WdfDeviceInitSetPowerInrush, no debe llamar a WdfDeviceInitSetPowerPageable.
El controlador debe llamar a WdfDeviceInitSetPowerPageable antes de llamar a WdfDeviceCreate.
Para obtener más información sobre cómo llamar a WdfDeviceCreate, vea Creating a Framework Device Object.
Ejemplos
En el ejemplo de código siguiente se informa al administrador de energía de que un controlador debe poder acceder a datos paginables mientras el sistema realiza la transición entre un estado de suspensión y el estado de trabajo (S0).
WdfDeviceInitSetPowerPageable(DeviceInit);
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
encabezado de | wdfdevice.h (incluya Wdf.h) |
biblioteca de | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
irQL | <= DISPATCH_LEVEL |
reglas de cumplimiento de DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql() kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |