Função de retorno de chamada PFNKSDEVICEQUERYPOWER (ks.h)
O AVStream chama a rotina AVStrMiniDeviceQueryPower de um minidriver quando recebe uma solicitação de IRP_MN_QUERY_POWER .
Sintaxe
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
Ponteiro para a estrutura KSDEVICE que despachou o IRP_MN_QUERY_POWER.
[in] Irp
Ponteiro para o IRP_MN_QUERY_POWER emitido pelo Dispositivo.
[in] DeviceTo
O estado de energia solicitado pelo emissor do Irp.
[in] DeviceFrom
O estado de energia do dispositivo atual.
[in] SystemTo
Estado do sistema para o qual fazer a transição, especificado quando uma transição de estado de energia do sistema está sendo consultada. Esse valor não será especificado se a chamada for devido a uma consulta de alteração de estado de energia do dispositivo.
[in] SystemFrom
Estado atual do sistema, especificado quando uma transição de estado de energia do sistema está sendo consultada. Esse valor não será especificado se a chamada for devido a uma consulta de alteração de estado de energia do dispositivo.
[in] Action
Especifica informações adicionais sobre a transição solicitada. Os valores possíveis são enumeradores do tipo POWER_ACTION.
Retornar valor
Deve retornar STATUS_SUCCESS ou o código de erro retornado da tentativa de executar a operação. Ao retornar STATUS_SUCCESS, o driver garante que não iniciará nenhuma operação que altere sua capacidade de definir o estado de energia solicitado. O driver deve enfileirar qualquer IRP que exija tal operação até concluir um IRP_MN_SET_POWER que retorna o dispositivo para um estado de energia aceitável.
Comentários
O power manager ou um proprietário da política de energia do dispositivo envia uma solicitação de IRP_MN_QUERY_POWER para determinar se ele pode alterar o estado de energia do sistema ou do dispositivo (por exemplo, para entrar em suspensão).
Se um driver falhar em uma solicitação de IRP_MN_QUERY_POWER para um estado de energia do sistema, o power manager normalmente responderá emitindo um IRP_MN_SET_POWER. Normalmente, esse IRP reafirmará o estado atual do sistema. No entanto, é possível que os drivers recebam uma IRP_MN_SET_POWER para o estado consultado ou para algum outro estado intermediário. Os motoristas devem estar preparados para lidar com essas situações.
O minidriver especifica o endereço dessa rotina no membro QueryPower de sua estrutura KSDEVICE_DISPATCH .
Essa rotina é opcional.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ks.h (inclua Ks.h) |