Función de devolución de llamada PFNKSDEVICEQUERYPOWER (ks.h)
AVStream llama a la rutina AVStrMiniDeviceQueryPower de un minidriver cuando recibe una solicitud de IRP_MN_QUERY_POWER .
Sintaxis
PFNKSDEVICEQUERYPOWER Pfnksdevicequerypower;
NTSTATUS Pfnksdevicequerypower(
[in] PKSDEVICE Device,
[in] PIRP Irp,
[in] DEVICE_POWER_STATE DeviceTo,
[in] DEVICE_POWER_STATE DeviceFrom,
[in] SYSTEM_POWER_STATE SystemTo,
[in] SYSTEM_POWER_STATE SystemFrom,
[in] POWER_ACTION Action
)
{...}
Parámetros
[in] Device
Puntero a la estructura KSDEVICE que envió el IRP_MN_QUERY_POWER.
[in] Irp
Puntero al IRP_MN_QUERY_POWER emitido por el dispositivo.
[in] DeviceTo
Estado de energía solicitado por el emisor de Irp.
[in] DeviceFrom
Estado actual de alimentación del dispositivo.
[in] SystemTo
Estado del sistema al que se realiza la transición, especificado cuando se consulta una transición de estado de energía del sistema. Este valor no se especifica si la llamada se debe a una consulta de cambio de estado de energía del dispositivo.
[in] SystemFrom
Estado actual del sistema, especificado cuando se consulta una transición de estado de energía del sistema. Este valor no se especifica si la llamada se debe a una consulta de cambio de estado de energía del dispositivo.
[in] Action
Especifica información adicional sobre la transición solicitada. Los valores posibles son enumeradores del tipo POWER_ACTION.
Valor devuelto
Debe devolver STATUS_SUCCESS o el código de error que se devolvió del intento de realizar la operación. Al devolver STATUS_SUCCESS, el controlador garantiza que no iniciará ninguna operación que cambiaría su capacidad para establecer el estado de alimentación solicitado. El controlador debe poner en cola cualquier IRP que requiera dicha operación hasta que complete un IRP_MN_SET_POWER que devuelva el dispositivo a un estado de alimentación aceptable.
Comentarios
El administrador de energía o un propietario de la directiva de energía del dispositivo envía una solicitud de IRP_MN_QUERY_POWER para determinar si puede cambiar el estado de alimentación del sistema o del dispositivo (por ejemplo, para ir a suspensión).
Si un controlador produce un error en una solicitud de IRP_MN_QUERY_POWER para un estado de alimentación del sistema, el administrador de energía suele responder emitiendo un IRP_MN_SET_POWER. Normalmente, este IRP reafirmará el estado actual del sistema. Sin embargo, es posible que los controladores reciban un IRP_MN_SET_POWER al estado consultado o a algún otro estado intermedio. Los controladores deben estar preparados para controlar estas situaciones.
El minidriver especifica la dirección de esta rutina en el miembro QueryPower de su estructura KSDEVICE_DISPATCH .
Esta rutina es opcional.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Microsoft Windows XP y sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX. |
Plataforma de destino | Escritorio |
Encabezado | ks.h (incluya Ks.h) |