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) |