Compartilhar via


Função de retorno de chamada PFNKSDEVICEQUERYPOWER (ks.h)

O AVStream chama a rotina de AVStrMiniDeviceQueryPower de um minidriver quando recebe uma solicitação 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 de KSDEVICE que despachou o IRP_MN_QUERY_POWER.

[in] Irp

Ponteiro para o IRP_MN_QUERY_POWER emitido pelo Device.

[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.

Valor de retorno

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 a um estado de energia aceitável.

Observações

O power manager ou um proprietário da política de energia do dispositivo envia uma solicitação IRP_MN_QUERY_POWER para determinar se ele pode alterar o estado de energia do sistema ou do dispositivo (por exemplo, para ir para o sono).

Se um driver falhar em uma solicitação 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 possam receber 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 queryPower membro de sua estrutura KSDEVICE_DISPATCH.

Essa rotina é opcional.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX.
da Plataforma de Destino Área de trabalho
cabeçalho ks.h (incluir Ks.h)

Consulte também

IRP_MN_QUERY_POWER

KSDEVICE_DISPATCH