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)

Confira também

IRP_MN_QUERY_POWER

KSDEVICE_DISPATCH